Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions docs/src/gui/halui.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,44 @@ Or see http://linuxcnc.org/docs/devel/html/man/man1/halui.1.html
* 'halui.flood.off' (bool, in) - pin for requesting flood off
* 'halui.flood.on' (bool, in) - pin for requesting flood on

=== GUI Bridge

halui optionally works together with an external GUI bridge component, for
example a network bridge connecting a GUI's operator panel. The bridge is a
separate userspace component; all communication goes through HAL pins, no
pin wiring by the user is needed.

Request pins are polled by the bridge and forwarded to the GUI; halui itself
does not act on them:

* 'halui.gui.cycle-start' (bool, in) - cycle start request
* 'halui.gui.cycle-pause' (bool, in) - cycle pause request
* 'halui.gui.softkey._NN_' (bool, in) - softkey request, 00 to 19
* 'halui.gui.response.ok' (bool, in) - dialog ok response
* 'halui.gui.response.cancel' (bool, in) - dialog cancel response
* 'halui.gui.reload-preview' (bool, in) - reload preview request
* 'halui.gui.shutdown' (bool, in) - shutdown request
* 'halui.gui.mdi-command._<name>_' (bool, in) - MDI/macro call request. One
pin is created for each entry found in the INI file: `MDI_COMMAND_<name>`
keys in the [MDI_COMMAND_LIST] section and `MACRO_COMMAND_<name>` keys in
the [MACROS] section (legacy: [DISPLAY]). Repeated `MDI_COMMAND` or
`MACRO` keys produce pins named by index. If no such entries exist, no
pins are created.

Jog rate pins let the bridge track and override the jog rates:

* 'halui.gui.jog-rate' (real, out) - effective linear jog rate
* 'halui.gui.jog-rate-angular' (real, out) - effective angular jog rate

When the bridge component is loaded it owns the 'gui_bridge.jog-rate' and
'gui_bridge.jog-rate-angular' pins (HAL_IO). halui looks these pins up by
name and arbitrates them against 'halui.axis.jog-speed' and
'halui.axis.jog-speed-angular': the value that changed most recently wins
and is used for jogging and published on the halui.gui.jog-rate pins. When
the bridge appears, its current value is adopted as the baseline so the rate
does not jump until the GUI actually changes it. When no bridge is loaded,
the halui.axis.jog-speed pins behave exactly as before.

=== Homing

* 'halui.home-all' (bool, in) - pin for requesting all axis to home. This
Expand Down Expand Up @@ -227,6 +265,7 @@ _L_ = axis letter (xyzabcuvw)

* 'halui.axis.jog-deadband' (real in) - pin for setting jog analog deadband (jog analog inputs smaller/slower than this (in absolute value) are ignored)
* 'halui.axis.jog-speed' (real in) - pin for setting jog speed for plus/minus jogging.
* 'halui.axis.jog-speed-angular' (real in) - pin for setting jog speed for plus/minus jogging of rotary axes ([AXIS_x]TYPE=ANGULAR).
* 'halui.axis._L_.analog' (real in) - pin for jogging the axis _L_ using a real value (e.g. joystick). The value, typically set between 0.0 and ±1.0, is used as a jog-speed multiplier.
* 'halui.axis._L_.increment' (real in) - pin for setting the jog increment for axis _L_ when using increment-plus/minus
* 'halui.axis._L_.increment-minus' (bool in) - a rising edge will will make axis _L_ jog in the negative direction by the increment amount
Expand Down
50 changes: 50 additions & 0 deletions docs/src/man/man1/halui.1.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,9 @@ _L_ = axis letter (xyzabcuvw)
than this (in absolute value) are ignored)
*halui.axis.jog-speed* real in::
pin for setting jog speed for plus/minus jogging.
*halui.axis.jog-speed-angular* real in::
pin for setting jog speed for plus/minus jogging of rotary axes
([AXIS_x]TYPE=ANGULAR).
**halui.axis.**L**.analog** real in::
pin for jogging the axis L using a real value (e.g. joystick). The
value, typically set between 0.0 and ±1.0, is used as a jog-speed
Expand Down Expand Up @@ -426,6 +429,53 @@ _L_ = axis letter (xyzabcuvw)
*halui.estop.reset* bool in::
pin for resetting E-stop (LinuxCNC internal) Off

=== GUI Bridge (optional)

halui optionally works together with an external GUI bridge component, for
example a network bridge connecting a GUI's operator panel. The bridge is a
separate userspace component; all communication goes through HAL pins, no
pin wiring by the user is needed.

Request pins are polled by the bridge and forwarded to the GUI; halui
itself does not act on them:

*halui.gui.cycle-start* bool in::
cycle start request
*halui.gui.cycle-pause* bool in::
cycle pause request
**halui.gui.softkey.**_NN_ bool in::
softkey request, 00 to 19
*halui.gui.response.ok* bool in::
dialog ok response
*halui.gui.response.cancel* bool in::
dialog cancel response
*halui.gui.reload-preview* bool in::
reload preview request
*halui.gui.shutdown* bool in::
shutdown request
**halui.gui.mdi-command.**_<name>_ bool in::
MDI/macro call request. One pin is created for each entry found in the
INI file: `MDI_COMMAND_<name>` keys in the [MDI_COMMAND_LIST] section
and `MACRO_COMMAND_<name>` keys in the [MACROS] section (legacy:
[DISPLAY]). Repeated `MDI_COMMAND` or `MACRO` keys produce pins named by
index. If no such entries exist, no pins are created.

Jog rate pins let the bridge track and override the jog rates:

*halui.gui.jog-rate* real out::
effective linear jog rate
*halui.gui.jog-rate-angular* real out::
effective angular jog rate

When the bridge component is loaded it owns the *gui_bridge.jog-rate* and
*gui_bridge.jog-rate-angular* pins (HAL_IO). halui looks these pins up by
name and arbitrates them against *halui.axis.jog-speed* and
*halui.axis.jog-speed-angular*: the value that changed most recently wins
and is used for jogging and published on the halui.gui.jog-rate pins. When
the bridge appears, its current value is adopted as the baseline so the
rate does not jump until the GUI actually changes it. When no bridge is
loaded, the halui.axis.jog-speed pins behave exactly as before.

=== Homing

*halui.home-all* bool in::
Expand Down
Loading
Loading