moveoff_gui - a GUI for the moveoff component
moveoff_gui [--help | — -h | *-?]
moveoff_gui [options]
Moveoff_gui is a sample graphical user interface (GUI) for controlling a HAL moveoff component to implement HAL-only offsets. See the manpage (man moveoff) for IMPORTANT limitations and warnings.
Supported configurations must use a known kinematics module with KINEMATICS_TYPE = KINEMATICS_IDENTITY. The modules currently supported are: trivkins
--help | -? | — -h
Show options and exit.
-mode onpause | always
onpause: popup GUI to control offsets when program paused
always: show GUI to control offsets always
Default: onpause
-axes axis-names
Letters from set of {x y z a b c u v w}.
Examples: -axes x, -axes xyz, -axes xz (no spaces)
Default: xyz
-inc incrementvalue
Specify one increment value per -inc (up to 4).
Defaults: * 0.001 0.01 0.10 1.0*
-size integer
Overall gui size is based on font size, typically 8 - 20.
Default: 14
-loc center | +x+y
Initial location on screen.
Examples: -loc center, -loc +20+100
Default: center
-autoresume
Resume program when move-enable deasserted.
Default: notused
-delay delay secs
Delay for autoresume (allow time to restore spindle speed etc).
Default: 5
These options are available for special cases:
-noentry
Disables creation of entry widgets.
Default: notused
-no_resume_inhibit
Disable use of resume-inhibit to controlling gui.
Default: notused
-no_pause_requirement
Disable check for halui.program.is-paused.
Default: notused
-no_cancel_autoresume
Useful for retracting offsets with simple external controls.
Default: notused
-no_display
Use when both external controls and external displays are in use.
Default: notused
LinuxCNC must be running.
Halui must be loaded, typical INI file setting:
[HAL]
HALUI = halui
The moveoff component must be loaded with the name mv as: loadrt moveoff names=mv personality=_number_of_axes
If the pin mv.motion-enable is not connected when moveoff_gui is started, controls will be provided to enable offsets and set offset values. If the pin is connected, only a display of offsets is shown and control must be made by external HAL connections.
If a pin named *.resume-inhibit exists and is not connected, it will be set while offsets are applied. This pin may be provided by the controlling LinuxCNC GUI in use. Use of the pin may be disabled with the option -no_resume_inhibit.
The -autoresume option uses halui.program.resume to automatically resume program execution when the move-enable pin is deactivated and all offsets are removed. The resume pin is not activated until an additional interval (-delay delay_secs) elapses. This delay interval may be useful for restarting related equipment (a spindle motor for example). While timing the delay, a popup is offered to cancel the automatic program resumption.
The INI file in the configuration directory must provide HALFILEs to loadrt the moveoff component, connect its pins, and addf its read and write functions in the proper order. These steps can be done at runtime using an existing configuration INI file and specifying a system library HALFILE hookup_moveoff.tcl as illustrated below:
[HAL]
HALUI = halui
HALFILE = user_halfile_1
etc ...
HALFILE = user_halfile_n
HALFILE = LIB:hookup_moveoff.tcl
The hookup_moveoff.tcl HAL file will use INI file settings for the moveoff component control pins:
[OFFSET]
EPSILON =
WAYPOINT_SAMPLE_SECS =
WAYPOINT_THRESHOLD =
BACKTRACK_ENABLE =
The hookup_moveoff.tcl will use INI file settings for the moveoff per-axis limits:
[AXIS_m]
OFFSET_MAX_VELOCITY =
OFFSET_MAX_ACCELERATION =
OFFSET_MAX_LIMIT =
OFFSET_MIN_LIMIT =
The moveoff_gui program should be specified in the APPLICATIONS stanza of the INI file, for example:
[APPLICATIONS]
DELAY = delay_in_secs_to_allow_hal_connections
APP = moveoff_gui -option1 -option2 ...
Simulation configurations that demonstrate the moveoff_gui and the moveoff component are located in:
configs/sim/axis/moveoff (axis-ui) configs/sim/touchy/ngcgui (touchy-ui)
See also moveoff(9) for details on the component.