对齐 gmoccapy XYZAB 模式互锁
This commit is contained in:
@@ -303,6 +303,38 @@
|
||||
if (!doc.querySelector('[data-machine-state="summary"]')?.textContent.includes("power off")) {
|
||||
throw new Error("initial machine state should show power off");
|
||||
}
|
||||
const initialModeManualButton = doc.querySelector('[data-action="mode-manual"]');
|
||||
const initialModeJogButton = doc.querySelector('[data-action="mode-jog"]');
|
||||
const initialModeAutoButton = doc.querySelector('[data-action="mode-auto"]');
|
||||
const initialModeMdiButton = doc.querySelector('[data-action="mode-mdi"]');
|
||||
if (
|
||||
!initialModeManualButton?.disabled ||
|
||||
initialModeManualButton.dataset.commandReady !== "false" ||
|
||||
initialModeManualButton.getAttribute("aria-disabled") !== "true"
|
||||
) {
|
||||
throw new Error("MANUAL mode button should be disabled before machine power on");
|
||||
}
|
||||
if (
|
||||
!initialModeJogButton?.disabled ||
|
||||
initialModeJogButton.dataset.commandReady !== "false" ||
|
||||
initialModeJogButton.getAttribute("aria-disabled") !== "true"
|
||||
) {
|
||||
throw new Error("JOG mode button should be disabled before machine power on");
|
||||
}
|
||||
if (
|
||||
!initialModeAutoButton?.disabled ||
|
||||
initialModeAutoButton.dataset.commandReady !== "false" ||
|
||||
initialModeAutoButton.getAttribute("aria-disabled") !== "true"
|
||||
) {
|
||||
throw new Error("AUTO mode button should be disabled before machine power on");
|
||||
}
|
||||
if (
|
||||
!initialModeMdiButton?.disabled ||
|
||||
initialModeMdiButton.dataset.commandReady !== "false" ||
|
||||
initialModeMdiButton.getAttribute("aria-disabled") !== "true"
|
||||
) {
|
||||
throw new Error("MDI mode button should be disabled before machine power on");
|
||||
}
|
||||
|
||||
const initiallyBlockedRunButton = doc.querySelector('[data-action="RUN"]');
|
||||
if (
|
||||
@@ -325,8 +357,44 @@
|
||||
if (!doc.querySelector('[data-machine-state="summary"]')?.textContent.includes("power on")) {
|
||||
throw new Error("machine state did not render power on");
|
||||
}
|
||||
const unhomedModeManualButton = doc.querySelector('[data-action="mode-manual"]');
|
||||
const unhomedModeJogButton = doc.querySelector('[data-action="mode-jog"]');
|
||||
const unhomedModeAutoButton = doc.querySelector('[data-action="mode-auto"]');
|
||||
const unhomedModeMdiButton = doc.querySelector('[data-action="mode-mdi"]');
|
||||
if (
|
||||
unhomedModeManualButton?.disabled ||
|
||||
unhomedModeManualButton.dataset.commandReady !== "true" ||
|
||||
unhomedModeJogButton?.disabled ||
|
||||
unhomedModeJogButton.dataset.commandReady !== "true"
|
||||
) {
|
||||
throw new Error("MANUAL and JOG mode buttons should be enabled after power on");
|
||||
}
|
||||
if (
|
||||
!unhomedModeAutoButton?.disabled ||
|
||||
unhomedModeAutoButton.dataset.commandReady !== "false" ||
|
||||
!unhomedModeAutoButton.title.includes("home machine before AUTO")
|
||||
) {
|
||||
throw new Error("AUTO mode button should remain disabled until homed");
|
||||
}
|
||||
if (
|
||||
!unhomedModeMdiButton?.disabled ||
|
||||
unhomedModeMdiButton.dataset.commandReady !== "false" ||
|
||||
!unhomedModeMdiButton.title.includes("home machine before MDI")
|
||||
) {
|
||||
throw new Error("MDI mode button should remain disabled until homed");
|
||||
}
|
||||
doc.querySelector('[data-action="HOME"]').click();
|
||||
await wait(50);
|
||||
const homedModeAutoButton = doc.querySelector('[data-action="mode-auto"]');
|
||||
const homedModeMdiButton = doc.querySelector('[data-action="mode-mdi"]');
|
||||
if (
|
||||
homedModeAutoButton?.disabled ||
|
||||
homedModeAutoButton.dataset.commandReady !== "true" ||
|
||||
homedModeMdiButton?.disabled ||
|
||||
homedModeMdiButton.dataset.commandReady !== "true"
|
||||
) {
|
||||
throw new Error("AUTO and MDI mode buttons should be enabled after homing");
|
||||
}
|
||||
doc.querySelector('[data-action="mode-auto"]').click();
|
||||
await wait(50);
|
||||
if (!doc.querySelector('[data-linuxcnc-task-policy="gates"]')?.textContent.includes("auto")) {
|
||||
|
||||
Reference in New Issue
Block a user