Mach Modules Documentation
Lua Module API Documentation
Loading...
Searching...
No Matches
PlasmaScreenV01.lua File Reference

Go to the source code of this file.

Functions

PlasmaScreenV01 MachineScreenLoadScript ()
 Execute load-time initialization for the plasma machine screen.
PlasmaScreenV01 MachineScreenStartupScript ()
 Execute startup initialization for the plasma machine screen.
PlasmaScreenV01 MachineScreenPLCScript ()
 Execute the PLC-rate screen update loop for all active machine tab controls.
PlasmaScreenV01 MachineScreenLowPriorityLoop ()
 Execute the low-priority screen loop update for all active machine tabs and UI elements.
PlasmaScreenV01 UpdateRollerHeadControls ()
 Update high-priority roller head plasma control states and LEDs.
PlasmaScreenV01 UpdateManualOxyFuelControls ()
 Update high-priority manual oxy fuel control states, gauges, and labels.
PlasmaScreenV01 UpdateNeuronOxyFuelControls ()
 Update all high-priority Neuron oxy fuel control states, LEDs, and gauges.
PlasmaScreenV01 UpdateNeuronPlasmaControls ()
 Update all high-priority Neuron plasma control states, LEDs, images, and DROs.
PlasmaScreenV01 UpdateLowPriorityRollerHeadControls ()
 Update low-priority roller head plasma control states and button appearance.
PlasmaScreenV01 UpdateLowPriorityManualOxyFuelControls ()
 Update all low-priority manual oxy fuel control states, buttons, and LEDs.
PlasmaScreenV01 UpdateLowPriorityNeuronPlasmaControls ()
 Update all low-priority Neuron plasma control states, buttons, and LEDs.
PlasmaScreenV01 UpdateLowPriorityNeuronOxyFuelControls ()
 Update all low-priority Neuron oxy fuel control states, buttons, and LEDs.
PlasmaScreenV01 UpdatePlasmaStatistics ()
 Update the plasma statistics display with current cut time and pierce count.
PlasmaScreenV01 UpdateSpindleButtons ()
 Update spindle button states, labels, and colors based on current spindle direction and tool.
PlasmaScreenV01 UpdateToolPathPanels (Panel)
 Update the toolpath and probing panel visibility on the screen.
PlasmaScreenV01 HasOnScreenJogging ()
 Report whether the plasma screen supports on-screen jogging controls.
PlasmaScreenV01 UpdateActiveToolBox ()
 Update the active tool display box and switch the machine tab to match the current tool.
PlasmaScreenV01 SetupPlasmaTab ()
 Configure the Plasma tab UI layout based on the configured plasma type.
PlasmaScreenV01 SetupOxyFuelTab ()
 Configure the Oxy Fuel tab UI layout based on the configured oxy fuel type.
PlasmaScreenV01 SetupMarkerAuxTab ()
 Configure the Marker/Aux tab UI based on the configured marker type.
PlasmaScreenV01 SetupDrillTab ()
 Configure the Drill tab UI based on the configured drill type.
PlasmaScreenV01 CommonUpdateToolOffsetsTab ()
 Configure the Tool Offsets tab UI layout based on tool setter and changer configuration.
PlasmaScreenV01 UpdateToolPathExtents ()
 Update the part size label with the current G-code toolpath extents.
PlasmaScreenV01 ToggleMDI ()
 Toggle the MDI input panel visibility, swapping it with the G-code display panel.
PlasmaScreenV01 OperatorPanelInitialization ()
 Initialize operator panel settings based on configured hardware panels.
PlasmaScreenV01 MachineCycleStart ()
 Execute the machine cycle start sequence with full validation and cut recovery logic.

Function Documentation

◆ CommonUpdateToolOffsetsTab()

PlasmaScreenV01 CommonUpdateToolOffsetsTab ( )

Configure the Tool Offsets tab UI layout based on tool setter and changer configuration.

