moveoff_gui(1)

NAME
moveoff_gui - a GUI for the moveoff component

SYNOPSIS
moveoff_gui [--help | -- -h | -?]

moveoff_gui [options]

DESCRIPTION
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

OPTIONS

--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

OTHER OPTIONS
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

NOTES
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.

USAGE
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 ...

SEE ALSO
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.