This documentation is no longer maintained. For documentation of the current version of emc2, please see http://www.linuxcnc.org/docview/html

HALUI

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
USAGE
EXPORTED PINS
SEE ALSO
HISTORY
BUGS
AUTHOR
REPORTING BUGS
COPYRIGHT

NAME

halui − observe HAL pins and command EMC through NML

SYNOPSIS

halui [-ini <path-to-ini>]

DESCRIPTION

halui is used to build a User Interface using hardware knobs and switches. It experts a big number of pins, and acts accordingly when these change.

OPTIONS

-ini name

use the name as the configuration file. Note: halui must find the nml file specified in the ini, usually that file is in the same folder as the ini, so it makes sense to run halui from that folder.

USAGE

When run, halui will export a large number of pins. A user can connect those to his physical knobs & switches & leds, and when a change is noticed halui triggers an appropriate event.

halui expects the signals to be debounced, so if needed (bad knob contact) connect the physical button to a HAL debounce filter first.

EXPORTED PINS

machine

halui.machine.on

pin for setting machine On

halui.machine.off

pin for setting machine Off

halui.machine.is-on

pin for machine is On/Off

estop

halui.estop.activate

pin for setting Estop (emc internal) On

halui.estop.reset

pin for resetting Estop (emc internal) Off

halui.estop.is-activated

pin for displaying Estop state (emc internal) On/Off

mode

halui.mode.manual

pin for requesting manual mode

halui.mode.is_manual

pin for manual mode is on

halui.mode.auto

pin for requesting auto mode

halui.mode.is_auto

pin for auto mode is on

halui.mode.mdi

pin for requesting mdi mode

halui.mode.is_mdi

pin for mdi mode is on

halui.mode.teleop

pin for requesting coordinated jog mode

halui.mode.is_teleop

pin showing coordinated jog mode is on

halui.mode.joint

pin for requesting joint by joint jog mode

halui.mode.is_joint

pin showing joint by joint jog mode is on

mist, flood, lube

halui.mist.on

pin for starting mist

halui.mist.off

pin for stoping mist

halui.mist.is-on

pin for mist is on

halui.flood.on

pin for starting flood

halui.flood.off

pin for stoping flood

halui.flood.is-on

pin for flood is on

halui.lube.on

pin for starting lube

halui.lube.off

pin for stoping lube

halui.lube.is-on

pin for lube is on

spindle

halui.spindle.start

pin for starting the spindle

halui.spindle.stop

pin for stopping the spindle

halui.spindle.forward

pin for making the spindle go forward

halui.spindle.reverse

pin for making the spindle go reverse

halui.spindle.increase

pin for making the spindle go faster

halui.spindle.decrease

pin for making the spindle go slower

halui.spindle.brake-on

pin for activating the spindle brake

halui.spindle.brake-off

pin for deactivating the spindle brake

halui.spindle.brake-is-on

status pin that tells us if brake is on

joint

halui.joint.x.home

pin for homing the specific joint (x = 0..7)

halui.joint.x.is-homed

status pin telling that the joint is homed (x = 0..7)

halui.joint.selected.home

pin for homing the selected joint

halui.joint.selected.is-homed

status pin telling that the selected joint is homed

halui.joint.x.on-soft-min-limit

status pin telling that the joint is on the negative software limit (x=0..7, selected)

halui.joint.x.on-soft-max-limit

status pin telling that the joint is on the positive software limit (x=0..7, selected)

halui.joint.x.on-hard-min-limit

status pin telling that the joint is on the negative hardware limit (x=0..7, selected)

halui.joint.x.on-hard-max-limit

status pin telling that the joint is on the positive hardware limit (x=0..7, selected)

halui.joint.x.has-fault

status pin telling that the joint has a fault (x = 0..7, selected)

halui.joint.select

select joint (value = 0..7)

halui.joint.selected

selected joint (value = 0..7)

halui.joint.x.select

pins for selecting a joint (x = 0..7)

halui.joint.x.is-selected

status pin that a joint is selected (x = 0..7)

jogging

halui.jog.speed

pin for setting jog speed. will be used for minus/plus jogging.

halui.jog.deadband

pin for setting jog analog deadband (where not to move)

halui.jog.N.minus

pin for jogging axis N in negative direction at the halui.jog.speed velocity

halui.jog.N.plus

pin for jogging axis N in positive direction at the halui.jog.speed velocity

halui.jog.N.analog

pin for jogging the axis X using an float value (e.g. joystick)

halui.jog.selected.minus

pin for jogging the selected axis in negative direction at the halui.jog.speed velocity

halui.jog.selected.plus

pin for jogging the selected axis in positive direction at the halui.jog.speed velocity

tool

halui.tool.number

current selected tool

halui.tool.length-offset

current applied tool-length-offset

program

halui.program.is-idle

status pin telling that no program is running

halui.program.is-running

status pin telling that a program is running

halui.program.is-paused

status pin telling that a program is paused

halui.program.run

pin for running a program

halui.program.pause

pin for pausing a program

halui.program.resume

pin for resuming a program

halui.program.step

pin for stepping in a program

halui.program.stop

pin for stopping a program (note: this pin does the same thing as halui.abort)

general

halui.abort

pin to send an abort message (clears out most errors)

feed-override

halui.feed-override.value

current Feed Override value

halui.feed-override.scale

pin for setting the scale on changing the FO

halui.feed-override.counts

counts from an encoder to change FO

halui.feed-override.increase

pin for increasing the FO (+=scale)

halui.feed-override.decrease

pin for decreasing the FO (-=scale)

spindle-override

halui.spindle-override.value

current FO value

halui.spindle-override.scale

pin for setting the scale on changing the SO

halui.spindle-override.counts

counts from an encoder for example to change SO

halui.spindle-override.increase

pin for increasing the SO (+=scale)

halui.spindle-override.decrease

pin for decreasing the SO (-=scale)

SEE ALSO

HISTORY

BUGS

none known at this time.

AUTHOR

Written by Alex Joni, as part of the Enhanced Machine Controller (EMC2) project.

REPORTING BUGS

Report bugs to alex_joni AT users DOT sourceforge DOT net

COPYRIGHT

Copyright © 2006 Alex Joni.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.