Reads multiple OEM parameters to determine the tool setup configuration and adjusts screen object visibility and enabled states accordingly. Parameters read include: ToolSetterType, ManualGageBlockHeight, ToolSetterHeight, ToolSetterPositionType, ToolChangerMethod, and ToolLengthVerifyEnabled. In the current implementation, most tool offset UI groups are hidden and disabled regardless of parameter values (many code paths are commented out). The function primarily hides all tool offset groups and disables associated buttons as a safe default state.

Returns
(nil) No meaningful primary return value
(boolean) Success flag - true if completed successfully, false on parameter read error
(string) Status message from w.FunctionCompleted() or w.FunctionError()
Note
Many UI configuration code paths are currently commented out in this function
Documentation generated by AI on 2026-03-03

◆ HasOnScreenJogging()

PlasmaScreenV01 HasOnScreenJogging ( )

Report whether the plasma screen supports on-screen jogging controls.

Returns
(boolean) Always returns false - plasma screen does not use on-screen jogging
Note
Documentation generated by AI on 2026-03-03

◆ MachineCycleStart()

PlasmaScreenV01 MachineCycleStart ( )

Execute the machine cycle start sequence with full validation and cut recovery logic.

This function handles the complete cycle start workflow for the plasma cutting machine. It performs the following steps in order:

  1. Logs the cycle start event and updates stop status
  2. Resets IHS start height and sampled buffer flag
  3. Handles macro hold and feed hold states directly
  4. Checks for active oxy fuel preheat and terminates if needed
  5. Validates G-code modals via aux.CheckGCodeModals()
  6. Releases any active cycle start holds
  7. Calls user.UserCycleStart() hook if defined
  8. Validates feed/rapid override percentages
  9. Shows confirmation dialogs for DRO mode and dry run if configured
  10. Checks for active alarms and warnings via w.GetGMSAlarms() and w.GetGMSWarnings()
  11. Verifies homing status
  12. Handles GoTo Position mode, MDI mode, or standard G-code file execution
  13. Performs cut recovery (GoToRecoveryPos, FindPath, FindClosestPath, or PierceOffPath)
  14. Calls user.UserCycleStartFinal() hook if defined
  15. Issues mc.mcCntlCycleStart() to begin program execution
    Returns
    (boolean) Always returns false as primary value (reserved)
    (boolean) Success flag - true if cycle start completed or was intentionally cancelled, false on error
    (string) Status message from w.FunctionCompleted() or w.FunctionError()
    Warning
    This function has complex state-dependent behavior and many early-exit paths. Calling this while the machine is not properly homed or configured may result in alarms.
    Note
    Documentation generated by AI on 2026-03-03

◆ MachineScreenLoadScript()

PlasmaScreenV01 MachineScreenLoadScript ( )

Execute load-time initialization for the plasma machine screen.

Performs the following setup tasks when the screen script is first loaded:

  1. Reads the PlateMarkerOutput OEM parameter I/O signal object and, if valid and within the general output signal range, registers a MACHINE_TYPE_SIG_LIBRARY callback to update PlateMarkerBtn color and label based on the output state
  2. Initializes SimModeBtn to OFF color
  3. Reads ToolPathShowBoundaries OEM parameter and enables or disables toolpath limit drawing via mc.mcToolPathSetDrawLimits()
  4. Reads ToolPathJogFollow OEM parameter and enables or disables jog follow mode via mc.mcToolPathSetFollowMode()
  5. Calls SetupPlasmaTab(), SetupOxyFuelTab(), SetupMarkerAuxTab(), and SetupDrillTab() to configure each machine tab based on the current OEM parameters
    Note
    Documentation generated by AI on 2026-03-03

◆ MachineScreenLowPriorityLoop()

PlasmaScreenV01 MachineScreenLowPriorityLoop ( )

Execute the low-priority screen loop update for all active machine tabs and UI elements.

