接入 task HAL Web 仿真运行时
This commit is contained in:
@@ -343,6 +343,8 @@ function renderInfoTabs(element, state) {
|
||||
<dt>INI joints:</dt><dd data-linuxcnc-ini="joints">${state.iniConfigReadiness.jointCount ?? 0} joints / ${state.iniConfigReadiness.axisCount ?? 0} axes</dd>
|
||||
<dt>Machine files:</dt><dd data-machine-file-staging="status">${formatMachineFileStaging(state.machineFileStaging)}</dd>
|
||||
<dt>LinuxCNC G-code:</dt><dd data-linuxcnc-gcode-source="selected">${state.machineFileStaging.selectedGcodeSourceRel || state.programSourceRel || "-"}</dd>
|
||||
<dt>Task/HAL:</dt><dd data-task-hal-runtime="readiness">${formatTaskHalReadiness(state)}</dd>
|
||||
<dt>Task/HAL cycles:</dt><dd data-task-hal-runtime="cycles">${formatTaskHalCycles(state)}</dd>
|
||||
<dt>Full boundary:</dt><dd data-full-execution-boundary="status">${formatFullExecutionBoundary(state.fullExecutionBoundary)}</dd>
|
||||
<dt>Planner/task:</dt><dd data-full-execution-boundary="blockers">${formatFullExecutionBlockers(state.fullExecutionBoundary)}</dd>
|
||||
<dt>Boundary evidence:</dt><dd data-full-execution-boundary="evidence">${formatFullExecutionEvidence(state.fullExecutionBoundary)}</dd>
|
||||
@@ -434,6 +436,24 @@ function formatMachineFileExecution(machineFileExecution) {
|
||||
return `${summary.machineFileExecutionReady ? "ready" : "ran"} ${summary.motionEventCount || 0} motion ${machineFileExecution.machineFilePlan.profileId}`;
|
||||
}
|
||||
|
||||
function formatTaskHalReadiness(state) {
|
||||
const readiness = state.taskHalRuntimeReadiness;
|
||||
if (!readiness?.loaded && !state.taskHalStatus) return "pending";
|
||||
return [
|
||||
readiness?.taskRuntimeReady ? "task" : "task pending",
|
||||
readiness?.motionRuntimeReady ? "motion" : "motion pending",
|
||||
readiness?.halRuntimeReady ? "hal" : "hal pending",
|
||||
state.taskHalStatus?.summary?.halSyncReady ? "sync" : "sync pending",
|
||||
state.taskHalFallbackReason ? `fallback ${state.taskHalFallbackReason}` : null,
|
||||
].filter(Boolean).join(" / ");
|
||||
}
|
||||
|
||||
function formatTaskHalCycles(state) {
|
||||
const status = state.taskHalStatus;
|
||||
if (!status?.ui) return "pending";
|
||||
return `task ${status.ui.taskCycle} / servo ${status.ui.servoCycle} / queue ${status.ui.motionQueueDepth} / HAL changed ${status.ui.halChangedPinCount}`;
|
||||
}
|
||||
|
||||
function formatFullExecutionBoundary(boundary) {
|
||||
if (!boundary) return "pending";
|
||||
const remap = boundary.machineFileBackedRemapReady ? "remap ready" : "remap pending";
|
||||
|
||||
Reference in New Issue
Block a user