完善 working5 gmoccapy HAL 输入对标
This commit is contained in:
@@ -200,4 +200,116 @@ assert.equal(controlStore.getState().spindle.direction, "stop");
|
||||
controlStore.dispatch({ type: "TOGGLE_COOLANT", kind: "flood" });
|
||||
assert.equal(controlStore.getState().coolant.flood, true);
|
||||
|
||||
const hardButtonStore = createSimulationStore();
|
||||
hardButtonStore.dispatch({ type: "SET_PROFILE", profileId: "gmoccapy-xyzab" });
|
||||
hardButtonStore.dispatch({ type: "GMOCAPY_HARDWARE_BUTTON", pin: "gmoccapy.v-button.button-1", value: false });
|
||||
assert.equal(hardButtonStore.getState().machine.powerOn, false);
|
||||
assert.equal(hardButtonStore.getState().operatorMessage, "gmoccapy hardware button falling edge ignored");
|
||||
hardButtonStore.dispatch({ type: "GMOCAPY_HARDWARE_BUTTON", pin: "gmoccapy.v-button.button-1", value: true });
|
||||
assert.equal(hardButtonStore.getState().machine.powerOn, true);
|
||||
hardButtonStore.dispatch({ type: "GMOCAPY_HARDWARE_BUTTON", pin: "gmoccapy.v-button.button-4", value: true });
|
||||
assert.equal(hardButtonStore.getState().machine.mode, "manual");
|
||||
assert.equal(hardButtonStore.getState().operatorMessage, "mode blocked: home machine before AUTO");
|
||||
hardButtonStore.dispatch({ type: "GMOCAPY_HARDWARE_BUTTON", location: "bottom", index: 0, value: true });
|
||||
assert.equal(hardButtonStore.getState().machine.allHomed, true);
|
||||
hardButtonStore.dispatch({ type: "GMOCAPY_HARDWARE_BUTTON", pin: "gmoccapy.v-button.button-4", value: true });
|
||||
assert.equal(hardButtonStore.getState().machine.mode, "auto");
|
||||
hardButtonStore.dispatch({ type: "GMOCAPY_HARDWARE_BUTTON", pin: "gmoccapy.v-button.button-6", value: true });
|
||||
assert.equal(hardButtonStore.getState().operatorMessage, "gmoccapy hardware button diagnostic-only: gmoccapy.v-button.button-6");
|
||||
hardButtonStore.dispatch({ type: "GMOCAPY_HARDWARE_BUTTON", pin: "gmoccapy.h-button.button-9", value: true });
|
||||
assert.equal(hardButtonStore.getState().operatorMessage, "gmoccapy hardware button unmapped: gmoccapy.h-button.button-9");
|
||||
|
||||
const halPinStore = createSimulationStore();
|
||||
halPinStore.dispatch({ type: "SET_PROFILE", profileId: "gmoccapy-xyzab" });
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.ignore-limits", value: true });
|
||||
assert.equal(halPinStore.getState().gmoccapyGui.ignoreLimits, true);
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL ignore-limits requested");
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.optional-stop", value: true });
|
||||
assert.equal(halPinStore.getState().gmoccapyGui.optionalBlocks, true);
|
||||
assert.equal(halPinStore.getState().gmoccapyGui.optionalStop, false);
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL optional-stop -> block delete on");
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.blockdelete", value: true });
|
||||
assert.equal(halPinStore.getState().gmoccapyGui.optionalStop, true);
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL blockdelete -> optional stop on");
|
||||
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.feed.feed-override.counts", value: 12 });
|
||||
assert.equal(halPinStore.getState().feed.feedOverride, 100);
|
||||
assert.equal(halPinStore.getState().gmoccapyGui.feedOverrideCounts, 12);
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL feed counts synchronized");
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.feed.feed-override.count-enable", value: true });
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.feed.feed-override.counts", value: 17 });
|
||||
assert.equal(halPinStore.getState().feed.feedOverride, 105);
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL feed counts adjusted");
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.rapid.rapid-override.analog-enable", value: true });
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.rapid.rapid-override.direct-value", value: 0.25 });
|
||||
assert.equal(halPinStore.getState().feed.rapidOverride, 50);
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.spindle.spindle-override.direct-value", value: 0.5 });
|
||||
assert.equal(halPinStore.getState().spindle.override, 100);
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL spindle direct-value ignored: analog disabled");
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.spindle.spindle-override.analog-enable", value: true });
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.spindle.spindle-override.direct-value", value: 0.5 });
|
||||
assert.equal(halPinStore.getState().spindle.override, 75);
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.spindle.reset-spindle-override", value: false });
|
||||
assert.equal(halPinStore.getState().spindle.override, 75);
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL spindle reset falling edge ignored");
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.spindle.reset-spindle-override", value: true });
|
||||
assert.equal(halPinStore.getState().spindle.override, 100);
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL spindle reset to 100");
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.jog-velocity.count-enable", value: true });
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.jog-velocity.counts", value: 2 });
|
||||
assert.equal(halPinStore.getState().gmoccapyGui.jogVelocity, 380.8);
|
||||
halPinStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.unknown", value: true });
|
||||
assert.equal(halPinStore.getState().operatorMessage, "gmoccapy HAL pin unmapped: gmoccapy.unknown");
|
||||
|
||||
const halJogStore = createSimulationStore();
|
||||
halJogStore.dispatch({ type: "SET_PROFILE", profileId: "gmoccapy-xyzab" });
|
||||
halJogStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.axis.jog-x-plus", value: true });
|
||||
assert.equal(halJogStore.getState().runState, "idle");
|
||||
assert.equal(halJogStore.getState().operatorMessage, "gmoccapy HAL jog blocked: jog blocked: machine must be on");
|
||||
halJogStore.dispatch({ type: "TOGGLE_POWER" });
|
||||
halJogStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.axis.jog-x-plus", value: true });
|
||||
assert.equal(halJogStore.getState().runState, "jogging");
|
||||
assert.equal(halJogStore.getState().axisPose.x, 43);
|
||||
assert.equal(halJogStore.getState().machine.jogIncrement, 0);
|
||||
assert.equal(halJogStore.getState().gmoccapyGui.activeJogPin, "gmoccapy.jog.axis.jog-x-plus");
|
||||
assert.equal(halJogStore.getState().operatorMessage, "gmoccapy HAL jog X+ continuous");
|
||||
halJogStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.axis.jog-x-plus", value: false });
|
||||
assert.equal(halJogStore.getState().runState, "idle");
|
||||
assert.equal(halJogStore.getState().gmoccapyGui.activeJogPin, null);
|
||||
assert.equal(halJogStore.getState().operatorMessage, "gmoccapy HAL jog X+ released");
|
||||
halJogStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.jog-inc-2", value: false });
|
||||
assert.equal(halJogStore.getState().machine.jogIncrement, 0);
|
||||
assert.equal(halJogStore.getState().operatorMessage, "gmoccapy HAL jog increment falling edge ignored");
|
||||
halJogStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.jog-inc-2", value: true });
|
||||
assert.equal(halJogStore.getState().machine.jogIncrement, 0.1);
|
||||
assert.equal(halJogStore.getState().gmoccapyGui.jogIncrementIndex, 2);
|
||||
assert.equal(halJogStore.getState().gmoccapyGui.jogIncrementOutput, 0.1);
|
||||
halJogStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.axis.jog-x-plus", value: true });
|
||||
assert.equal(halJogStore.getState().axisPose.x, 43.1);
|
||||
assert.equal(halJogStore.getState().operatorMessage, "gmoccapy HAL jog X+ 0.1");
|
||||
halJogStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.jog-inc-5", value: true });
|
||||
assert.equal(halJogStore.getState().machine.jogIncrement, 31.3563);
|
||||
assert.equal(halJogStore.getState().gmoccapyGui.jogIncrementLabel, "1.2345 in");
|
||||
halJogStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.turtle-jog", value: true });
|
||||
assert.equal(halJogStore.getState().gmoccapyGui.turtleJog, true);
|
||||
assert.equal(halJogStore.getState().operatorMessage, "gmoccapy HAL turtle jog on");
|
||||
|
||||
const halMessageStore = createSimulationStore();
|
||||
halMessageStore.dispatch({ type: "SET_PROFILE", profileId: "gmoccapy-xyzab" });
|
||||
halMessageStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.delete-message", value: false });
|
||||
assert.equal(halMessageStore.getState().gmoccapyGui.deletedMessageCount, 0);
|
||||
assert.equal(halMessageStore.getState().operatorMessage, "gmoccapy HAL delete-message falling edge ignored");
|
||||
halMessageStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.jog.axis.jog-y-minus", value: true });
|
||||
assert.equal(halMessageStore.getState().operatorMessage, "gmoccapy HAL jog blocked: jog blocked: machine must be on");
|
||||
halMessageStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.delete-message", value: true });
|
||||
assert.equal(halMessageStore.getState().gmoccapyGui.error, false);
|
||||
assert.equal(halMessageStore.getState().gmoccapyGui.deletedMessageCount, 1);
|
||||
assert.equal(halMessageStore.getState().operatorMessage, "gmoccapy HAL delete-message cleared alert");
|
||||
halMessageStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.warning-confirm", value: true });
|
||||
assert.equal(halMessageStore.getState().gmoccapyGui.warningConfirm, true);
|
||||
assert.equal(halMessageStore.getState().operatorMessage, "gmoccapy HAL warning-confirm asserted");
|
||||
halMessageStore.dispatch({ type: "GMOCAPY_HAL_PIN", pin: "gmoccapy.warning-confirm", value: false });
|
||||
assert.equal(halMessageStore.getState().gmoccapyGui.warningConfirm, false);
|
||||
assert.equal(halMessageStore.getState().operatorMessage, "gmoccapy HAL warning-confirm cleared");
|
||||
|
||||
console.log("gmoccapy_xyzab_gates_smoke=ok");
|
||||
|
||||
Reference in New Issue
Block a user