Provided by: linuxcnc-uspace_2.9.0~pre0+git20220402.2500863908-4build1_amd64 bug

NAME

       iocontrol - interacts with HAL or G-code in userspace

SYNOPSIS

       [EMCIO]
       EMCIO = io

DESCRIPTION

       I/O  control  handles I/O tasks like coolant, toolchange, e-stop and lube. The signals are
       turned on and off in userspace with G-code or in the case of e-stop in hal.

       The following  pins  are  created  by  the  userspace  IO  controller,  usually  found  in
       $LINUXCNC_HOME/bin/io

       iocontrol  is  a userspace process - if you have strict timing requirements or simply need
       more i/o, consider using the realtime synchronized i/o provided by motion(9) instead.

       The inifile is searched for in the directory from which halcmd was run, unless an absolute
       path is specified.

PINS

       iocontrol.0.coolant-flood
              (Bit, Out) TRUE when flood coolant is requested

       iocontrol.0.coolant-mist
              (Bit, Out) TRUE when mist coolant is requested

       iocontrol.0.emc-enable-in
              (Bit, In) Should be driven FALSE when an external estop condition exists.

       iocontrol.0.lube
              (Bit,  Out)  TRUE  when  lube  is  requested.   This  pin gets driven True when the
              controller comes out of E-stop, and when the "Lube On" command  gets  sent  to  the
              controller.   It  gets  driven False when the controller goes into E-stop, and when
              the "Lube Off" command gets sent to the controller.

       iocontrol.0.lube_level
              (Bit, In) Should be driven FALSE when lubrication tank is empty.

       iocontrol.0.tool-change
              (Bit, Out) TRUE when a tool change is requested

       iocontrol.0.tool-changed
              (Bit, In) Should be driven TRUE when a tool change is completed.

       iocontrol.0.tool-number
              (s32, Out) Current tool number

       iocontrol.0.tool-prep-number
              (s32, Out) The number of the next tool, from the RS274NGC T-word

       iocontrol.0.tool-prep-pocket
              (s32, Out) This is the pocket number (location in the tool  storage  mechanism)  of
              the tool requested by the most recent T-word.

       iocontrol.0.tool-prepare
              (Bit, Out) TRUE when a Tn tool prepare is requested

       iocontrol.0.tool-prepared
              (Bit, In) Should be driven TRUE when a tool prepare is completed.

       iocontrol.0.user-enable-out
              (Bit, Out) FALSE when an internal estop condition exists

       iocontrol.0.user-request-enable
              (Bit, Out) TRUE when the user has requested that estop be cleared

       iocontrol.0.tool-prep-index
              (s32,  Out)  IO's  internal  array  index of the prepped tool requested by the most
              recent T-word.  0 if no tool is prepped.  On Random toolchanger  machines  this  is
              the  tool's pocket number (ie, the same as the tool-prep-pocket pin), on Non-random
              toolchanger machines this is a small integer corresponding to the  tool's  location
              in  the  internal  representation  of  the tool table.  This parameter returns to 0
              after a successful tool change (M6).

SEE ALSO

       io(1) iov2(1) motion(9)

REPORTING BUGS

       Report bugs at ⟨https://github.com/LinuxCNC/linuxcnc/issues⟩

AUTHOR

       Derived from a work by Fred Proctor & Will Shackleford.

COPYRIGHT

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