Runs at low priority and performs the following updates:

  1. Reads the current tab from MachineTabs and writes it to the CurrentMachineTab OEM register
  2. If the Plasma tab is active, delegates to UpdateLowPriorityNeuronPlasmaControls() or UpdateLowPriorityRollerHeadControls() based on PLASMA_TYPE
  3. If the OxyFuel tab is active, delegates to UpdateLowPriorityNeuronOxyFuelControls() or UpdateLowPriorityManualOxyFuelControls() based on OXY_FUEL_TYPE, and reads n_OxyProcessTimeBar and OxyGaugeValue registers for oxy process monitoring
  4. Updates the active tool display box via UpdateActiveToolBox()
  5. Updates feedrate DRO labels via UpdateFeedrateDROLabels()
  6. Updates PlateAlignmentBtn color based on G68_ROTATION_ACTIVE flag
  7. Updates PierceOffPathBtn color based on PIERCE_OFF_PATH_FLAG flag
  8. Updates LaserBtn color based on current tool name ("Laser" = ON, otherwise OFF)
  9. Updates tool offset DRO colors via UpdateToolOffsetDROColors()
    Returns
    (nil) No meaningful primary return value
    (boolean) False on error writing CurrentMachineTab register
    (string) Error message from w.FunctionError() on early exit
    Note
    Documentation generated by AI on 2026-03-03

◆ MachineScreenPLCScript()

PlasmaScreenV01 MachineScreenPLCScript ( )

Execute the PLC-rate screen update loop for all active machine tab controls.

Runs at PLC rate and performs the following updates based on the currently active tab:

◆ MachineScreenStartupScript()

PlasmaScreenV01 MachineScreenStartupScript ( )

Execute startup initialization for the plasma machine screen.

Performs the following startup tasks after the screen loads:

  1. Reads the default tool via m.GetDefaultTool() and resolves its name via w.GetToolName()
  2. Switches MachineTabs to the appropriate tab based on the active tool name:
    • Plasma, Jet, Marker (P), or Marker -> TAB_PLASMA
    • Oxy -> TAB_OXYFUEL
    • Marker or Laser -> TAB_MARKER
    • Drill (S) or Drill (A) -> TAB_DRILL
  3. Sets the n_PlasmaOxyFuelMode Neuron.THC register based on active tool and configured types:
    • Oxy tool with Servo Height Control OXY_FUEL_TYPE -> sets mode to 1
    • Plasma servo height control -> sets mode to 0
  4. Calls m.ConfigureTLMMode() to configure torch length measurement mode
    Returns
    (boolean) True as primary value on success
    (boolean) Success flag - always true
    (string) Status message from w.FunctionCompleted()
    Note
    Documentation generated by AI on 2026-03-03

◆ OperatorPanelInitialization()

PlasmaScreenV01 OperatorPanelInitialization ( )

Initialize operator panel settings based on configured hardware panels.

Checks the configured operator panels via w.GetConfiguredOperatorPanels() and adjusts the Feedrate Override and Rapid Override DRO properties accordingly. If the X15-12-02 operator panel is enabled, the DROs are set to read-only mode (editor type 3, read-only background color) since the physical panel controls those values. If no operator panel is configured, the DROs are set to editable mode (editor type 1, editable background color).

Note
Sets the global OPERATOR_PANEL_STATUS flag to true or false based on panel detection
Documentation generated by AI on 2026-03-03

◆ SetupDrillTab()

PlasmaScreenV01 SetupDrillTab ( )

Configure the Drill tab UI based on the configured drill type.

Reads the DrillType OEM parameter and enables or disables the DrillGroup accordingly. If DrillType is not "Not Used", the drill group is enabled. Additionally, the spindle speed display group is configured based on drill type: "Automatic Drill" shows the automatic spindle speed group and hides the manual group, while "Servo Drill" shows the manual spindle speed group and hides the automatic group.

Returns
(boolean) True as primary value on success
(boolean) Success flag - true if operation completed successfully, false on error
(string) Status message from w.FunctionCompleted() or w.FunctionError()
Note
Documentation generated by AI on 2026-03-03

◆ SetupMarkerAuxTab()

PlasmaScreenV01 SetupMarkerAuxTab ( )

