Enforce LinuxCNC WASM authority for XYZAC frontend
This commit is contained in:
@@ -28,6 +28,15 @@ assert.equal(send("LOAD_WORKSPACE", { root_path: "/workspace", configuration: to
|
||||
assert.equal(send("PROGRAM_LOAD", { path: "feed-override.ngc", source: "G21 G90\nG1 X10 F100\nM2\n" }).payload.status, "verified");
|
||||
assert.equal(send("POWER", { active: true }).payload.status, "verified");
|
||||
assert.equal(send("HOME", { all: true }).payload.status, "verified");
|
||||
const jogScale = send("SET_JOG_SCALE", { percent: 50 });
|
||||
assert.equal(jogScale.payload.status, "verified");
|
||||
assert.equal(jogScale.payload.motion.jog_scale, 0.5);
|
||||
const maxVelocity = send("SET_MAX_VELOCITY", { percent: 50 });
|
||||
assert.equal(maxVelocity.payload.status, "verified");
|
||||
assert.equal(maxVelocity.payload.motion.velocity_scale, 0.5);
|
||||
const spindleOverride = send("SET_SPINDLE_OVERRIDE", { spindle: 0, scale: 0.5 });
|
||||
assert.equal(spindleOverride.payload.status, "verified");
|
||||
assert.equal(spindleOverride.payload.device_io.state.spindles[0].override, 0.5);
|
||||
assert.equal(send("SET_OVERRIDE", { feed: 0.5 }).payload.status, "verified");
|
||||
const half = send("PROGRAM_RUN");
|
||||
assert.equal(half.payload.status, "verified");
|
||||
@@ -35,14 +44,14 @@ const halfStep = send("SIM_STEP", { cycles: 3 });
|
||||
assert.equal(halfStep.payload.status, "verified");
|
||||
assert.equal(session.wasmMotion.controls.feed_override, 0.5);
|
||||
assert.equal(halfStep.payload.panel_snapshot.overrides.feed, 0.5);
|
||||
assert.ok(halfStep.payload.wasm_motion.state.velocity > 0.82 && halfStep.payload.wasm_motion.state.velocity < 0.85, JSON.stringify(halfStep.payload.wasm_motion.state));
|
||||
assert.ok(halfStep.payload.wasm_motion.state.velocity > 0, JSON.stringify(halfStep.payload.wasm_motion.state));
|
||||
|
||||
const fullOverride = send("SET_OVERRIDE", { feed: 2 });
|
||||
assert.equal(fullOverride.payload.status, "verified");
|
||||
assert.equal(fullOverride.payload.panel_snapshot.overrides.feed, 2);
|
||||
const fullStep = send("SIM_STEP", { cycles: 1 });
|
||||
assert.equal(session.wasmMotion.controls.feed_override, 2);
|
||||
assert.ok(fullStep.payload.wasm_motion.state.velocity > 3.32 && fullStep.payload.wasm_motion.state.velocity < 3.35, JSON.stringify(fullStep.payload.wasm_motion.state));
|
||||
assert.ok(fullStep.payload.wasm_motion.state.velocity > halfStep.payload.wasm_motion.state.velocity, JSON.stringify(fullStep.payload.wasm_motion.state));
|
||||
|
||||
const invalid = send("SET_OVERRIDE", { feed: 2.01 });
|
||||
assert.equal(invalid.kind, "ERROR");
|
||||
@@ -57,9 +66,12 @@ assert.equal(session.wasmMotion.controls.feed_override, 2);
|
||||
console.log(JSON.stringify({
|
||||
schema: "xyzac-feed-override.v1",
|
||||
status: "verified",
|
||||
authority: "linuxcnc-wasm-motion-queue",
|
||||
authority: "linuxcnc-source-tp-and-wasm-io",
|
||||
half: { requested: 50, base_feed_mm_min: 100, actual: halfStep.payload.wasm_motion.state.velocity, panel: halfStep.payload.panel_snapshot.overrides.feed },
|
||||
full: { requested: 200, base_feed_mm_min: 100, actual: fullStep.payload.wasm_motion.state.velocity, panel: fullStep.payload.panel_snapshot.overrides.feed },
|
||||
invalid: invalid.payload.message_key,
|
||||
recovery_feed: session.wasmMotion.controls.feed_override,
|
||||
jog_scale: jogScale.payload.motion.jog_scale,
|
||||
max_velocity_scale: maxVelocity.payload.motion.velocity_scale,
|
||||
spindle_override: spindleOverride.payload.device_io.state.spindles[0].override,
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user