Enforce LinuxCNC WASM XYZAC command authority

This commit is contained in:
2026-08-28 13:04:47 +08:00
parent 1a7995fa9b
commit 78d884bc67
43 changed files with 567 additions and 186 deletions

View File

@@ -49,19 +49,15 @@ const released = send("ESTOP", { active: false });
assert.equal(released.payload.status, "verified");
assert.equal(released.payload.device_io.state.estop, 0);
assert.equal(released.payload.device_io.state.ready, 0);
assert.equal(released.payload.task.state, "ESTOP");
const recovered = send("IO_RECOVER");
assert.equal(recovered.payload.task.state, "READY");
assert.equal(recovered.payload.device_io.state.estop, 0);
assert.equal(recovered.payload.device_io.state.ready, 1);
const recoveryEpoch = recovered.payload.device_io.state.recovery_epoch;
assert.equal(released.payload.task.state, "STOPPED");
assert.equal(released.payload.panel_snapshot.axis_state.machine_state, "ESTOP_RESET");
const powered = send("POWER", { active: true });
assert.equal(powered.payload.status, "verified");
assert.equal(powered.payload.task.state, "READY");
assert.equal(powered.payload.device_io.source, "wasm_io");
assert.equal(powered.payload.device_io.state.ready, 1);
assert.ok(powered.payload.device_io.state.recovery_epoch > recoveryEpoch);
assert.equal(powered.payload.panel_snapshot.axis_state.machine_state, "ON");
const homed = send("HOME", { all: true });
assert.equal(homed.payload.status, "verified");
@@ -113,7 +109,7 @@ console.log(JSON.stringify({
schema: "xyzac-machine-sequence.v1",
status: "verified",
case: CASE,
sequence: ["ESTOP", "ESTOP_RELEASE", "IO_RECOVER", "POWER", "HOME_ALL", "PROGRAM_RUN", "SIM_STEP"],
sequence: ["ESTOP", "ESTOP_RESET", "POWER", "HOME_ALL", "PROGRAM_RUN", "SIM_STEP"],
authority: { motion: "wasm", io: "wasm_io", home_limit: "wasm_home_limit", program: "linuxcnc-wasm-sim_program", visual: "wasm_canonical_motion" },
estop_queue_depth: emergency.payload.panel_snapshot.wasm_motion.state.queue_depth,
home_joint_count: homed.payload.wasm_home_limit.state.joint_count,