Configure the Marker/Aux tab UI based on the configured marker type.

Reads the MarkerType OEM parameter and enables or disables the MarkerAuxGroup screen object. The group is enabled only when MarkerType equals "Plate Marker"; otherwise it is disabled.

Returns
(boolean) True as primary value on success
(boolean) Success flag - true if operation completed successfully, false on error
(string) Status message from w.FunctionCompleted() or w.FunctionError()
Note
Documentation generated by AI on 2026-03-03

◆ SetupOxyFuelTab()

PlasmaScreenV01 SetupOxyFuelTab ( )

Configure the Oxy Fuel tab UI layout based on the configured oxy fuel type.

Reads the OXY_FUEL_TYPE global and positions the appropriate control group:

  • "Servo Height Control": shows NeuronOxyGroup, hides ManualOxyGroup
  • "Manual Height Control": shows ManualOxyGroup, hides NeuronOxyGroup
  • Any other value: hides both groups If OXY_FUEL_TYPE is "Not Used", the DisabledOxyGroup is shown. Also reads the OxyFuelHeads OEM parameter and enables the station enable/jog buttons for each configured head (up to 4), disabling and coloring off any unused head buttons.
    Returns
    (boolean) True as primary value on success
    (boolean) Success flag - true if operation completed successfully, false on error
    (string) Status message from w.FunctionCompleted() or w.FunctionError()
    Note
    Documentation generated by AI on 2026-03-03

◆ SetupPlasmaTab()

PlasmaScreenV01 SetupPlasmaTab ( )

Configure the Plasma tab UI layout based on the configured plasma type.

Reads the PLASMA_TYPE global and positions the appropriate control group:

  • "Servo Height Control": shows NeuronPlasmaGroup, hides RollerHeadPlasmaGroup, enables NeuronSettingBtn
  • "Roller Head": shows RollerHeadPlasmaGroup, hides NeuronPlasmaGroup, disables NeuronSettingBtn
  • Any other value: hides both groups, disables NeuronSettingBtn If PLASMA_TYPE is "Not Used", the DisabledPlasmaGroup is shown at position 0.
    Returns
    (boolean) True as primary value on success
    (boolean) Success flag - true if operation completed successfully
    (string) Status message from w.FunctionCompleted()
    Note
    Documentation generated by AI on 2026-03-03

◆ ToggleMDI()

PlasmaScreenV01 ToggleMDI ( )

Toggle the MDI input panel visibility, swapping it with the G-code display panel.

Checks the current left position of the MDIGroup panel to determine its visibility state. If the MDI panel is hidden (left position equals "10000"), it is shown at position "105" and the G-code group is hidden. If the MDI panel is visible, it is hidden and the G-code group is restored. The MDI button label and background color are updated to reflect the current state. The MDI panel background color is read from the MDIGroup object, defaulting to "#FFFFB3" if not set.

Note
Documentation generated by AI on 2026-03-03

◆ UpdateActiveToolBox()

PlasmaScreenV01 UpdateActiveToolBox ( )

Update the active tool display box and switch the machine tab to match the current tool.

Reads the current tool number via mc.mcToolGetCurrent() and resolves its name via w.GetToolName(). If the tool name is numeric (unknown tool), it is displayed as "Unknown". The function only updates the UI when the tool has changed since the last call by comparing against the current "ActiveToolText" label value. When a tool change is detected, the ActiveToolText label is updated and the MachineTabs control is switched to the appropriate tab:

  • Plasma or Jet -> TAB_PLASMA
  • Oxy -> TAB_OXYFUEL
  • Marker -> TAB_MARKER
  • Drill (S) or Drill (A) -> TAB_DRILL
    Note
    Documentation generated by AI on 2026-03-03

◆ UpdateLowPriorityManualOxyFuelControls()

PlasmaScreenV01 UpdateLowPriorityManualOxyFuelControls ( )

Update all low-priority manual oxy fuel control states, buttons, and LEDs.

