完善 working6 gmoccapy 页面诊断边界
This commit is contained in:
@@ -28,13 +28,33 @@ export const gmoccapyCommunicationModel = {
|
||||
halPins: {
|
||||
label: "HAL input pins",
|
||||
path: ["external HAL value", "gmoccapy.* input pin", "hal_glib.GPin value_changed", "gmoccapy callback", "linuxcnc.command() or GTK widget state"],
|
||||
notes: "jog pins, jog increment pins, ignore-limits, optional-stop/blockdelete, override counts/direct-value, reset and message pins enter gmoccapy through HAL callbacks.",
|
||||
notes: "jog pins, jog increment pins, settings unlock, ignore-limits, optional-stop/blockdelete, override counts/direct-value, reset and message pins enter gmoccapy through HAL callbacks; tool measurement pins are HAL_OUT diagnostics in XYZAB.",
|
||||
},
|
||||
remap: {
|
||||
label: "Interpreter REMAP",
|
||||
path: ["milltask", "RS274NGC", "Python remap prolog/ngc/epilog"],
|
||||
notes: "M6/M61 remap executes on the task/interpreter side, not inside the GUI event loop.",
|
||||
},
|
||||
filePage: {
|
||||
label: "Native file page",
|
||||
path: ["btn_load", "_show_iconview_tab(True)", "IconFileSelection1", "hal_action_open.load_file(path)", "GStat file-loaded"],
|
||||
notes: "gmoccapy uses Gtk/IconFileSelection and PROGRAM_PREFIX; the Web shell maps this to OPEN_FILE plus staged LinuxCNC G-code source diagnostics.",
|
||||
},
|
||||
macroPage: {
|
||||
label: "Native macro buttons",
|
||||
path: ["[MACROS]", "_make_macro_button", "_on_btn_macro_pressed", "command.mdi(O<name> call [args])", "interp idle/run sensitivity"],
|
||||
notes: "The XYZAB config defines five macros; Web macro dispatch must use MDI gates instead of bypassing task state.",
|
||||
},
|
||||
toolEditorPage: {
|
||||
label: "Native tool editor",
|
||||
path: ["btn_tool", "_show_tooledit_tab(True)", "tooledit1.reload()", "tool.tbl", "M61 Q? or T? M6"],
|
||||
notes: "Native gmoccapy can edit and save tool.tbl; Web keeps writeback diagnostic-only while preserving iocontrol-loopback tool-change semantics.",
|
||||
},
|
||||
nativePages: {
|
||||
label: "Native GTK page matrix",
|
||||
path: ["gmoccapy.glade notebooks", "tbtn_setup/user tabs/tool/touch/load-file", "button callback", "Web implementation matrix", "operator diagnostic"],
|
||||
notes: "Unimplemented native GTK pages are reported as diagnostic-only or native-only and must not be presented as completed Web actions.",
|
||||
},
|
||||
},
|
||||
webPath: {
|
||||
label: "Web simulation",
|
||||
@@ -172,6 +192,13 @@ export const gmoccapyCommunicationModel = {
|
||||
nativeStatus: "ignore-limits, block delete, optional stop, feed/rapid/spindle/jog override widget state and operator message state",
|
||||
gate: "counts require count-enable, direct-value requires analog-enable, reset/delete-message pins are rising-edge only",
|
||||
},
|
||||
{
|
||||
actionId: "hal-settings-unlock",
|
||||
webAction: "GMOCAPY_HAL_PIN unlock-settings",
|
||||
nativeCommand: "_on_unlock_settings_changed",
|
||||
nativeStatus: "tbtn_setup sensitivity when rbt_hal_unlock is active",
|
||||
gate: "level-driven pin only gates setup access when unlock_way/rbt_hal_unlock selects HAL unlock",
|
||||
},
|
||||
{
|
||||
actionId: "hal-jog-pin",
|
||||
webAction: "GMOCAPY_HAL_PIN jog.axis/jog-inc",
|
||||
@@ -179,6 +206,20 @@ export const gmoccapyCommunicationModel = {
|
||||
nativeStatus: "manual jog command, active jog increment and gmoccapy.jog.jog-increment HAL OUT",
|
||||
gate: "axis pins use press/release level, task must be on and manual; increment pins are rising-edge only",
|
||||
},
|
||||
{
|
||||
actionId: "hal-tool-measurement",
|
||||
webAction: "GMOCAPY_HAL_PIN tool measurement diagnostics",
|
||||
nativeCommand: "_check_toolmeasurement/on_chk_use_tool_measurement_toggled/on_btn_block_height_clicked",
|
||||
nativeStatus: "probeheight, blockheight, toolmeasurement, searchvel and probevel HAL_OUT pins",
|
||||
gate: "XYZAB has no [TOOLSENSOR], so auto tool measurement controls are disabled and Web records these pins as diagnostics",
|
||||
},
|
||||
{
|
||||
actionId: "hal-user-message",
|
||||
webAction: "GMOCAPY_HAL_PIN messages.* diagnostics",
|
||||
nativeCommand: "_init_user_messages/_show_user_message",
|
||||
nativeStatus: "dynamic messages.<pinname>, waiting and response pins when MESSAGE_* entries exist",
|
||||
gate: "gmoccapy_XYZAB.ini defines no MESSAGE_* entries, so no dynamic user message pins are created",
|
||||
},
|
||||
{
|
||||
actionId: "hal-warning-confirm",
|
||||
webAction: "GMOCAPY_HAL_PIN warning-confirm",
|
||||
@@ -186,6 +227,34 @@ export const gmoccapyCommunicationModel = {
|
||||
nativeStatus: "active warning dialog response",
|
||||
gate: "level-polled while warning dialog is active",
|
||||
},
|
||||
{
|
||||
actionId: "file-page",
|
||||
webAction: "LOAD_PROGRAM / LOAD_LINUXCNC_GCODE_SOURCE / GMOCAPY_PAGE_ACTION file-load",
|
||||
nativeCommand: "on_btn_load_clicked -> IconFileSelection1 -> hal_action_open.load_file",
|
||||
nativeStatus: "file-loaded signal updates gmoccapy.program.length/current-line/progress",
|
||||
gate: "blocked while interpreter is running; native GTK file chooser is represented as Web file/staged-source diagnostics",
|
||||
},
|
||||
{
|
||||
actionId: "macro-page",
|
||||
webAction: "GMOCAPY_RUN_MACRO",
|
||||
nativeCommand: "_on_btn_macro_pressed -> command.mdi(O<macro> call [args])",
|
||||
nativeStatus: "macro buttons disabled during interpreter run and re-enabled at interp idle",
|
||||
gate: "same as RUN_MDI: machine on, MDI-capable, homed when NO_FORCE_HOMING=0, interpreter idle",
|
||||
},
|
||||
{
|
||||
actionId: "tool-editor-page",
|
||||
webAction: "GMOCAPY_TOOL_EDITOR_ACTION",
|
||||
nativeCommand: "_init_tooleditor/_show_tooledit_tab/on_btn_selected_tool_clicked",
|
||||
nativeStatus: "tool.tbl rows, selected tool, active tool, tool offsets and M6/M61 commands",
|
||||
gate: "Web writeback is disabled; tool-change actions remain diagnostic and preserve iocontrol-loopback",
|
||||
},
|
||||
{
|
||||
actionId: "native-page-diagnostic",
|
||||
webAction: "GMOCAPY_NATIVE_PAGE",
|
||||
nativeCommand: "tbtn_setup/tbtn_user_tabs/btn_touch/btn_tool/tbtn_switch_mode native page callbacks",
|
||||
nativeStatus: "implementation matrix and operator diagnostic message",
|
||||
gate: "diagnostic-only pages do not emit fake GTK page transitions or native file/tool writes",
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
@@ -197,6 +266,8 @@ export function createGmoccapyCommunicationSummary(model = gmoccapyCommunication
|
||||
nativePathCount: Object.keys(model.nativePaths).length,
|
||||
startupStageCount: model.startupStages.length,
|
||||
actionCount: model.actionMappings.length,
|
||||
pagePathCount: ["filePage", "macroPage", "toolEditorPage", "nativePages"]
|
||||
.filter((key) => Boolean(model.nativePaths[key])).length,
|
||||
postguiAfterHalcompReady: model.startupStages.findIndex((stage) => stage.id === "postgui") >
|
||||
model.startupStages.findIndex((stage) => stage.id === "gmoccapy"),
|
||||
hasNativeNmlCommandPath: model.nativePaths.command.path.includes("NML emcCommand"),
|
||||
|
||||
Reference in New Issue
Block a user