Performs a comprehensive update of the manual oxy fuel tab UI elements:

  • Reads CutOxyHeads and JogOxyHeads OEM registers and OxyFuelHeads OEM parameter
  • For each configured oxy fuel head, updates jog station button color and enable station button color, and sets the corresponding OxyEnable output signal
  • Updates OxyFuelEnableSelectAll and OxyFuelJogSelectAll button labels (Select/Deselect) based on whether any heads are currently selected
  • Updates gas console LEDs: MHGasLed, MHOxyPreheatLed, MHOxyCut1Led, MHOxyCut2Led, MHOxyCut3Led
  • Updates ignition LED (MHOxyIgnitionLed): orange if both ignition and relay active, orange-off if only relay active, green based on ignition state otherwise
  • Enables MHTorchBtn and MHOxyFuelIgnitionBtn only when current tool is "Oxy"
  • Updates torch button (MHTorchBtn) color and label based on m.IsOxyTorchOn()
  • Updates ignition button (MHOxyFuelIgnitionBtn) color and label based on m.IsOxyIgnitionOn()
  • Updates cut/rapid height LEDs (MHCutHeightLed, MHRapidHeightLed) based on OxyCurrentPosition register
    Returns
    (nil) No meaningful primary return value
    (boolean) False on error reading required registers/parameters
    (string) Error message from w.FunctionError() on early exit
    Note
    Documentation generated by AI on 2026-03-03

◆ UpdateLowPriorityNeuronOxyFuelControls()

PlasmaScreenV01 UpdateLowPriorityNeuronOxyFuelControls ( )

Update all low-priority Neuron oxy fuel control states, buttons, and LEDs.

Performs a comprehensive update of the Neuron oxy fuel tab UI elements including:

  • Set Cut Height button color based on n_OxySetCutHeightButtonColor register (0=off, 1=red)
  • Oxy process time gauge value from n_OxyProcessTimeBar register
  • Preheat button label and color based on oxy tool output signal vs cutting gas valve state
  • Gas console LED (GasLed) from n_CuttingGasValveOutput
  • Oxy preheat LED (OxyPreheatLed) from n_OxyPreheatValveOutput
  • Ignition LED (OxyIgnitionLed): orange if both ignition valve and relay active, otherwise green
  • Cutting stage LEDs (OxyCut1Led, OxyCut2Led, OxyCut3Led) from respective valve outputs
  • Torch button color and label based on m.IsNeuronPlasmaTorchOn() state
  • OxyNeuronTorchBtn enabled state based on whether current tool is "Oxy"
    Returns
    (nil) No meaningful primary return value on early exit
    (boolean) False on error, or no explicit return on success
    (string) Error message from w.FunctionError() on early exit
    Note
    Documentation generated by AI on 2026-03-03

◆ UpdateLowPriorityNeuronPlasmaControls()

PlasmaScreenV01 UpdateLowPriorityNeuronPlasmaControls ( )

Update all low-priority Neuron plasma control states, buttons, and LEDs.

Performs a comprehensive update of the Neuron plasma tab low-priority UI elements:

  • Test THC button color based on n_TestLed register (0=off, 1=green)
  • PlasmaNeuronTorchBtn enabled state based on current tool (Plasma, Jet, or Marker (P))
  • Torch button color and label based on m.IsNeuronPlasmaTorchOn() state (red=on, off=off)
  • AVC control button label ("AVC On"/"AVC Off") and color based on n_AvcButton register
  • Sample mode button label and background color based on n_SampleButton register:
    • When sampling active: label is "Sampled Voltage", color varies by n_SampledLed (1=yellow, 2=green, 3=red, other=light green)
    • When not sampling: label is "Target Voltage", color is off
  • Calls PlasmaScreenV01.UpdatePlasmaStatistics() to refresh cut time and pierce count
    Note
    Documentation generated by AI on 2026-03-03

◆ UpdateLowPriorityRollerHeadControls()

PlasmaScreenV01 UpdateLowPriorityRollerHeadControls ( )

Update low-priority roller head plasma control states and button appearance.

Updates the roller head plasma tab UI elements that run at low priority:

  • Enables or disables RHTorchBtn based on current tool (enabled for Plasma, Jet, or Marker (P))
  • Reads PlasmaHeadDownOutput OEM parameter signal and updates RHUpDownToggleBtn color and label:
    • Head down (signal true): button is ON color with "Head Up" label
    • Head up (signal false): button is OFF color with "Head Down" label
  • Updates RHTorchBtn color and label based on m.IsRollerHeadPlasmaTorchOn():
    • Torch on: red color with "Torch Off" label
    • Torch off: OFF color with "Torch On" label
      Note
      Documentation generated by AI on 2026-03-03

◆ UpdateManualOxyFuelControls()

PlasmaScreenV01 UpdateManualOxyFuelControls ( )

Update high-priority manual oxy fuel control states, gauges, and labels.

Performs a PLC-rate update of the manual oxy fuel tab UI elements:

  • Torch button (MHTorchBtn): red with "Torch Off" label when torch is on via m.IsOxyTorchOn(), otherwise OFF color with "Torch On" label
  • Oxy gauge max value (MHOxyGauge): updates Max Value from OxyGaugeMax register when non-zero, then resets OxyGaugeMax back to 0
  • Oxy gauge current value (MHOxyGauge): updated from OxyGaugeValue register
  • Oxy gauge name label (MHOxyGaugeNameText): updated from OxyGaugeName string register
    Returns
    (nil) No meaningful primary return value
    (boolean) False on error reading required registers
    (string) Error message from w.FunctionError() on early exit
    Note
    Documentation generated by AI on 2026-03-03

◆ UpdateNeuronOxyFuelControls()

PlasmaScreenV01 UpdateNeuronOxyFuelControls ( )

Update all high-priority Neuron oxy fuel control states, LEDs, and gauges.

Performs a PLC-rate update of the Neuron oxy fuel tab UI elements:

  • Reads n_OxyFuelProcessSequence register and updates the NeuronOxyFuelState label using the NEURON_OXY_STATES lookup table (index is sequence value + 1)
  • Preheat time gauge (PreheatTimeGauge): updated as a percentage of process time vs max when n_OxySetPreheatGaugeMax is non-zero. Percentage is calculated as: (100 / n_OxySetPreheatGaugeMax) * n_OxyProcessTimeBar, rounded to 0.1
  • Run LED (OxyRunLed): color and state based on n_StartLed register value: 0=green off, 1=green on, 2=green on, 3=red on, 4=yellow on
    Note
    Documentation generated by AI on 2026-03-03

◆ UpdateNeuronPlasmaControls()

PlasmaScreenV01 UpdateNeuronPlasmaControls ( )

Update all high-priority Neuron plasma control states, LEDs, images, and DROs.

Performs a comprehensive update of the Neuron plasma tab PLC-rate UI elements:

  • TipTouch LED (TipTouchLed): green if n_TipTouchLed register is non-zero
  • Arc OK LED (ArcOkLed): green based on n_ArcOkInput I/O state
  • Head Safety Lock LED (HeadSafetyLockLED): color varies by n_HeadSafetyLock and n_FreezeInput:
    • Safety only: orange; Freeze only: yellow; Both: red; Neither: green off
  • Run LED (PlasmaRunLed): color and state based on n_StartLed register value (0-4)
  • Plasma state label (NeuronPlasmaState): text from NEURON_PLASMA_STATES lookup table
  • Cut sequence image (CutSequenceIMG): updated based on PlasmaProcessSequence value ranges
  • Real tip volts DRO (RealTipVoltsDRO): color and format based on n_AvcStateLed register
  • Torch slide position DRO (TorchSlidePositionDRO): color based on n_HomingRequest and n_PortalHeightValue
  • PlasmaNeuronTorchBtn enabled state based on current tool (Plasma, Jet, or Marker (P))
    Note
    Documentation generated by AI on 2026-03-03

◆ UpdatePlasmaStatistics()

PlasmaScreenV01 UpdatePlasmaStatistics ( )

Update the plasma statistics display with current cut time and pierce count.

Reads the n_CutTime and n_PierceCount string registers from the Neuron.THC device and formats them into a single statistics string displayed in the PlasmaStatistics screen object. The format is: "Cut Time: {time}m Pierces: {count}"

Returns
(nil) Primary return value (variable 'a' which is not assigned in this function)
(boolean) Success flag - true if statistics were read and displayed successfully
(string) Completion message on success, or error message from w.FunctionError() on failure
Note
Documentation generated by AI on 2026-03-03

◆ UpdateRollerHeadControls()

PlasmaScreenV01 UpdateRollerHeadControls ( )

Update high-priority roller head plasma control states and LEDs.

Performs a PLC-rate update of the roller head plasma tab UI elements:

  • ArcOK LED (RHArcOkLed): green based on the ISIG_THCON signal state
  • Head Down LED (RHDownLed): green when PlasmaHeadDownOutput OEM parameter signal is active
  • Head Up LED (RHUpLed): green when PlasmaHeadDownOutput OEM parameter signal is inactive
    Note
    Documentation generated by AI on 2026-03-03

◆ UpdateSpindleButtons()

PlasmaScreenV01 UpdateSpindleButtons ( )

Update spindle button states, labels, and colors based on current spindle direction and tool.

This function performs a comprehensive update of the spindle control buttons:

  1. Reads the current tool name and spindle direction via mc.mcSpindleGetDirection()
  2. Updates SpindleFWDBtn and SpindleREVBtn labels based on direction (Stop vs FWD/REV)
  3. Implements spindle brake logic: when spindle stops and SpindleBrakeEnabled is "Yes", executes SpindleBrakeOn.mcs via mc.mcScriptExecutePrivate()
  4. Sets button colors based on direction and SpindleDelayActive register:
    • Active direction: yellow if delay active, red if running normally
    • Both stopped with delay: shows yellow on last active direction button
    • Both stopped without delay: resets both buttons to OFF color
  5. Enables/disables DrillOnBtn, SpindleFWDBtn, and SpindleREVBtn based on tool type (only enabled for "Drill (A)" or "Drill (S)" tools)
    Returns
    (number) The current tool number on early exit if tool name lookup fails
    (boolean) Success flag from w.GetToolName() on early exit, or implicit nil on normal completion
    (string) Error message on early exit
    Note
    Updates global flags m_SPINDLEFWD, m_SPINDLEREV, SPINDLE_WAS_ON, and LAST_SPINDLE_DIRECTION
    Documentation generated by AI on 2026-03-03

◆ UpdateToolPathExtents()

PlasmaScreenV01 UpdateToolPathExtents ( )

Update the part size label with the current G-code toolpath extents.

Reads the PathXlength and PathYlength registers from the "core/inst" device to determine the bounding dimensions of the loaded G-code toolpath. If no G-code file is loaded, the label is set to "---". If a file is loaded, the dimensions are formatted based on the current machine units: 3 decimal places for inches (MACHINE_CURRENT_UNITS == 200) or 2 decimal places for mm. The result is displayed in the "PartSizeLabel" screen object as "X x Y".

Note
Documentation generated by AI on 2026-03-03

◆ UpdateToolPathPanels()

PlasmaScreenV01 UpdateToolPathPanels ( Panel )

Update the toolpath and probing panel visibility on the screen.

Controls visibility of the ProbingGroup and ToolPathA panels. If probing mode is active (currently hardcoded to false), the ProbingGroup is shown and the Panel parameter is set to 0. Otherwise, ProbingGroup is hidden. ToolPathA is always shown.

Parameters
Panel(number) Panel index used to control display layout (currently unused in logic)
Returns
(nil) No meaningful primary return value
(boolean) Success flag - always true
(string) Status message from w.FunctionCompleted()
Note
The probing variable is currently hardcoded to false, so ProbingGroup is always hidden
Documentation generated by AI on 2026-03-03