Compare commits

..

No commits in common. "2.7" and "uspace-mp-array" have entirely different histories.

360 changed files with 22110 additions and 21099 deletions

1
.gitignore vendored
View file

@ -39,4 +39,3 @@ oprofile*
*.log *.log
position.txt position.txt
*.9 *.9
*.glade.h

View file

@ -1 +1 @@
2.7.14 2.7.8

View file

@ -22,7 +22,7 @@
<child> <child>
<object class="HAL_Button" id="hal_button1"> <object class="HAL_Button" id="hal_button1">
<property name="label" translatable="yes"> Pass speed as <property name="label" translatable="yes"> Pass speed as
parameter in MDI paramter in MDI
command</property> command</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>

View file

@ -7,7 +7,7 @@ To find the onboard parallel port address open a terminal and type in:
cat /proc/ioports | grep parport cat /proc/ioports | grep parport
usually it will be parport0 usually it will be paraport0
0378-037a : parport0 0378-037a : parport0

View file

@ -2,4 +2,4 @@ This configuration is to show how to connect the Mesa THCAD card with LinuxCNC o
There are two configurations, the plasma-5i20 that requires you to have a Mesa 5i20 installed and the plasma-demo using parallel port. The plasma-demo version is just to show how this config looks and is not a good candidate for the THCAD card due to the slow update speed when using a software encoder with the parallel port. There are two configurations, the plasma-5i20 that requires you to have a Mesa 5i20 installed and the plasma-demo using parallel port. The plasma-demo version is just to show how this config looks and is not a good candidate for the THCAD card due to the slow update speed when using a software encoder with the parallel port.
The subroutine touchoff.ngc is used with a floating head and the probe input to set the torch to the initial height of the cut. The example files x-trim.ngc and touchtest.ngc demonstrate the use of touchoff.ngc. The usage of touchoff.ngc requires you to have the probe input and and Arc Ok input. It uses M66 to wait for the Arc Ok input after lighting off the torch. Three parameters are passed to touchoff pierce height, pierce delay, and cut height. In actual use you will need to adjust the height to raise the torch after touch off to Z0 to match your actual setup. The subroutine touchoff.ngc is used with a floating head and the probe input to set the torch to the inital height of the cut. The example files x-trim.ngc and touchtest.ngc demonstrate the use of touchoff.ngc. The usage of touchoff.ngc requires you to have the probe input and and Arc Ok input. It uses M66 to wait for the Arc Ok input after lighting off the torch. Three parameters are passed to touchoff pierce height, pierce delay, and cut height. In actual use you will need to adjust the height to raise the torch after touch off to Z0 to match your actual setup.

View file

@ -33,7 +33,7 @@ a .demo file is usable.
------------------------------------------------------- -------------------------------------------------------
The configuraton picker (pickconfig.tcl) walks through The configuraton picker (pickconfig.tcl) walks through
existing _user_ configurations in ~/linuxcnc/configs and the existing _user_ configurations in ~linuxcnc/configs and the
distribution's root/configs directory. It presents both distribution's root/configs directory. It presents both
existing user configurations and sample configurations. existing user configurations and sample configurations.
When a sample configuration is selected the configuration When a sample configuration is selected the configuration

View file

@ -1,4 +1,4 @@
; restore metric/inch absolute/relative, feed as per parameter values ; restore metric/inch absolute/relative, feed as per paramter values
; call as 'O<restore> call [originalmetric] [originalabs] [originalfeed] ; call as 'O<restore> call [originalmetric] [originalabs] [originalfeed]
; ;
O<restore> sub O<restore> sub

View file

@ -3,7 +3,7 @@ The simtcl configuration files make use of the tcl language for configuration in
Configurations in this directory also demonstrate the use of a twopass method of processing ".hal" and ".tcl" files. This method is enabled by the ini file setting of [HAL]TWOPASS=anything. With twopass processing, the loadrt specifiers for a module can be specified in multiple places. Configurations in this directory also demonstrate the use of a twopass method of processing ".hal" and ".tcl" files. This method is enabled by the ini file setting of [HAL]TWOPASS=anything. With twopass processing, the loadrt specifiers for a module can be specified in multiple places.
o twopass_compat o twopass_compat
verify compatibility with .hal halfiles verify compatibilty with .hal halfiles
o twopass_demo o twopass_demo
use single haltcl file with use single haltcl file with

View file

@ -132,7 +132,7 @@ HOME = 0 0 0 0 0 0
LINEAR_UNITS = mm LINEAR_UNITS = mm
ANGULAR_UNITS = deg ANGULAR_UNITS = deg
CYCLE_TIME = 0.010 CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 30.0 DEFAULT_VELOCITY = 1.0
MAX_VELOCITY = 100.0 MAX_VELOCITY = 100.0
DEFAULT_ACCELERATION = 100.0 DEFAULT_ACCELERATION = 100.0
MAX_ACCELERATION = 200.0 MAX_ACCELERATION = 200.0
@ -150,8 +150,8 @@ MAX_ACCELERATION = 200.0
BACKLASH = 0.000 BACKLASH = 0.000
INPUT_SCALE = 4000 INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000 OUTPUT_SCALE = 1.000
MIN_LIMIT = -160.0 MIN_LIMIT = -180.0
MAX_LIMIT = 160.0 MAX_LIMIT = 180.0
FERROR = 2.000 FERROR = 2.000
MIN_FERROR = 0.200 MIN_FERROR = 0.200
HOME_OFFSET = 0.0 HOME_OFFSET = 0.0
@ -170,11 +170,11 @@ MAX_ACCELERATION = 200.0
BACKLASH = 0.000 BACKLASH = 0.000
INPUT_SCALE = 4000 INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000 OUTPUT_SCALE = 1.000
MIN_LIMIT = -225.0 MIN_LIMIT = -360.0
MAX_LIMIT = 45.0 MAX_LIMIT = 360.0
FERROR = 2.000 FERROR = 2.000
MIN_FERROR = 0.200 MIN_FERROR = 0.200
HOME_OFFSET = 0.0 HOME_OFFSET = -90.0
HOME_SEARCH_VEL = 0.0 HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0 HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO HOME_USE_INDEX = NO
@ -190,11 +190,11 @@ MAX_ACCELERATION = 200.0
BACKLASH = 0.000 BACKLASH = 0.000
INPUT_SCALE = 4000 INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000 OUTPUT_SCALE = 1.000
MIN_LIMIT = -225.0 MIN_LIMIT = -215.0
MAX_LIMIT = 45.0 MAX_LIMIT = 35.0
FERROR = 2.000 FERROR = 2.000
MIN_FERROR = 0.200 MIN_FERROR = 0.200
HOME_OFFSET = 0.0 HOME_OFFSET = -90.0
HOME_SEARCH_VEL = 0.0 HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0 HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO HOME_USE_INDEX = NO
@ -210,8 +210,8 @@ MAX_ACCELERATION = 200.0
BACKLASH = 0.000 BACKLASH = 0.000
INPUT_SCALE = 4000 INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000 OUTPUT_SCALE = 1.000
MIN_LIMIT = -170.0 MIN_LIMIT = -360.0
MAX_LIMIT = 170.0 MAX_LIMIT = 360.0
FERROR = 2.000 FERROR = 2.000
MIN_FERROR = 0.200 MIN_FERROR = 0.200
HOME_OFFSET = 0.0 HOME_OFFSET = 0.0
@ -224,14 +224,14 @@ HOME_SEQUENCE = 0
#+ Fifth axis #+ Fifth axis
[AXIS_4] [AXIS_4]
TYPE = ANGULAR TYPE = ANGULAR
HOME = 0.000 HOME = 90.000
MAX_VELOCITY = 30.0 MAX_VELOCITY = 30.0
MAX_ACCELERATION = 200.0 MAX_ACCELERATION = 200.0
BACKLASH = 0.000 BACKLASH = 0.000
INPUT_SCALE = 4000 INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000 OUTPUT_SCALE = 1.000
MIN_LIMIT = -135.0 MIN_LIMIT = -360.0
MAX_LIMIT = 135.0 MAX_LIMIT = 360.0
FERROR = 2.000 FERROR = 2.000
MIN_FERROR = 0.200 MIN_FERROR = 0.200
HOME_OFFSET = 0.0 HOME_OFFSET = 0.0
@ -250,8 +250,8 @@ MAX_ACCELERATION = 200.0
BACKLASH = 0.000 BACKLASH = 0.000
INPUT_SCALE = 4000 INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000 OUTPUT_SCALE = 1.000
MIN_LIMIT = -170.0 MIN_LIMIT = -360.0
MAX_LIMIT = 170.0 MAX_LIMIT = 360.0
FERROR = 2.000 FERROR = 2.000
MIN_FERROR = 0.200 MIN_FERROR = 0.200
HOME_OFFSET = 0.0 HOME_OFFSET = 0.0

View file

@ -129,9 +129,3 @@ net J5scaled scale.5.out pumagui.joint6
#net j4 axis.4.joint-pos-fb pumagui.joint5 #net j4 axis.4.joint-pos-fb pumagui.joint5
#net j5 axis.5.joint-pos-fb pumagui.joint6 #net j5 axis.5.joint-pos-fb pumagui.joint6
#net j6 axis.6.joint-pos-fb pumagui.grip #net j6 axis.6.joint-pos-fb pumagui.grip
setp pumakins.A2 400
setp pumakins.A3 50
setp pumakins.D3 100
setp pumakins.D4 400
setp pumakins.D6 95

View file

@ -41,7 +41,7 @@ INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
# detailed information about the markup language can be found at # detailed information about the markup language can be found at
# https://developer.gnome.org/pango/stable/PangoMarkupFormat.html # https://developer.gnome.org/pango/stable/PangoMarkupFormat.html
# MESSAGE_TEXT = The text to be displayed, may be pango markup formatted # MESSAGE_TEXT = The text to be displayed, may be pango markup formated
# MESSAGE_TYPE = one of "status" , "okdialog" , "yesnodialog" # MESSAGE_TYPE = one of "status" , "okdialog" , "yesnodialog"
# status : Will just display a message as popup window, using the messsaging system of gmoccapy # status : Will just display a message as popup window, using the messsaging system of gmoccapy
# okdialog : Will hold focus on the message dialog and will activate a "-waiting" Hal_Pin OUT. # okdialog : Will hold focus on the message dialog and will activate a "-waiting" Hal_Pin OUT.

View file

@ -76,7 +76,6 @@
<object class="HAL_LED" id="led-pos-limit"> <object class="HAL_LED" id="led-pos-limit">
<property name="visible">True</property> <property name="visible">True</property>
<property name="pick_color_on">#ffff00000000</property> <property name="pick_color_on">#ffff00000000</property>
<property name="pick_color_off">#7d7d7d7d7d7d</property>
<property name="led_size">7</property> <property name="led_size">7</property>
</object> </object>
<packing> <packing>
@ -89,7 +88,6 @@
<object class="HAL_LED" id="led-neg-limit"> <object class="HAL_LED" id="led-neg-limit">
<property name="visible">True</property> <property name="visible">True</property>
<property name="pick_color_on">#ffff00000000</property> <property name="pick_color_on">#ffff00000000</property>
<property name="pick_color_off">#7d7d7d7d7d7d</property>
<property name="led_size">7</property> <property name="led_size">7</property>
</object> </object>
<packing> <packing>

View file

@ -117,7 +117,7 @@ _compat = {
emccanon.CANON_PLANE_VW : (("u","r"),_xyz,"VW"), emccanon.CANON_PLANE_VW : (("u","r"),_xyz,"VW"),
emccanon.CANON_PLANE_UW : (("v","r"),_xyz,"UW")} emccanon.CANON_PLANE_UW : (("v","r"),_xyz,"UW")}
# extract and pass parameters from current block, merged with extra parameters on a continuation line # extract and pass parameters from current block, merged with extra paramters on a continuation line
# keep tjose parameters across invocations # keep tjose parameters across invocations
# export the parameters into the oword procedure # export the parameters into the oword procedure
def cycle_prolog(self,**words): def cycle_prolog(self,**words):

307
debian/changelog vendored
View file

@ -1,294 +1,3 @@
linuxcnc (1:2.7.14) unstable; urgency=medium
* docs: improve motion.requested-vel description
* stepconf: fix wrong stepgen number in lathe config
* pncconf: only put firmware directory info for cards that need it
* pncconf: fix typo for loading second 7i80
* pncconf: fix firmware data typo 7i92-7i76_with one 7i76
* pncconf: add 7i92-7i77_7i76 firmware data
-- Sebastian Kuzminsky <seb@highlab.com> Mon, 18 Jun 2018 12:22:48 -0600
linuxcnc (1:2.7.13) unstable; urgency=medium
* docs: correct g33.1 warning and text
* docs: describe motion.program-line in motion manpage
* docs: remove last mention of pins from PID description in rtcomps
* docs: update the PID section of rtcomps (#388)
* docs: add missing num_sserials info to hm2 manpage
* docs: add missing .tool-prep-index parameter to io manpage
* docs: add some docstrings to the linuxcnc python module
* docs: make the tool table docs more findable
* docs: fix a spelling error in bldc manpage
* docs: M19 is no longer an unused M-code
* axis GUI: fix file open dialog with recent py/tcl (#414)
* gscreen industrial GUI: fix DRO display if VCP panel added
* gscreen GUI: fix error if gstreamer library missing
* stepconf: fix lathe configs; Z axis must be 2 not 1
* pncconf: fix lathe configs z axis should be 2 not 1
* pncconf: fix tandem stepper command signals
* pncconf: fix control type with tandem axes
* gladevcp: fix a warning about icon size
* interp: require < after # for named parameters (#424)
* hm2 7i90: fix indentation for legibility
* halrmt: fix confusing indentation
* classicladder: fix indentation
* io: fix a misleading comment
* io: update the status buffer when prepping the loaded tool
* io: set the HAL pins/params even for the loaded tool
* io: remove an incorrect debug message
* test: add tests of reloading the loaded tool
* test: add a test for interp variable name bug (#424)
* packaging: use dh_prep instead of deprecated 'dh_clean -k'
* packaging: remove trailing whitespace in changelog
* packaging: note copyright on yapps
-- Sebastian Kuzminsky <seb@highlab.com> Tue, 08 May 2018 21:12:41 -0600
linuxcnc (1:2.7.12) unstable; urgency=medium
* docs: clean up net commands in orient docs
* docs: fix hyphen/minus confusion in manpages
* docs: fix axis name error in gmoccapy "Probe Information"
* docs: add G20/G21 unit info to G-code Quick Ref
* docs: make G96/G97 comments consistent
* docs: [TRAJ]HOME is ignored on trivial kinematics machines
* docs: fix a typo in mux_generic manpage
* docs: improve docstring for `linuxcnc.wait_complete()`
* docs: improve .motion-type pin info in motion manpage
* docs: add G99 to G-code Quick Ref
* docs: new Chinese translations
* docs: fixup capitalization of variables in Homing docs
* docs: clarify valid values of HOME_OFFSET
* docs: add Chinese translation
* docs: improve milltask manpage
* docs: remove mention of ancient "bfloat" program from hm2_7i43 manpage
* docs: fix typos here and there
* axis gui: remove a startup-time debug message
* axis gui: fix cursor keys in MDI window
* axis gui: add 'Select Max velocity' key bindings in quick ref
* axis gui: fix jog speed key bindings (#268)
* axis gui: don't try to convert unicode to unicode
* gmoccapy gui: fix bug with lathe DRO size and missing gst
* gscreen gui: fix DRO display with VCP in 'industrial' config
* limit3: complete rewrite, much better behavior
* stepconf: restore translation
* pncconf: fix stepgen MAXVEL and MAXACCEL setting with backlash
* pncconf: add internal firmware for g540x2
* pncconf: add internal data for 7i92 and 7i80HD cards
* pncconf: restore translation
* hm2: stop a spurious "IOPort ignored" warning
* hm2: fix a copy/paste bug in an error message
* hm2 sserial: quiet excessive warning messages
* hm2 sserial: fix bug with spurious port shutdown
* hm2 dpll: fix even-numbered timers (#211)
* hm2 7i34, 7i90: don't silently fail with blank config strings
* puma: update puma kins, vismach model, and configs for D6 joint
* glcanon: fix a "DRO disappears" bug with wrapped rotaries
* linuxcnctop: decrease CPU usage and memory leakiness
* linuxcnctop: split long lines at whitespace
* linuxcnctop: fix display of some sequence-type data
* sim_pin: improve help for signals with no writers
* motion: cancel unlock requests when motion disabled
* rtapi: fix a sched_setaffinity error on uspace with old glibc
* tests: protect sim.var file, dpkg removes *.orig
* tests: increased coverage of limit3 tests
* src/configure: verify python's pango & cairo modules are installed
* build: rebuild gmoccapy.pot
* fix a typo in maintainer docs
* packaging: add Keywords to all .desktop files
* packaging: validate desktop files
* packaging: update debian/copyright to conform to DEP-5
* packaging: improve short descriptions
* packaging: build-depend on intltool (for buiding gmoccapy.pot)
-- Sebastian Kuzminsky <seb@highlab.com> Wed, 24 Jan 2018 21:59:53 -0700
linuxcnc (1:2.7.11) unstable; urgency=medium
* doc changes for the transition to github
* carousel: fix a bug with tool number of zero
* axis/gremlin: a better way to avoid leaking files
* test that the Python interpreter prints the right errors
-- Sebastian Kuzminsky <seb@highlab.com> Thu, 27 Jul 2017 22:36:58 -0600
linuxcnc (1:2.7.10) unstable; urgency=medium
* docs: document [EMCMOT]COMM_TIMEOUT
* docs: teach buildsystem to generate manpages from asciidoc source
* docs: add info about the Touchy radio buttons
* docs: improve some hm2_bspi manpages
* gmoccapy: added Num_Pad jogging
* image-to-gcode: work around gratuitous breakage in PIL
* GladeVCP: don't exit if CombiDRO fails to poll status
* hy_vfd: add --motor-poles, to set PD143
* hy_vfd: add --base-frequency to set PD004 on the VFD
* hy_vfd: document PD004/base-freq better in the manpage
* hy_vfd: fix some typos in --help output and comments
* add a driver for the Huanyang GT series VFD
* hm2_eth: add support for Mesa 7i93 AnyIO ethernet board
* hm2_sserial: Fix a bug where the second port would not work if the
first was disabled
* gcodemodule: make interp really close part program
* pluto: use rtapi's fabs() instead of the kernel's abs()
* steptest: don't change position-cmd when not running
* uspace: find top online CPU
* tests: make timeouts simpler & smarter in halui/jogging test
* build: fix building linuxcnc.1 when docs not requested
* build: don't fail when requested not to build documentation
* build: ensure asciidoc manpages are built before checklink is run
* build: build-depend on asciidoc-dblatex on debian stretch
* build: on Debian Stretch and newer, depend on gstreamer 1.0
* build: add debian/configure stanza for debian stretch
* build: rename the GS2 VFD Makefile variables for clarity
-- Sebastian Kuzminsky <seb@highlab.com> Tue, 18 Jul 2017 21:02:57 -0600
linuxcnc (1:2.7.9) unstable; urgency=medium
* support "auxiliary apps", distributed separately from LinuxCNC
* docs: add a bit more info to position feedback ini setting
* docs: sort board list in hm2_eth manpage
* docs: fix pyvcp multi label description
* docs: fix pyvcp example so it runs
* docs: clarify return value in hal_pin_new(3) manpage
* docs: add missing var section to index header
* docs: add machine building info to integrator document
* docs: add manpage for hal_parport realtime component
* docs: add units info to halui max-velocity pins in manpage
* docs: flesh out max-velocity pins in halui manpage
* docs: fix incorrect info for stat.motion_type and stat.motion_mode
* docs: code notes: a pose has 9 coordinates, not 6
* docs: add hal_manualtoolchange manpage
* docs: add info about remap debug messages
* docs: fix paraport/parport typos
* docs: fix pin names in thcud manpage example HAL config
* docs: clean up the note about T0 handling
* docs: add some info for the hal python module
* docs: clarify an ambiguity about siggen in the HAL documentation
* docs: add information about addf command in the HAL documentation
* docs: add details on epp_dir command line parameter of hal_ppmc
* docs: remove a footnote about the behavior of emc2 v2.4
* docs: add or2 example
* docs: fix description of USER_DEFINED_FUNCTION_MAX_DIRS in ini-config
* docs: clarify g28/30 description
* docs: add link to G54-G59.3 User Coordinates section
* docs: clean up Machine Coordinate System section
* docs: remove M6 from modal group description
* docs: add links to machine origin from several places
* docs: fix typos and markup problems all over
* docs: add more information about the addf command
* docs: sorted gmoccapy video links with headlines
* docs: add a known problem with macros to gmoccapy docs
* docs: fix cut-n-paste bug in mb2hal manpage
* docs: expand on different ways of starting LinuxCNC
* docs: document some features of the Axis GUI
* docs: add info about the basic directory structure
* docs: correct misleading descriptions of named parameters
* docs: update info about 'save' command in halcmd manpage & help
* Axis GUI: avoid unbounded memory growth in text widgets on stretch
* Axis GUI: make tool info display widget larger
* Axis GUI: remove unused .info.offset widget
* Axis GUI: shorten tool touch off widget title text
* gmoccapy GUI: removed unused code
* gmoccapy GUI: added get_joints_amount() for compatibility 2.7 and master
* gmoccapy GUI: new hal pin gmoccapy.ignore-limits
* gmoccapy GUI: bug if no macros in ini file
* gmoccapy GUI: bug in macro button handling
* gmoccapy GUI: G96 bug solved
* gscreen GUI: fix missing .themes folder error
* halui: fix halui.program.run
* gladeVCP: make CombiDRO compatible for both 2.7 and master
* gladeVCP: fix delta scale pin not updating if wheel scroll used
* gladeVCP: add missing icon image for hal_dial
* pncconf: fix spindle command using wrong signal name
* pncconf: fix sserial mode setting in HAL file
* hal_ppmc: add command line arg to turn on/off port direction change
* mitsub_vfd: add a driver for Mitsubishi VFDs
* classicladder: fix sequential variable access
* classicladder: fix whitespace errors
* ilowpass: round the output instead of truncating
* halcmd: waitusr: avoid race condition
* hm2: better error message on unexpected pin descriptors
* hm2_eth: don't segfault on interfaces without addresses
* linuxcnc python module: add doc string for stat.motion_mode
* linuxcnc python module: add doc string for stat.motion_type
* linuxcnc python module: add a doc string for stat.queued_mdi_commands
* linuxcnc python module: add EMC_MOTION_TYPE_* constants
* hal python module: better doc strings for connect() and new_sig()
* Interp: fix a typo in a cutter-comp error message
* Task: set the stat struct member queuedMDIcommands
* example g-code: fix Z value reported by rectangle_probe.ngc
* example configs: fix hal pin names in gmoccapy_plasma
* example configs: limit led without off color in gmoccapy_plasma
* example configs: xhc-hb04.tcl: if prior connects, continue with msg
* rtapi: better error message when failing to connect
* uspace: allow calculated parameter array sizes
* tests: let introspection complete before continuing in the t0 tests
* tests: fixup hm2-idrom test to match new hm2 PD error message
* tests: add a test of ilowpass with low gain
* tests: reorg ilowpass test so i can add a low-gain test next to it
* tests: add a test of stat.queued_mdi_commands
* travis: manually uninstall gpl3 readline
* build: fix link error on i686 with gcc, or maybe objcopy 2.27
* packaging: add the new LinuxCNC_Integrator pdf to the doc package
-- Sebastian Kuzminsky <seb@highlab.com> Fri, 02 Jun 2017 12:49:44 -0600
linuxcnc (1:2.7.8) unstable; urgency=medium linuxcnc (1:2.7.8) unstable; urgency=medium
* docs: fix pdf duplicate history listing * docs: fix pdf duplicate history listing
@ -435,7 +144,7 @@ linuxcnc (1:2.7.5) unstable; urgency=medium
* carousel comp: Fix a bad initialisation in index mode * carousel comp: Fix a bad initialisation in index mode
* gantry comp: fix typo in docs * gantry comp: fix typo in docs
* wj200 comp: warn on unhandled command-line arguments * wj200 comp: warn on unhandled command-line arguments
* xhc-hb04: accommodate prior connections to the * xhc-hb04: accomodate prior connections to the
motion.spindle-speed-out-rps-abs pin motion.spindle-speed-out-rps-abs pin
* shuttlexpress: clean up the manpage & asciidocs * shuttlexpress: clean up the manpage & asciidocs
@ -526,7 +235,7 @@ linuxcnc (1:2.7.4) unstable; urgency=medium
* docs: add warning about entering a root password during install * docs: add warning about entering a root password during install
* docs: improve contributing intructions * docs: improve contributing intructions
* docs: add a bit more info on ngcgui * docs: add a bit more info on ngcgui
* docs: update max AIO from 16 to 64 in motion manpage * docs: update max AIO from 16 to 64 in motion manpage
* docs: update homing diagram (dxf and image) * docs: update homing diagram (dxf and image)
* docs: clarify homing variable names * docs: clarify homing variable names
* docs: add missing keyboard short cuts to Axis documentation * docs: add missing keyboard short cuts to Axis documentation
@ -979,7 +688,7 @@ linuxcnc (1:2.7.0~pre3) wheezy; urgency=low
* encoder: document the surprising encoder num_chan=0 behavior in manpage * encoder: document the surprising encoder num_chan=0 behavior in manpage
* gladevcp: jogwheel improvements * gladevcp: jogwheel improvements
* gladevcp: fix a bug forground color of combi_dro * gladevcp: fix a bug forground color of combi_dro
* gladevcp: add hiny versions of the hal_bar and led widgets * gladevcp: add hiny versions of the hal_bar and led widgets
* pyvcp: fix a bug in radio button widget * pyvcp: fix a bug in radio button widget
@ -1238,7 +947,7 @@ linuxcnc (1:2.6.12) unstable; urgency=low
* tests: test homing in halui/jogging * tests: test homing in halui/jogging
* tests: add a motion-logger test of a remap bug * tests: add a motion-logger test of a remap bug
* packaging: use "set -e" to fail on error in the postinst script * packaging: use "set -e" to fail on error in the postinst script
* buildbot: don't try to build on Jessie RTAI * buildbot: dont try to build on Jessie RTAI
* build: verify links in the gcode Quick Reference (English & French) * build: verify links in the gcode Quick Reference (English & French)
-- Sebastian Kuzminsky <seb@highlab.com> Sun, 10 Jan 2016 10:07:09 -0700 -- Sebastian Kuzminsky <seb@highlab.com> Sun, 10 Jan 2016 10:07:09 -0700
@ -1797,9 +1506,9 @@ linuxcnc (1:2.5.5) lucid; urgency=low
* AXIS: fix shift-jog being too slow on inch configs displaying mm * AXIS: fix shift-jog being too slow on inch configs displaying mm
* Docs: many fixes and updates * Docs: many fixes and updates
* HAL: biquad: fix crash when first enabled * HAL: biquad: fix crash when first enabled
* HAL: comp: fail to build some kinds of buggy comp code, * HAL: comp: fail to build some kinds of buggy comp code,
instead of successfully compiling and then crashing at runtime. instead of successfully compiling and then crashing at runtime.
* HAL: comp: reject comp files whose names don't match the * HAL: comp: reject comp files whose names don't match the
component name component name
* HAL: edge: fix out-invert pin on first invocation * HAL: edge: fix out-invert pin on first invocation
* HAL: edge: fix output pulse width * HAL: edge: fix output pulse width
@ -1920,7 +1629,7 @@ linuxcnc (1:2.5.2) lucid; urgency=low
linuxcnc (1:2.5.1) lucid; urgency=low linuxcnc (1:2.5.1) lucid; urgency=low
* Motion: fix incorrect spindle direction after G43 in CSS+M4 mode * Motion: fix incorrect spindle direction after G43 in CSS+M4 mode
* Interpreter: allow G10 L1 to set front/back angles when not * Interpreter: allow G10 L1 to set front/back angles when not
also changing offsets also changing offsets
* Interpreter: correctly report G96/G97 mode to the UI * Interpreter: correctly report G96/G97 mode to the UI
* Interpreter: explicitly set the default spindle mode at startup * Interpreter: explicitly set the default spindle mode at startup
@ -2088,7 +1797,7 @@ linuxcnc (1:2.5.0) lucid; urgency=low
* Touchy: support for metric configurations * Touchy: support for metric configurations
* Touchy: support panel indicators for status readout * Touchy: support panel indicators for status readout
* Touchy: use appropriate jog and maxvel increments for metric and degrees * Touchy: use appropriate jog and maxvel increments for metric and degrees
* Touchy: turning the wheel during a continuous jog changes the current * Touchy: turning the wheel during a continuous jog changes the current
jog speed jog speed
* add a G code language spec for gedit * add a G code language spec for gedit

9
debian/configure vendored
View file

@ -91,7 +91,6 @@ else
fi fi
PYTHON_PACKAGING=dh_pysupport PYTHON_PACKAGING=dh_pysupport
PYTHON_GST=python-gst0.10,gstreamer0.10-plugins-base
case $DISTRIB_NAME in case $DISTRIB_NAME in
Ubuntu-14.*|Ubuntu-15.04|LinuxMint-17.*) # Trusty Tahr (LTS) through Vivid Ubuntu-14.*|Ubuntu-15.04|LinuxMint-17.*) # Trusty Tahr (LTS) through Vivid
@ -121,13 +120,6 @@ Debian-testing)
EXTRA_BUILD=dvipng,texlive-extra-utils,texlive-latex-recommended,texlive-fonts-recommended,ghostscript,imagemagick,texlive-lang-polish,texlive-font-utils,kmod,dh-python EXTRA_BUILD=dvipng,texlive-extra-utils,texlive-latex-recommended,texlive-fonts-recommended,ghostscript,imagemagick,texlive-lang-polish,texlive-font-utils,kmod,dh-python
TCLTK_VERSION=8.6 TCLTK_VERSION=8.6
PYTHON_PACKAGING=dh_python2 PYTHON_PACKAGING=dh_python2
PYTHON_GST=python-gst-1.0,gstreamer1.0-plugins-base
;;
Debian-9.*)
EXTRA_BUILD=dvipng,texlive-extra-utils,texlive-latex-recommended,texlive-fonts-recommended,ghostscript,imagemagick,texlive-lang-polish,texlive-font-utils,kmod,dh-python,asciidoc-dblatex
TCLTK_VERSION=8.6
PYTHON_PACKAGING=dh_python2
PYTHON_GST=python-gst-1.0,gstreamer1.0-plugins-base
;; ;;
Debian-8.*) Debian-8.*)
EXTRA_BUILD=dvipng,texlive-extra-utils,texlive-latex-recommended,texlive-fonts-recommended,ghostscript,imagemagick,texlive-lang-polish,texlive-font-utils,kmod,dh-python EXTRA_BUILD=dvipng,texlive-extra-utils,texlive-latex-recommended,texlive-fonts-recommended,ghostscript,imagemagick,texlive-lang-polish,texlive-font-utils,kmod,dh-python
@ -209,7 +201,6 @@ sed -e "s|@MODULE_PATH@|$MODULE_PATH|g" \
-e "s|@PYTHON_VERSION@|$PYTHON_VERSION|g" \ -e "s|@PYTHON_VERSION@|$PYTHON_VERSION|g" \
-e "s|@TCLTK_VERSION@|$TCLTK_VERSION|g" \ -e "s|@TCLTK_VERSION@|$TCLTK_VERSION|g" \
-e "s|@PYTHON_VERSION_NEXT@|$PYTHON_VERSION_NEXT|g" \ -e "s|@PYTHON_VERSION_NEXT@|$PYTHON_VERSION_NEXT|g" \
-e "s|@PYTHON_GST@|$PYTHON_GST|g" \
-e "s|@PYTHON_PACKAGING@|$PYTHON_PACKAGING|g" \ -e "s|@PYTHON_PACKAGING@|$PYTHON_PACKAGING|g" \
$* $*
} }

16
debian/control.in vendored
View file

@ -14,9 +14,7 @@ Build-Depends: debhelper (>= 6),
texlive-lang-cyrillic, texlive-lang-french, texlive-lang-cyrillic, texlive-lang-french,
texlive-lang-spanish, texlive-lang-german, netcat, texlive-lang-spanish, texlive-lang-german, netcat,
libmodbus-dev (>= 3.0), libusb-1.0-0-dev, procps, psmisc, libmodbus-dev (>= 3.0), libusb-1.0-0-dev, procps, psmisc,
graphviz, inkscape, graphviz, inkscape
intltool,
desktop-file-utils,
Standards-Version: 2.1.0 Standards-Version: 2.1.0
Package: @MAIN_PACKAGE_NAME@-dev Package: @MAIN_PACKAGE_NAME@-dev
@ -28,7 +26,7 @@ Depends: g++, @KERNEL_HEADERS@,
@MAIN_PACKAGE_NAME@ (= ${binary:Version}), @MAIN_PACKAGE_NAME@ (= ${binary:Version}),
yapps2-runtime yapps2-runtime
Section: libs Section: libs
Description: motion controller for CNC machines and robots (development files) Description: PC based motion controller for real-time Linux
LinuxCNC is the next-generation Enhanced Machine Controller which LinuxCNC is the next-generation Enhanced Machine Controller which
provides motion control for CNC machine tools and robotic provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.). applications (milling, cutting, routing, etc.).
@ -52,11 +50,11 @@ Depends: ${shlibs:Depends}, @KERNEL_DEPENDS@,
python@PYTHON_VERSION@-imaging-tk | python-imaging-tk, python@PYTHON_VERSION@-imaging-tk | python-imaging-tk,
python-gtksourceview2, python-gtksourceview2,
python-vte, python-vte,
@PYTHON_GST@, python-gst0.10, gstreamer0.10-plugins-base,
python-xlib, python-gtkglext1, python-configobj, python-xlib, python-gtkglext1, python-configobj,
tclreadline, procps, psmisc, module-init-tools | kmod, tclx, tclreadline, procps, psmisc, module-init-tools | kmod, tclx,
mesa-utils, blt mesa-utils, blt
Description: motion controller for CNC machines and robots Description: PC based motion controller for real-time Linux
LinuxCNC is the next-generation Enhanced Machine Controller which LinuxCNC is the next-generation Enhanced Machine Controller which
provides motion control for CNC machine tools and robotic provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.). applications (milling, cutting, routing, etc.).
@ -66,7 +64,7 @@ Provides: linuxcnc-doc
Architecture: all Architecture: all
Depends: ${misc:Depends} Depends: ${misc:Depends}
Suggests: pdf-viewer Suggests: pdf-viewer
Description: motion controller for CNC machines and robots (English documentation) Description: PC based motion controller for real-time Linux
LinuxCNC is the next-generation Enhanced Machine Controller which LinuxCNC is the next-generation Enhanced Machine Controller which
provides motion control for CNC machine tools and robotic provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.). applications (milling, cutting, routing, etc.).
@ -78,7 +76,7 @@ Provides: linuxcnc-doc
Architecture: all Architecture: all
Depends: ${misc:Depends} Depends: ${misc:Depends}
Suggests: pdf-viewer Suggests: pdf-viewer
Description: motion controller for CNC machines and robots (French documentation) Description: PC based motion controller for real-time Linux
LinuxCNC is the next-generation Enhanced Machine Controller which LinuxCNC is the next-generation Enhanced Machine Controller which
provides motion control for CNC machine tools and robotic provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.). applications (milling, cutting, routing, etc.).
@ -90,7 +88,7 @@ Provides: linuxcnc-doc
Architecture: all Architecture: all
Depends: ${misc:Depends} Depends: ${misc:Depends}
Suggests: pdf-viewer Suggests: pdf-viewer
Description: motion controller for CNC machines and robots (Spanish documentation) Description: PC based motion controller for real-time Linux
LinuxCNC is the next-generation Enhanced Machine Controller which LinuxCNC is the next-generation Enhanced Machine Controller which
provides motion control for CNC machine tools and robotic provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.). applications (milling, cutting, routing, etc.).

136
debian/copyright vendored
View file

@ -1,121 +1,29 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ This package was debianized by Alex Joni on
Upstream-Name: LinuxCNC Sat, 01 Jan 2006,
Upstream-Contact: emc-developers@lists.sourceforge.net also debianized by Paul Corner on
Source: https://github.com/linuxcnc/linuxcnc Thur, 14 Oct 2004
Comment:
Much of LinuxCNC is derived from EMC1, a work of Fred Proctor, Tom Kramer,
Will Shackleford, and others. That work was originally released into
the public domain. It was used as the basis of LinuxCNC, but received
extensive modifications. LinuxCNC is NOT public domain. Anyone wishing
to use the public domain code in a way that is not compatible with the
(L)GPL must locate the original EMC1 code - they may NOT use LinuxCNC.
Files: * Copyright:
Copyright: the LinuxCNC developers
License: GPL-2+
Files: src/hal/classicladder/* LinuxCNC is distributed in the hope that it will be useful, but
Copyright: the LinuxCNC developers WITHOUT ANY WARRANTY; without even the implied warranty of
License: LGPL-2.1+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Files: src/hal/utils/yapps.py ****************************************************************
Copyright: 1999-2003 Amit J. Patel <amitp@cs.stanford.edu>
License: MIT
Files: src/libnml/* Notice: Most of LinuxCNC is covered by the GNU General Public
Copyright: the LinuxCNC developers License. Some portions are covered by the GNU Lesser
License: LGPL-2 General Public License (mostly interface definitions).
Both licenses are included in their entirety below.
Files: src/libnml/inifile* Much of LinuxCNC is derived from EMC1, a work of Fred Proctor, Tom Kramer,
Copyright: the LinuxCNC developers Will Shackleford, and others. That work was originally released into
License: GPL-2 the public domain. It was used as the basis of LinuxCNC, but received
extensive modifications. LinuxCNC is NOT public domain. Anyone wishing
to use the public domain code in a way that is not compatible with the
(L)GPL must locate the original EMC1 code - they may NOT use LinuxCNC.
Files: src/rtapi/* ******************************************************************
Copyright: the LinuxCNC developers
License: LGPL-2.1+
License: GPL-2 The complete text of GPL version 2 can be found in the file
This package is free software; you can redistribute it and/or modify /usr/share/common-licenses/GPL-2 on Debian systems.
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
License: LGPL-2
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; version 2.0 of the license.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public License along
with this program. If not, see <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU Lesser General Public
License version 2.1 can be found in /usr/share/common-licenses/LGPL-2.
License: LGPL-2.1+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1, or (at your option)
any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public License along
with this program. If not, see <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU Lesser General Public
License version 2.1 can be found in /usr/share/common-licenses/LGPL-2.1.
License: MIT
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Encoding=UTF-8
Version=
Type=Application Type=Application
Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Documentation.pdf Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Documentation.pdf
Icon=linuxcncicon Icon=linuxcncicon
@ -9,4 +10,4 @@ Name=Documentation
Comment=LinuxCNC Documentation Comment=LinuxCNC Documentation
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc; GenericName=

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Encoding=UTF-8
Version=
Type=Application Type=Application
Exec=/usr/bin/x-www-browser /usr/share/doc/linuxcnc/gcode_fr.html Exec=/usr/bin/x-www-browser /usr/share/doc/linuxcnc/gcode_fr.html
Icon=linuxcncicon Icon=linuxcncicon
@ -9,4 +10,3 @@ Name=French G-Code Quick Reference
Comment=Quick reference for G, M and O codes in LinuxCNC Comment=Quick reference for G, M and O codes in LinuxCNC
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc;

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Encoding=UTF-8
Version=
Type=Application Type=Application
Exec=/usr/bin/x-www-browser /usr/share/doc/linuxcnc/gcode.html Exec=/usr/bin/x-www-browser /usr/share/doc/linuxcnc/gcode.html
Icon=linuxcncicon Icon=linuxcncicon
@ -9,4 +10,3 @@ Name=G-Code Quick Reference
Comment=Quick reference for G, M, and O codes in LinuxCNC Comment=Quick reference for G, M, and O codes in LinuxCNC
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc;

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=
Encoding=UTF-8
Name=French Getting Started Guide Name=French Getting Started Guide
Type=Application Type=Application
Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Getting_Started_fr.pdf Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Getting_Started_fr.pdf
@ -9,4 +10,4 @@ Terminal=false
Comment=Information on how to download and install LinuxCNC Comment=Information on how to download and install LinuxCNC
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc; GenericName[en_US]=

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=
Encoding=UTF-8
Name=Getting Started Guide Name=Getting Started Guide
Type=Application Type=Application
Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Getting_Started.pdf Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Getting_Started.pdf
@ -9,4 +10,4 @@ Terminal=false
Comment=Information on how to download and install LinuxCNC Comment=Information on how to download and install LinuxCNC
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc; GenericName[en_US]=

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=
Encoding=UTF-8
Name=French HAL Manual Name=French HAL Manual
Type=Application Type=Application
Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_HAL_User_Manual_fr.pdf Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_HAL_User_Manual_fr.pdf
@ -9,4 +10,4 @@ Terminal=false
Comment=Details about the Hardware Abstract Layer. Comment=Details about the Hardware Abstract Layer.
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc; GenericName[en_US]=

View file

@ -1,12 +1,14 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=
Encoding=UTF-8
Name=French Integrator Manual Name=French Integrator Manual
Type=Application Type=Application
Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Integrator_Manual_fr.pdf Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Integrator_Manual_fr.pdf
Icon=linuxcncicon Icon=linuxcncicon
X-GNOME-DocPath= X-GNOME-DocPath=
Terminal=false Terminal=false
Comment=Installation and Configuration Manual (French) Comment=Configuration Information
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc; GenericName[en_US]=
Comment[en_US]=Installation and Configuration Manual (French)

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Encoding=UTF-8
Version=
Type=Application Type=Application
Exec=/usr/bin/latency-test Exec=/usr/bin/latency-test
Icon=linuxcncicon Icon=linuxcncicon
@ -9,4 +10,3 @@ Name=Latency Test
Comment=Test your computers's latency Comment=Test your computers's latency
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc;

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Encoding=UTF-8
Version=
Type=Application Type=Application
Exec=/usr/bin/pncconf Exec=/usr/bin/pncconf
Icon=linuxcncicon Icon=linuxcncicon
@ -9,4 +10,3 @@ Comment=Configuration Wizard For Mesa I/O Cards
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Name=Pncconf Wizard Name=Pncconf Wizard
Keywords=cnc;linuxcnc;

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Encoding=UTF-8
Version=
Type=Application Type=Application
Exec=/usr/bin/stepconf Exec=/usr/bin/stepconf
Icon=linuxcncicon Icon=linuxcncicon
@ -9,4 +10,3 @@ Name=Stepconf Wizard
Comment=Stepper Configuration Wizard Comment=Stepper Configuration Wizard
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc;

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Encoding=UTF-8
Version=
Type=Application Type=Application
Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_User_Manual_fr.pdf Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_User_Manual_fr.pdf
Icon=linuxcncicon Icon=linuxcncicon
@ -9,4 +10,3 @@ Name=French User Manual
Comment=The LinuxCNC User Manual Comment=The LinuxCNC User Manual
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc;

View file

@ -1,5 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Encoding=UTF-8
Version=
Type=Application Type=Application
Exec=/usr/bin/linuxcnc Exec=/usr/bin/linuxcnc
Icon=linuxcncicon Icon=linuxcncicon
@ -9,4 +10,3 @@ Name=LinuxCNC
Comment=Configuration Launcher Comment=Configuration Launcher
StartupNotify=false StartupNotify=false
Categories=X-CNC; Categories=X-CNC;
Keywords=cnc;linuxcnc;

View file

@ -1,4 +1,3 @@
usr/share/doc/linuxcnc/LinuxCNC_Getting_Started.pdf usr/share/doc/linuxcnc/LinuxCNC_Getting_Started.pdf
usr/share/doc/linuxcnc/LinuxCNC_Manual_Pages.pdf usr/share/doc/linuxcnc/LinuxCNC_Manual_Pages.pdf
usr/share/doc/linuxcnc/LinuxCNC_Documentation.pdf usr/share/doc/linuxcnc/LinuxCNC_Documentation.pdf
usr/share/doc/linuxcnc/LinuxCNC_Integrator.pdf

11
debian/rules.in vendored
View file

@ -65,19 +65,10 @@ endif
install: build install: build
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_prep dh_clean -k
dh_installdirs dh_installdirs
# start the install # start the install
mkdir -p debian/tmp mkdir -p debian/tmp
# Version 0.22 and newer of the desktop-file-validate program
# (in Jessie and newer) can deal with multiple files specified
# on the command line. Version 0.20 (in Wheezy) says it can,
# but can't. So feed it the files one by one.
for F in $(shell find debian/extras/ -name *.desktop); do \
desktop-file-validate $$F; \
done
-(cd debian/@EXTRAS@ && cp -a * ../tmp) -(cd debian/@EXTRAS@ && cp -a * ../tmp)
(cd src; export DESTDIR=`pwd`/../debian/tmp; $(MAKE) $@) (cd src; export DESTDIR=`pwd`/../debian/tmp; $(MAKE) $@)
mkdir -p debian/tmp/usr/lib debian/tmp/usr/include/linuxcnc mkdir -p debian/tmp/usr/lib debian/tmp/usr/include/linuxcnc

46
docs/SubmittingPatches Normal file
View file

@ -0,0 +1,46 @@
To improve tracking of who did what, we use the "sign-off" procedure
introduced by the Linux kernel. The sign-off is a simple line at the
end of the explanation for the patch, which certifies that you wrote
it or otherwise have the right to pass it on as an open-source patch.
The rules are pretty simple: if you can certify the Developer's
Certificate of Origin 1.1 with GPLv2+ clause (see the
developer-certificate-of-origin file), then you just add a line saying
Signed-off-by: Random J Developer <random@developer.example.org>
using your real name (sorry, no pseudonyms or anonymous
contributions). This line can be automatically added by git if you
run the git-commit command with the -s option.
If you like, you can put extra tags at the end:
1. "Reported-by:" is used to credit someone who found the bug that
the patch attempts to fix.
2. "Acked-by:" says that the person who is more familiar with the area
the patch attempts to modify liked the patch.
3. "Reviewed-by:", unlike the other tags, can only be offered by the
reviewer and means that she is completely satisfied that the patch
is ready for application. It is usually offered only after a
detailed review.
4. "Tested-by:" is used to indicate that the person applied the patch
and found it to have the desired effect.
You can also create your own tag or use one that's in common usage
such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".
Sometimes you need to slightly modify patches you receive in order to
merge them, because the code is not exactly the same in your tree and
the submitters'. If you stick strictly to rule (c), you should ask the
submitter to rediff, but this is a totally counter-productive waste of
time and energy. Rule (b) allows you to adjust the code, but then it
is very impolite to change one submitter's code and make him endorse
your bugs. To solve this problem, it is recommended that you add a
line between the last Signed-off-by header and yours, indicating the
nature of your changes. While there is nothing mandatory about this,
it seems like prepending the description with your mail and/or name,
all enclosed in square brackets, is noticeable enough to make it
obvious that you are responsible for last-minute changes. Example :
Signed-off-by: Random J Developer <random@developer.example.org>
[lucky@maintainer.example.org: struct foo moved from foo.c to foo.h]
Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org>

View file

@ -136,15 +136,6 @@ paragraph style.
Styles include Styles include
NOTE TIP IMPORTANT WARNING CAUTION NOTE TIP IMPORTANT WARNING CAUTION
Tables
======
[options="header, width="80%"]
|=======
|1 |2 |A
|3 |4 |B
|5 |6 |C
|=======
Escaping a character Escaping a character
==================== ====================
Normally characters like ' and * would not print unless you use \' or \* then Normally characters like ' and * would not print unless you use \' or \* then

View file

@ -0,0 +1,43 @@
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
[verbatim copy of Developer's Certificate of Origin 1.1 ends just above
this line]
In addition, by making a contribution to this project, I certify that:
(e) The contribution is covered under a license that is compatible
with the GNU GPL version 2 with the "or later" clause.

View file

@ -98,7 +98,7 @@ tr.head td, tr.head th { background: black; color: white; }
<TR><TD><A HREF="gcode/m-code.html#mcode:m60">M60</A><TD><TD>Pallet Change Pause</TR> <TR><TD><A HREF="gcode/m-code.html#mcode:m60">M60</A><TD><TD>Pallet Change Pause</TR>
<TR><TH COLSPAN=3>Units </TR> <TR><TH COLSPAN=3>Units </TR>
<TR><TD><A HREF="gcode/g-code.html#gcode:g20-g21">G20, G21</A><TD> <TD>Units (inch, mm)</TR> <TR><TD><A HREF="gcode/g-code.html#gcode:g20-g21">G20, G21</A><TD> <TD>Units</TR>
<TR><TH>Plane Selection <TD COLSPAN=2>(affects G2, G3, G81&hellip;G89, G40&hellip;G42) </TR> <TR><TH>Plane Selection <TD COLSPAN=2>(affects G2, G3, G81&hellip;G89, G40&hellip;G42) </TR>
<TR><TD><A HREF="gcode/g-code.html#gcode:g17-g19.1">G17 - G19.1</A><TD><TD>Plane Select</TR> <TR><TD><A HREF="gcode/g-code.html#gcode:g17-g19.1">G17 - G19.1</A><TD><TD>Plane Select</TR>
@ -113,7 +113,7 @@ tr.head td, tr.head th { background: black; color: white; }
<TR><TD><A HREF="gcode/g-code.html#gcode:g64">G64</A><TD>P Q<TD>Path Blending</TR> <TR><TD><A HREF="gcode/g-code.html#gcode:g64">G64</A><TD>P Q<TD>Path Blending</TR>
<TR><TH COLSPAN=3>Return Mode in Canned Cycles </TR> <TR><TH COLSPAN=3>Return Mode in Canned Cycles </TR>
<TR><TD><A HREF="gcode/g-code.html#gcode:g98-g99">G98, G99</A><TD><TD>Canned Cycle Return Level</TR> <TR><TD><A HREF="gcode/g-code.html#gcode:g98-g99">G98</A><TD><TD>Canned Cycle Return Level</TR>
<TR><TH COLSPAN=3>Other Modal Codes </TR> <TR><TH COLSPAN=3>Other Modal Codes </TR>
<TR><TD><A HREF="gcode/other-code.html#sec:set-feed-rate">F</A><TD><TD>Set Feed Rate</TR> <TR><TD><A HREF="gcode/other-code.html#sec:set-feed-rate">F</A><TD><TD>Set Feed Rate</TR>

1
docs/man/.gitignore vendored
View file

@ -6,7 +6,6 @@ cat1/
cat3/ cat3/
cat9/ cat9/
man1/hy_gt_vfd.1
man1/linuxcnc.1 man1/linuxcnc.1
man9/abs.9 man9/abs.9

View file

@ -25,30 +25,30 @@
.\" .\"
.TH axis-remote "1" "2007-04-01" "LinuxCNC Documentation" "The Enhanced Machine Controller" .TH axis-remote "1" "2007-04-01" "LinuxCNC Documentation" "The Enhanced Machine Controller"
.SH NAME .SH NAME
axis\-remote \- AXIS Remote Interface axis-remote \- AXIS Remote Interface
.SH SYNOPSIS .SH SYNOPSIS
.B axis\-remote \fIOPTIONS\fR|\fIFILENAME\fR .B axis-remote \fIOPTIONS\fR|\fIFILENAME\fR
.SH DESCRIPTION .SH DESCRIPTION
\fBaxis\-remote\fR is a small script that triggers commands in a running AXIS GUI. \fBaxis-remote\fR is a small script that triggers commands in a running AXIS GUI.
Use \fBaxis\-remote \-\-help\fR for further information. Use \fBaxis-remote --help\fR for further information.
.SH OPTIONS .SH OPTIONS
.TP .TP
\fB\-\-ping\fR, \fB\-p\fR \fB--ping\fR, \fB-p\fR
Check whether AXIS is running. Check whether AXIS is running.
.TP .TP
\fB\-\-reload\fR, \fB\-r\fR \fB--reload\fR, \fB-r\fR
Make AXIS reload the currently loaded file. Make AXIS reload the currently loaded file.
.TP .TP
\fB\-\-clear\fR, \fB\-c\fR \fB--clear\fR, \fB-c\fR
Make AXIS clear the backplot. Make AXIS clear the backplot.
.TP .TP
\fB\-\-quit\fR, \fB\-q\fR \fB--quit\fR, \fB-q\fR
Make AXIS quit. Make AXIS quit.
.TP .TP
\fB\-\-help\fR, \fB\-h\fR, \fB\-?\fR \fB--help\fR, \fB-h\fR, \fB-?\fR
Display a list of valid parameters for \fBaxis\-remote\fR. Display a list of valid parameters for \fBaxis-remote\fR.
.TP .TP
\fB\-\-mdi COMMAND\fR, \fB\-m COMMAND\fR \fB--mdi COMMAND\fR, \fB-m COMMAND\fR
Run the MDI command \fBCOMMAND\fR. Run the MDI command \fBCOMMAND\fR.
.TP .TP
\fBFILENAME\fR \fBFILENAME\fR

View file

@ -28,7 +28,7 @@
axis \- AXIS LinuxCNC Graphical User Interface axis \- AXIS LinuxCNC Graphical User Interface
.SH SYNOPSIS .SH SYNOPSIS
.B axis .B axis
\fI\-ini\fR \fIINIFILE\fR \fI-ini\fR \fIINIFILE\fR
.SH DESCRIPTION .SH DESCRIPTION
\fBaxis\fR is one of the Graphical User Interfaces (GUI) for LinuxCNC \fBaxis\fR is one of the Graphical User Interfaces (GUI) for LinuxCNC
It gets run by the runscript usually. It gets run by the runscript usually.

View file

@ -6,28 +6,28 @@ elbpcom \- Communicate with Mesa ethernet cards
Common options: Common options:
.RS .RS
.SY elbpcom .SY elbpcom
.BI [\-\-ip= IP ] .BI [--ip= IP ]
.BI [\-\-port= PORT ] .BI [--port= PORT ]
.BI [\-\-timeout= TIMEOUT ] .BI [--timeout= TIMEOUT ]
.RE .RE
Reading data: Reading data:
.RS .RS
.SY elbpcom .SY elbpcom
.BI [ common\ options ] .BI [ common\ options ]
.BI \-\-space= SPACE .BI --space= SPACE
.B [\-\-info] .B [--info]
.BI \-\-address= ADDRESS .BI --address= ADDRESS
.BI \-\-read= LENGTH .BI --read= LENGTH
.RE .RE
Writing data: Writing data:
.RS .RS
.SY elbpcom .SY elbpcom
.BI [ common\ options ] .BI [ common\ options ]
.BI \-\-space= SPACE .BI --space= SPACE
.BI \-\-address= ADDRESS .BI --address= ADDRESS
.BI \-\-write= HEXDATA .BI --write= HEXDATA
.RE .RE
Sending arbitrary packets: Sending arbitrary packets:
@ -51,16 +51,16 @@ is a more appropriate tool.
If not specified, the default values are If not specified, the default values are
.RS .RS
.BI \-\-ip= 192.168.1.121 .BI --ip= 192.168.1.121
.BI \-\-port= 27181 .BI --port= 27181
.BI \-\-timeout= .2 .BI --timeout= .2
.RE .RE
This example demonstrates reading the HOSTMOT2 identifying string from the This example demonstrates reading the HOSTMOT2 identifying string from the
IDROM in space 0: IDROM in space 0:
.RS .RS
.nf .nf
$ elbpcom \-\-space 0 \-\-address 0x104 \-\-read 8 $ elbpcom --space 0 --address 0x104 --read 8
> 82420401 > 82420401
< 484f53544d4f5432 < 484f53544d4f5432
HOSTMOT2 HOSTMOT2
@ -71,9 +71,9 @@ Finally, the response is shown in ASCII, with "." replacing any non-ASCII
characters. This is similar to the following invocations of mesaflash: characters. This is similar to the following invocations of mesaflash:
.RS .RS
.nf .nf
$ ./mesaflash \-\-device 7i80 \-\-rpo 0x104 $ ./mesaflash --device 7i80 --rpo 0x104
54534F48 54534F48
$ ./mesaflash \-\-device 7i80 \-\-rpo 0x108 $ ./mesaflash --device 7i80 --rpo 0x108
32544F4D 32544F4D
.fi .fi
.RE .RE

View file

@ -23,53 +23,53 @@
.SH NAME .SH NAME
gladevcp \- Virtual Control Panel for LinuxCNC based on Glade, Gtk and HAL widgets gladevcp \- Virtual Control Panel for LinuxCNC based on Glade, Gtk and HAL widgets
.SH SYNOPSIS .SH SYNOPSIS
\fBgladevcp\fR [\-g \fIWxH+X+Y\fR] [\-c \fIcomponent-name\fR] [\-u \fIhandler\fR] [\-U \fIuseroption\fR] [\-H \fIhalfile\fR] [\-d] \fImyfile.ui\fR \fBgladevcp\fR [-g \fIWxH+X+Y\fR] [-c \fIcomponent-name\fR] [-u \fIhandler\fR] [-U \fIuseroption\fR] [-H \fIhalfile\fR] [-d] \fImyfile.ui\fR
.SH OPTIONS .SH OPTIONS
.TP .TP
\fB\-g\fR \fIWxH+X+Y\fR \fB-g\fR \fIWxH+X+Y\fR
This sets the initial geometry of the root window. This sets the initial geometry of the root window.
Use 'WxH' for just size, '+X+Y' for just position, or 'WxH+X+Y' for both. Use 'WxH' for just size, '+X+Y' for just position, or 'WxH+X+Y' for both.
Size / position use pixel units. Position is referenced from top left. Size / position use pixel units. Position is referenced from top left.
.TP .TP
\fB\-c\fR \fIcomponent-name\fR \fB-c\fR \fIcomponent-name\fR
Use \fIcomponent-name\fR as the HAL component name. If the component name is Use \fIcomponent-name\fR as the HAL component name. If the component name is
not specified, the basename of the ui file is used.\fR not specified, the basename of the ui file is used.\fR
.TP .TP
\fB\-u\fR \fIhandler\fR \fB-u\fR \fIhandler\fR
Instructs gladevcp to inspect the Python script \fIhandler\fR for event handlers, Instructs gladevcp to inspect the Python script \fIhandler\fR for event handlers,
and connect them to signals in the ui file.\fR and connect them to signals in the ui file.\fR
.TP .TP
\fB\-U\fR \fIuseroption\fR \fB-U\fR \fIuseroption\fR
gladevcp collects all \fIuseroption\fR strings and passes them to the handler init() gladevcp collects all \fIuseroption\fR strings and passes them to the handler init()
method as a list of strings without further inspection.\fR method as a list of strings without further inspection.\fR
.TP .TP
\fB\-x\fR \fIXID\fR \fB-x\fR \fIXID\fR
Reparent gladevcp into an existing window \fIXID\fR instead of Reparent gladevcp into an existing window \fIXID\fR instead of
creating a new top level window.\fR creating a new top level window.\fR
.TP .TP
\fB\-H\fR \fIhalfile\fR \fB-H\fR \fIhalfile\fR
gladevcp runs \fIhalfile\fR - a list of HAL commands - by executing \fIhalcmd \-c halfile\fR gladevcp runs \fIhalfile\fR - a list of HAL commands - by executing \fIhalcmd -c halfile\fR
after the HAL component is finalized.\fR after the HAL component is finalized.\fR
.TP .TP
\fB\-d\fR \fB-d\fR
enable debug output. enable debug output.
.TP .TP
\fB\-R\fR \fIgtkrcfile\fR \fB-R\fR \fIgtkrcfile\fR
explicitly load a gtkrc file.\fR explicitly load a gtkrc file.\fR
.TP .TP
\fB\-t\fR \fITHEME\fR \fB-t\fR \fITHEME\fR
set gtk theme. Default is \fIsystem\fR theme. Different panels can have different themes. set gtk theme. Default is \fIsystem\fR theme. Different panels can have different themes.
.TP .TP
\fB\-m\fR \fIMAXIMUM\fR \fB-m\fR \fIMAXIMUM\fR
force panel window to maxumize. Together with the \fI\-g geometry\fR option force panel window to maxumize. Together with the \fI-g geometry\fR option
one can move the panel to a second monitor and force it to use all of the screen one can move the panel to a second monitor and force it to use all of the screen
.TP .TP
\fB\-R\fR \fB-R\fR
explicitly deactivate workaround for a gtk bug which makes matches of widget and widget_class explicitly deactivate workaround for a gtk bug which makes matches of widget and widget_class
matches in gtk theme and gtkrc files fail. Normally not needed. matches in gtk theme and gtkrc files fail. Normally not needed.

View file

@ -26,7 +26,7 @@
.TH gs2_vfd "1" "January 1, 2009" "GS2 VFD" "LinuxCNC Documentation" .TH gs2_vfd "1" "January 1, 2009" "GS2 VFD" "LinuxCNC Documentation"
.SH NAME .SH NAME
\fBgs2_vfd\fR \- HAL userspace component for Automation Direct GS2 VFD's \fBgs2_vfd\fR - HAL userspace component for Automation Direct GS2 VFD's
.SH SYNOPSIS .SH SYNOPSIS
.B gs2_vfd .B gs2_vfd
@ -42,44 +42,44 @@ component. This component reads and writes to the GS2 via a modbus connection.
.SH OPTIONS .SH OPTIONS
.B .B
.IP \-b,\ \-\-bits\ <n> .IP -b,\ --bits\ <n>
(default 8) Set number of data bits to <n>, where n must be from 5 to 8 inclusive (default 8) Set number of data bits to <n>, where n must be from 5 to 8 inclusive
.B .B
.IP \-d,\ \-\-device\ <path> .IP -d,\ --device\ <path>
(default /dev/ttyS0) Set the name of the serial device node to use. (default /dev/ttyS0) Set the name of the serial device node to use.
.B .B
.IP \-v,\ \-\-verbose .IP -v,\ --verbose
Turn on verbose mode. Turn on verbose mode.
.B .B
.IP \-g,\ \-\-debug .IP -g,\ --debug
Turn on debug messages. Note that if there are serial errors, this may Turn on debug messages. Note that if there are serial errors, this may
become annoying. Debug mode will cause all modbus messages to be printed become annoying. Debug mode will cause all modbus messages to be printed
in hex on the terminal. in hex on the terminal.
.B .B
.IP \-n,\ \-\-name\ <string> .IP -n,\ --name\ <string>
(default gs2_vfd) Set the name of the HAL module. The HAL comp name will be set to <string>, and all pin and parameter names will begin with <string>. (default gs2_vfd) Set the name of the HAL module. The HAL comp name will be set to <string>, and all pin and parameter names will begin with <string>.
.B .B
.IP \-p,\ \-\-parity\ [even,odd,none] .IP -p,\ --parity\ [even,odd,none]
(default odd) Set serial parity to even, odd, or none. (default odd) Set serial parity to even, odd, or none.
.B .B
.IP \-r,\ \-\-rate\ <n> .IP -r,\ --rate\ <n>
(default 38400) Set baud rate to <n>. It is an error if the rate is not one of the following: 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 (default 38400) Set baud rate to <n>. It is an error if the rate is not one of the following: 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
.B .B
.IP \-s,\ \-\-stopbits\ [1,2] .IP -s,\ --stopbits\ [1,2]
(default 1) Set serial stop bits to 1 or 2 (default 1) Set serial stop bits to 1 or 2
.B .B
.IP \-t,\ \-\-target\ <n> .IP -t,\ --target\ <n>
(default 1) Set MODBUS target (slave) number. This must match the device number you set on the GS2. (default 1) Set MODBUS target (slave) number. This must match the device number you set on the GS2.
.B .B
.IP \-A,\ \-\-accel\-seconds\ <n> .IP -A,\ --accel-seconds\ <n>
(default 10.0) Seconds to accelerate the spindle from 0 to Max RPM. (default 10.0) Seconds to accelerate the spindle from 0 to Max RPM.
.B .B
.IP \-D,\ \-\-decel\-seconds\ <n> .IP -D,\ --decel-seconds\ <n>
(default 0.0) Seconds to decelerate the spindle from Max RPM to 0. (default 0.0) Seconds to decelerate the spindle from Max RPM to 0.
If set to 0.0 the spindle will be allowed to coast to a stop without If set to 0.0 the spindle will be allowed to coast to a stop without
controlled deceleration. controlled deceleration.
.B .B
.IP \-R,\ \-\-braking\-resistor .IP -R,\ --braking-resistor
This argument should be used when a braking resistor is installed on the This argument should be used when a braking resistor is installed on the
GS2 VFD (see Appendix A of the GS2 manual). It disables deceleration GS2 VFD (see Appendix A of the GS2 manual). It disables deceleration
over-voltage stall prevention (see GS2 modbus Parameter 6.05), allowing over-voltage stall prevention (see GS2 modbus Parameter 6.05), allowing
@ -90,74 +90,74 @@ braking resistor.
.SH PINS .SH PINS
.B .B
.IP <name>.DC\-bus\-volts\ (float,\ out) .IP <name>.DC-bus-volts\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.at\-speed\ (bit,\ out) .IP <name>.at-speed\ (bit,\ out)
when drive is at commanded speed when drive is at commanded speed
.B .B
.IP <name>.err\-reset\ (bit,\ in) .IP <name>.err-reset\ (bit,\ in)
reset errors sent to VFD reset errors sent to VFD
.B .B
.IP <name>.firmware\-revision\ (s32,\ out) .IP <name>.firmware-revision\ (s32,\ out)
from the VFD from the VFD
.B .B
.IP <name>.frequency\-command\ (float,\ out) .IP <name>.frequency-command\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.frequency\-out\ (float,\ out) .IP <name>.frequency-out\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.is\-stopped\ (bit,\ out) .IP <name>.is-stopped\ (bit,\ out)
when the VFD reports 0 Hz output when the VFD reports 0 Hz output
.B .B
.IP <name>.load\-percentage\ (float,\ out) .IP <name>.load-percentage\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.motor\-RPM\ (float,\ out) .IP <name>.motor-RPM\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.output\-current\ (float,\ out) .IP <name>.output-current\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.output\-voltage\ (float,\ out) .IP <name>.output-voltage\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.power\-factor\ (float,\ out) .IP <name>.power-factor\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.scale\-frequency\ (float,\ out) .IP <name>.scale-frequency\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.speed\-command\ (float,\ in) .IP <name>.speed-command\ (float,\ in)
speed sent to VFD in RPM It is an error to send a speed faster than the Motor Max RPM as set in the VFD speed sent to VFD in RPM It is an error to send a speed faster than the Motor Max RPM as set in the VFD
.B .B
.IP <name>.spindle\-fwd\ (bit,\ in) .IP <name>.spindle-fwd\ (bit,\ in)
1 for FWD and 0 for REV sent to VFD 1 for FWD and 0 for REV sent to VFD
.B .B
.IP <name>.spindle\-on\ (bit,\ in) .IP <name>.spindle-on\ (bit,\ in)
1 for ON and 0 for OFF sent to VFD, only on when running 1 for ON and 0 for OFF sent to VFD, only on when running
.B .B
.IP <name>.spindle\-rev\ (bit,\ in) .IP <name>.spindle-rev\ (bit,\ in)
1 for ON and 0 for OFF, only on when running 1 for ON and 0 for OFF, only on when running
.B .B
.IP <name>.status\-1\ (s32,\ out) .IP <name>.status-1\ (s32,\ out)
Drive Status of the VFD (see the GS2 manual) Drive Status of the VFD (see the GS2 manual)
.B .B
.IP <name>.status\-2\ (s32,\ out) .IP <name>.status-2\ (s32,\ out)
Drive Status of the VFD (see the GS2 manual) Note that the value is a sum of all the bits that are on. So a 163 which means the drive is in the run mode is the sum of 3 (run) + 32 (freq set by serial) + 128 (operation set by serial). Drive Status of the VFD (see the GS2 manual) Note that the value is a sum of all the bits that are on. So a 163 which means the drive is in the run mode is the sum of 3 (run) + 32 (freq set by serial) + 128 (operation set by serial).
.SH PARAMETERS .SH PARAMETERS
.B .B
.IP <name>.error\-count\ (s32,\ RW) .IP <name>.error-count\ (s32,\ RW)
.B .B
.IP <name>.loop\-time\ (float,\ RW) .IP <name>.loop-time\ (float,\ RW)
how often the modbus is polled (default 0.1) how often the modbus is polled (default 0.1)
.B .B
.IP <name>.nameplate\-HZ\ (float,\ RW) .IP <name>.nameplate-HZ\ (float,\ RW)
Nameplate Hz of motor (default 60) Nameplate Hz of motor (default 60)
.B .B
.IP <name>.nameplate\-RPM\ (float,\ RW) .IP <name>.nameplate-RPM\ (float,\ RW)
Nameplate RPM of motor (default 1730) Nameplate RPM of motor (default 1730)
.B .B
.IP <name>.retval\ (s32,\ RW) .IP <name>.retval\ (s32,\ RW)
@ -166,8 +166,8 @@ the return value of an error in HAL
.IP <name>.tolerance\ (float,\ RW) .IP <name>.tolerance\ (float,\ RW)
speed tolerance (default 0.01) speed tolerance (default 0.01)
.B .B
.IP <name>.ack\-delay\ (s32,\ RW) .IP <name>.ack-delay\ (s32,\ RW)
number of read/write cycles before checking at\-speed (default 2) number of read/write cycles before checking at-speed (default 2)
.SH SEE ALSO .SH SEE ALSO
\fIGS2 Driver\fR in the LinuxCNC documentation for a full description of the \fBGS2\fR syntax \fIGS2 Driver\fR in the LinuxCNC documentation for a full description of the \fBGS2\fR syntax

View file

@ -7,7 +7,7 @@
.SH NAME .SH NAME
hal_input \- control HAL pins with any Linux input device, including USB HID devices hal_input \- control HAL pins with any Linux input device, including USB HID devices
.SH SYNOPSIS .SH SYNOPSIS
\fIloadusr\fR \fBhal_input\fR \fI[\-KRAL] inputspec ...\fR \fIloadusr\fR \fBhal_input\fR \fI[-KRAL] inputspec ...\fR
.SH DESCRIPTION .SH DESCRIPTION
hal_input is an interface between HAL and any Linux input device, including USB hal_input is an interface between HAL and any Linux input device, including USB
HID devices. For each device named, \fBhal_input\fR creates pins corresponding HID devices. For each device named, \fBhal_input\fR creates pins corresponding
@ -51,81 +51,81 @@ If the first character of the \fIinputspec\fR is a "+", then \fBhal_input\fR
requests exclusive access to the device. The first device matching an requests exclusive access to the device. The first device matching an
\fIinputspec\fR is used. Any number of \fIinputspec\fRs may be used. \fIinputspec\fR is used. Any number of \fIinputspec\fRs may be used.
.PP .PP
A \fIsubset option\fI may precede each \fIinputspec\fR. The subset option A \fIsubset option\fI may preceed each \fIinputspec\fR. The subset option
begins with a dash. Each letter in the subset option specifies a device begins with a dash. Each letter in the subset option specifies a device
feature to \fBinclude\fR. Features that are not specified are excluded. feature to \fBinclude\fR. Features that are not specified are excluded.
For instance, to export keyboard LEDs to HAL without exporting keys, use For instance, to export keyboard LEDs to HAL without exporting keys, use
.RS 12 .RS 12
hal_input \-L \fIkeyboard\fR ... hal_input -L \fIkeyboard\fR ...
.RE .RE
.SH DEVICE FEATURES SUPPORTED .SH DEVICE FEATURES SUPPORTED
.IP \(bu 4 .IP \(bu 4
EV_KEY (buttons and keys). Subset \-K EV_KEY (buttons and keys). Subset -K
.IP \(bu 4 .IP \(bu 4
EV_ABS (absolute analog inputs). Subset \-A EV_ABS (absolute analog inputs). Subset -A
.IP \(bu 4 .IP \(bu 4
EV_REL (relative analog inputs). Subset \-R EV_REL (relative analog inputs). Subset -R
.IP \(bu 4 .IP \(bu 4
EV_LED (LED outputs). Subset \-L EV_LED (LED outputs). Subset -L
.SH HAL PINS AND PARAMETERS .SH HAL PINS AND PARAMETERS
.SS For buttons .SS For buttons
.TP .TP
.B input.\fIN\fB.btn\-\fIname\fR bit out .B input.\fIN\fB.btn-\fIname\fR bit out
.TQ .TQ
.B input.\fIN\fB.btn\-\fIname\fB\-not\fR bit out .B input.\fIN\fB.btn-\fIname\fB-not\fR bit out
Created for each button on the device. Created for each button on the device.
.SS For keys .SS For keys
.TP .TP
.B input.\fIN\fB.key\-\fIname\fB .B input.\fIN\fB.key-\fIname\fB
.TQ .TQ
.B input.\fIN\fB.key\-\fIname\fB\-not .B input.\fIN\fB.key-\fIname\fB-not
Created for each key on the device. Created for each key on the device.
.SS For absolute axes .SS For absolute axes
.TP .TP
.B input.\fIN\fB.abs\-\fIname\fB\-counts\fR s32 out .B input.\fIN\fB.abs-\fIname\fB-counts\fR s32 out
.TQ .TQ
.B input.\fIN\fB.abs\-\fIname\fB\-position\fR float out .B input.\fIN\fB.abs-\fIname\fB-position\fR float out
.TQ .TQ
.B input.\fIN\fB.abs\-\fIname\fB\-scale\fR parameter float rw .B input.\fIN\fB.abs-\fIname\fB-scale\fR parameter float rw
.TQ .TQ
.B input.\fIN\fB.abs\-\fIname\fB\-offset\fR parameter float rw .B input.\fIN\fB.abs-\fIname\fB-offset\fR parameter float rw
.TQ .TQ
.B input.\fIN\fB.abs\-\fIname\fB\-fuzz\fR parameter s32 rw .B input.\fIN\fB.abs-\fIname\fB-fuzz\fR parameter s32 rw
.TQ .TQ
.B input.\fIN\fB.abs\-\fIname\fB\-flat\fR parameter s32 rw .B input.\fIN\fB.abs-\fIname\fB-flat\fR parameter s32 rw
.TQ .TQ
.B input.\fIN\fB.abs\-\fIname\fB\-min\fR parameter s32 r .B input.\fIN\fB.abs-\fIname\fB-min\fR parameter s32 r
.TQ .TQ
.B input.\fIN\fB.abs\-\fIname\fB\-max\fR parameter s32 r .B input.\fIN\fB.abs-\fIname\fB-max\fR parameter s32 r
Created for each absolute axis on the device. Device positions closer than Created for each absolute axis on the device. Device positions closer than
\fBflat\fR to \fBoffset\fR are reported as \fBoffset\fR in \fBcounts\fR, and \fBflat\fR to \fBoffset\fR are reported as \fBoffset\fR in \fBcounts\fR, and
\fBcounts\fR does not change until the device position changes by at least \fBcounts\fR does not change until the device position changes by at least
\fBfuzz\fR. The position is computed as \fBposition\fR = (\fBcounts\fR \- \fBfuzz\fR. The position is computed as \fBposition\fR = (\fBcounts\fR -
\fBoffset\fR) / \fBscale\fR. The default value of \fBscale\fR and \fBoffset\fR \fBoffset\fR) / \fBscale\fR. The default value of \fBscale\fR and \fBoffset\fR
map the range of the axis reported by the operating system to [\-1,1]. The map the range of the axis reported by the operating system to [-1,1]. The
default values of \fBfuzz\fR and \fBflat\fR are those reported by the operating default values of \fBfuzz\fR and \fBflat\fR are those reported by the operating
system. The values of \fBmin\fR and \fBmax\fR are those reported by the system. The values of \fBmin\fR and \fBmax\fR are those reported by the
operating system. operating system.
.SS For relative axes .SS For relative axes
.TP .TP
.B input.\fIN\fB.rel\-\fIname\fB\-counts\fR s32 out .B input.\fIN\fB.rel-\fIname\fB-counts\fR s32 out
.TQ .TQ
.B input.\fIN\fB.rel\-\fIname\fB\-position\fR float out .B input.\fIN\fB.rel-\fIname\fB-position\fR float out
.TQ .TQ
.B input.\fIN\fB.rel\-\fIname\fB\-reset\fR bit in .B input.\fIN\fB.rel-\fIname\fB-reset\fR bit in
.TQ .TQ
.B input.\fIN\fB.rel\-\fIname\fB\-scale\fR parameter float rw .B input.\fIN\fB.rel-\fIname\fB-scale\fR parameter float rw
.TQ .TQ
.B input.\fIN\fB.rel\-\fIname\fB\-absolute\fR parameter s32 rw .B input.\fIN\fB.rel-\fIname\fB-absolute\fR parameter s32 rw
.TQ .TQ
.B input.\fIN\fB.rel\-\fIname\fB\-precision\fR parameter s32 rw .B input.\fIN\fB.rel-\fIname\fB-precision\fR parameter s32 rw
.TQ .TQ
.B input.\fIN\fB.rel\-\fIname\fB\-last\fR parameter s32 rw .B input.\fIN\fB.rel-\fIname\fB-last\fR parameter s32 rw
Created for each relative axis on the device. As long as \fBreset\fR is true, Created for each relative axis on the device. As long as \fBreset\fR is true,
\fBcounts\fR is reset to zero regardless of any past or current axis movement. \fBcounts\fR is reset to zero regardless of any past or current axis movement.
Otherwise, \fBcounts\fR increases or decreases according to the motion of the Otherwise, \fBcounts\fR increases or decreases according to the motion of the
axis. \fBcounts\fR is divided by \fRposition\-scale\fR to give \fBposition\fR. axis. \fBcounts\fR is divided by \fRposition-scale\fR to give \fBposition\fR.
The default value of \fBposition\fR is 1. There are some devices, notably The default value of \fBposition\fR is 1. There are some devices, notably
scroll wheels, which return signed values with less resolution than 32 bits. scroll wheels, which return signed values with less resolution than 32 bits.
The default value of \fBprecision\fR is 32. \fBprecision\fR can be set to 8 The default value of \fBprecision\fR is 32. \fBprecision\fR can be set to 8
@ -136,9 +136,9 @@ correctly. \fBlast\fR shows the most recent count value returned by the
device, and is used in the implementation of \fBabsolute\fR. device, and is used in the implementation of \fBabsolute\fR.
.SS For LEDs .SS For LEDs
.TP .TP
.B input.\fIN\fB.led\-\fIname\fR bit out .B input.\fIN\fB.led-\fIname\fR bit out
.TQ .TQ
.B input.\fIN\fB.led\-\fIname\fB\-invert\fR parameter bit rw .B input.\fIN\fB.led-\fIname\fB-invert\fR parameter bit rw
Created for each LED on the device. Created for each LED on the device.
.SH PERMISSIONS AND UDEV .SH PERMISSIONS AND UDEV
By default, the input devices may not be accessible to regular By default, the input devices may not be accessible to regular

View file

@ -1,77 +0,0 @@
.\" Man page for hal_manualtoolchange userspace component.
.\" Written 05 APR 2017 by Joe Hildreth (joeh@threerivershospital.com)
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
.\" USA.
.TH hal_manualtoolchange 1 "04 APR 2017" "LinuxCNC Documentation" "HAL Userspace Component"
.SH NAME
hal_manualtoolchange \- HAL userspace component to enable manual tool changes.
.SH SYNOPSIS
loadusr hal_manualtoolchange
.SH DESCRIPTION
hal_manualtoolchange is a LinuxCNC userspace component that allows users with machines lacking automatic tool changers to make manual tool changes. In use when a M6 tool change is encountered, the motion component will stop the spindle and pause the program. The hal_manualtoolchange component will then receive a signal from the motion component causing it to display a tool change window prompting the user which tool number to load based on the last T\- number programmed. The dialog will stay active until the "continue" button is pressed. When the "continue" button is pressed, hal_manualtoolchange will then signal the motion component that the tool change is complete thus allowing motion to turn the spindle back on and resume program execution.
.PP
Additionally, The hal_manualtoolchange component includes a hal pin for a button that can be connected to a physical button to complete the tool change and remove the window prompt (hal_manualtoolchange.change_button).
.PP
hal_manualtoolchange can be used even when AXIS is not used as the GUI. This component is most useful if you have presettable tools and you use the tool table.
.SH PINS
.TP
.B hal_manualtoolchange.number\fR s32 in\fR
Receives last programmed T\- number.
.TP
.B hal_manualtoolchange.change\fR bit in\fR
Receives signal to do tool change.
.TP
.B hal_manualtoolchange.changed\fR bit out\fR
Signifies that the tool change is complete.
.TP
.B hal_manualtoolchange.change_button\fR bit in\fR
Pin to allow an external switch to signify that the tool change is complete.
.SH USAGE
Normal usage is to load the component in your HAL file and net the appropriate pins from the\fI motion\fR and\fI io\fR components. The following lines are typical in a HAL file when using the hal_manualtoolchange userspace component.
.TP
.B loadusr \-W hal_manualtoolchange
This will load the hal_manualtoolchange userspace component waiting for the component to be ready before continuing.
.TP
.B net tool\-change iocontrol.0.tool\-change => hal_manualtoolchange.change
When an M6 code is run, motion sets \fI iocontrol.0.tool\-change \fR to high indicating a tool change. This pin should be netted to \fI hal_manualtoolchange.change\fR. This causes the Tool change dialog to be displayed on screen and wait for the user to either click the continue button on the dialog or press an externally connected button.
.TP
.B net tool\-changed iocontrol.0.tool\-changed <= hal_manualtoolchange.changed
When the Tool change dialog's continue button is pressed, it will set the
.I hal_manualtoolchange.changed
pin to high, this should be netted to the
.I iocontrol.0.tool\-changed
pin, indicating to the motion controller that the tool change has been completed and can continue with the execution of the G-code program.
.TP
.B net tool\-number iocontrol.0.tool\-prep\-number => hal_manualtoolchange.number
When a T\- command is executed in a G-code program, the tool number will held in the
.I iocontrol.0.tool\-prep\-number\fR. \fR
This pin should be netted to
.I hal_manualtoolchange.number\fR. \fR
The value of this pin, the tool number is displayed in the Tool change dialog to let the user know which tool should be loaded.
.TP
.B net tool\-prepare\-loopback iocontrol.0.tool\-prepare => iocontrol.0.tool\-prepared
The \fI iocontrol.0.tool\-prepare \fR pin will go true when a Tn tool prepare is requested. Since there is not automated tool changer this pin should be netted to \fI iocontrol.0.tool\-prepared \fR to indocate that the tool has been prepared.
.PP
If you wish to use an external button to signal the hal_manualtoolchange component that the tool change is complete simply bring the button into HAL (via a parport input pin or a hostmot2 gpio input or similar), and wire it directly to the \fI hal_manualtoolchange.change_button \fR pin. For Example:
.PP
.B net tool\-changed\-btn hal_manualtoolchange.change_button <= parport.0.pin\-15\-in
.SH SEE ALSO
motion(1) iocontrol(1) halcmd(1)

View file

@ -1,178 +0,0 @@
.\" Man page for hal_manualtoolchange userspace component.
.\" Written 12 APR 2017 by Joe Hildreth (joeh@threerivershospital.com)
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
.\" USA.
.TH hal_parport 1 "12 APR 2017" "LinuxCNC Documentation" "HAL Realtime Component"
.SH NAME
hal_parport \- Realtime HAL component to communicate with one or more pc parallel ports.
.SH SYNOPSIS
.B loadrt hal_parport cfg="\fIport_addr \fR[\fItype\fR] [[\fIport_addr \fR[\fItype\fR] ...]\fB"
.SH DESCRIPTION
The hal_parport component is a realtime component that provides connections from HAL via halpins to the physical pins of one or more parallel ports. It provides a read and write function to send and receive data to the attached parallel port(s).
.PP
The hal_parport component supports up to \fB8 \fRphysical parallel ports.
.SH OPTIONS
.TP
.B cfg="port_addr [type] [[port_addr [type] ...]"
The cfg string tells hal_parport the address(es) of the parallel port(s) and whether the port(s) is/are used as an input or output port(s). Up to eight parallel ports are supported by the component.
The \fBport_addr \fRparameter of the configuration string may be either the physical base address of a parallel port or specified as the detected parallel port via Linux parport_pc driver. In which case, a \fBport_addr \fRof \fI0 \fRis the first parallel port detected on the system, \fI1 \fRis the next, and so on.
The \fBtype \fRparameter of the configuration string determines how the I/O bits of the port are used. There are four possible options and if none is specified will default to out.
\fIin \fR\- Sets the 8 bits of the data port to input. In this mode the parallel port has a total of 13 input pins and 4 output pins.
\fIout \fR\- Sets the 8 bits of the data port to output. In this mode the parallel port has a total of 5 input pins and 12 output pins.
\fIepp \fR\- This option is the same as setting to out, but can cause the computer to change the electrical characteristics of the port. (\fISee USAGE below\fR.)
\fIx \fR\- The option allows ports with open collectorts on the control group pins to be configured as inputs resulting in 8 output pins and 9 input pins. (\fISee USAGE below\fR.)
.SH PINS
.TP
The pins created by the hal_parport component depends on how it is configured in the \fBcfg="" \fRstring passed to it. (\fISee OPTIONS\fR.)
\fBparport.<p>.pin\-<n>\-out (bit) \fRDrives a physical output pin.
\fBparport.<p>.pin\-<n>\-in (bit) \fRTracks a physical input pin.
\fBparport.<p>.pin\-<n>\-in\-not (bit) \fRTracks a physical input pin, but inverted.
For each pin created, \fB<p> \fRis the port number, and \fB<n> \fRis the physical pin number in the 25 pin D\-shell connector.
For each physical output pin, the driver creates a single HAL pin, for example: \fBparport.0.pin\-14\-out\fR.
For each physical input pin, the driver creates two HAL pins, for example: \fBparport.0.pin\-12\-in \fRand \fBparport.0.pin\-12\-in\-not\fR.
The \fB\-in \fRHAL pin is TRUE if the physical pin is high, and FALSE if the physical pin is low. The \fB\-in\-not \fRHAL pin is inverted and is FALSE if the physical pin is high.
The following lists the input and output pins by the type setting used in the cfg="" string.
\fBin\fR: Pins 2,3,4,5,6,7,8,9,10,11,12,13,15 are input pins and pins 1,14,16 and 17 are output pins.
\fBout/epp\fR: Pins 10,11,12,13 and 15 are input pins and pins 1,2,3,4,5,6,7,8,9,14,16 and 17 are output pins.
\fBx\fR: Pins 1,10,11,12,13,14,15,16 and 17 are input pins and pins 2,3,4,5,6,7,8,9 are output pins. (\fISee USAGE section\fR.)
.SH PARAMETERS
.TP
\fBparport.<p>.pin\-<n>\-out\-invert (bit)
\fRInverts an output pin.
.TP
\fBparport.<p>.pin\-<n>\-out\-reset (bit)
\fR(only for out pins) TRUE if this pin should be reset when the .reset function is executed.
.TP
\fBparport.<p>.reset\-time' (U32)
\fRThe time (in nanoseconds) between a pin is set by write and reset by the reset function if it is enabled.
.SH FUNCTIONS
.TP
\fBparport.<p>.read(funct)
\fRReads physical input pins of port <portnum> and updates HAL \-in and \-in\-not pins.
.TP
\fBparport.read\-all (funct)
Reads physical input pins of all ports and updates HAL \-in and \-in\-not pins.
.TP
\fBparport.<p>.write (funct)
Reads HAL \-out pins of port <p> and updates that ports physical output pins.
.TP
\fBparport.write\-all (funct)
Reads HAL \-out pins of all ports and updates all physical output pins.
.TP
\fBparport.<p>.reset (funct)
Waits until \fIreset\-time \fRhas elapsed since the associated write, then resets pins to values indicated by \fI\-out\-reset \fRand \fI\-out\-invert \fRsettings. reset must be later in the same thread as write. 'If '\fI\-out\-reset \fRis TRUE, then the reset function will set the pin to the value of \fI\-out\-invert\fR. This can be used in conjunction with stepgens doublefreq to produce one step per period. The stepgen stepspace for that pin must be set to 0 to enable doublefreq.
.SH USAGE
The hal_parport component is a driver for the traditional PC parallel port. The port has a total of 25 physical pins of which 17 are used for signals. The original parallel port divided those pins into three groups: data, control, and status. The data group consists of 8 output pins, the control group consists of 4 output pins, and the status group consists of 5 input pins.
In the early 1990s, the bidirectional parallel port was introduced, which allows the data group to be used for output or input. The HAL driver supports the bidirectional port, and allows the user to set the data group as either input or output. If configured as \fIout\fR, a port provides a total of 12 outputs and 5 inputs. If configured as \fIin\fR, it provides 4 outputs and 13 inputs.
In some parallel ports, the control group pins are open collectors, which may also be driven low by an external gate. On a board with open collector control pins, if configured as \fIx\fR, it provides 8 outputs, and 9 inputs.
In some parallel ports, the control group has push-pull drivers and cannot be used as an input.
.TP
\fBNote: HAL and Open Collectors
HAL cannot automatically determine if the x mode bidirectional pins are actually open collectors (OC). If they are not, they cannot be used as inputs, and attempting to drive them LOW from an external source can damage the hardware.
To determine whether your port has open collector pins, load hal_parport in x mode. With no device attached, HAL should read the pin as TRUE. Next, insert a 470 ohm resistor from one of the control pins to GND. If the resulting voltage on the control pin is close to 0V, and HAL now reads the pin as FALSE, then you have an OC port. If the resulting voltage is far from 0V, or HAL does not read the pin as FALSE, then your port cannot be used in x mode.
The external hardware that drives the control pins should also use open collector gates (e.g., 74LS05).
On some computers, BIOS settings may affect whether x mode can be used. SPP mode is most likely to work.
.PP
No other combinations are supported, and a port cannot be changed from input to output once the driver is installed.
The parport driver can control up to 8 ports (defined by MAX_PORTS in hal_parport.c). The ports are numbered starting at zero.
.TP
\fBLoading the hal_parport component
The hal_parport driver is a real time component so it must be loaded into the real time thread with loadrt. The configuration string describes the parallel ports to be used, and (optionally) their types. If the configuration string does not describe at least one port, it is an error.
\fBloadrt hal_parport cfg="port [type] [port [type] ...]"
.TP
\fBSpecifying the Port
Numbers below 16 refer to parallel ports detected by the system. This is the simplest way to configure the hal_parport driver, and cooperates with the Linux parport_pc driver if it is loaded. A port of 0 is the first parallel port detected on the system, 1 is the next, and so on.
.TP
\fBBasic configuration
This will use the first parallel port Linux detects:
\fBloadrt hal_parport cfg="0"
.TP
\fBUsing the Port Address
Instead, the port address may be specified using the hex notation 0x then the address.
\fBloadrt hal_parport cfg="0x378"
.TP
\fBSpecifying a port Type
For each parallel port handled by the hal_parport driver, a type can optionally be specified. The type is one of in, out, epp, or x.
If the type is not specified, the default is out.
A type of epp is the same as out, but the hal_parport driver requests that the port switch into EPP mode. The hal_parport driver does not use the EPP bus protocol, but on some systems EPP mode changes the electrical characteristics of the port in a way that may make some marginal hardware work better. The Gecko G540s charge pump is known to require this on some parallel ports.
See the Note above about mode x.
.TP
\fBExample with two parallel ports
This will enable two system-detected parallel ports, the first in output mode and the second in input mode:
\fBloadrt hal_parport cfg="0 out 1 in"
.TP
\fBFunctions single port
You must also direct LinuxCNC to run the read and write functions.
\fBaddf parport.read\-all base\-thread
\fBaddf parport.write\-all base\-thread
.TP
\fBFunctions multiple ports
You can direct LinuxCNC to ruin the read and write functions for all the attached ports.
\fBaddf parport.0.read base\-thread
\fBaddf parport.0.write base\-thread
\fRThe individual functions are provided for situations where one port needs to be updated in a very fast thread, but other ports can be updated in a slower thread to save CPU time. It is probably not a good idea to use both an \-all function and an individual function at the same time.
.SH SEE ALSO
Parallel Port Driver (Hardware Drivers Section of LinuxCNC Docs) PCI Parallel Port Example (Hardware Examples Section of LinuxCNC Docs)
.SH AUTHOR
This man page written by Joe Hildreth as part of the LinuxCNC project. Most of this information was taken from the parallel-port docs located in the Hardware Drivers section of the documentation. To the best of my knowledge that documentation was written by Sebastian Kuzminsky and Chris Radek.

View file

@ -46,31 +46,31 @@ interactively. Use the up arrow to recall previous commands, and press tab to
complete the names of items such as pins and signals. complete the names of items such as pins and signals.
.SH OPTIONS .SH OPTIONS
.TP .TP
\fB\-I\fR \fB-I\fR
Before tearing down the realtime environment, run an interactive halcmd. Before tearing down the realtime environment, run an interactive halcmd.
\fBhalrun\fR only. If \fB\-I\fR is used, it must precede all other \fBhalrun\fR only. If \fB-I\fR is used, it must precede all other
commandline arguments. commandline arguments.
.TP .TP
\fB\\-f\fR [\fIfile\fR] \fB\-f\fR [\fIfile\fR]
Ignore commands on command line, take input from \fIfile\fR Ignore commands on command line, take input from \fIfile\fR
instead. If \fIfile\fR is not specified, take input from instead. If \fIfile\fR is not specified, take input from
\fIstdin\fR. \fIstdin\fR.
.TP .TP
\fB\-i \fIinifile\fR \fB-i \fIinifile\fR
Use variables from \fIinifile\fR for substitutions. See \fBSUBSTITUTION\fR Use variables from \fIinifile\fR for substitutions. See \fBSUBSTITUTION\fR
below. below.
.TP .TP
\fB\\-k\fR \fB\-k\fR
Keep going after failed command(s). The default is to stop Keep going after failed command(s). The default is to stop
and return failure if any command fails. and return failure if any command fails.
.TP .TP
\fB\\-q\fR \fB\-q\fR
display errors only (default) display errors only (default)
.TP .TP
\fB\\-Q\fR \fB\-Q\fR
display nothing, execute commands silently display nothing, execute commands silently
.TP .TP
\fB\\-s\fR \fB\-s\fR
Script-friendly mode. In this mode, \fIshow\fR will not output titles for the items Script-friendly mode. In this mode, \fIshow\fR will not output titles for the items
shown. Also, module names will be printed instead of ID codes in pin, param, and funct shown. Also, module names will be printed instead of ID codes in pin, param, and funct
listings. Threads are printed on a single line, with the thread period, FP usage and listings. Threads are printed on a single line, with the thread period, FP usage and
@ -78,22 +78,22 @@ name first, followed by all of the functions in the thread, in execution order.
are printed on a single line, with the type, value, and signal name first, followed by are printed on a single line, with the type, value, and signal name first, followed by
a list of pins connected to the signal, showing both the direction and the pin name. a list of pins connected to the signal, showing both the direction and the pin name.
.TP .TP
\fB\-R\fR \fB-R\fR
Release the HAL mutex. This is useful for recovering when a HAL component has crashed Release the HAL mutex. This is useful for recovering when a HAL component has crashed
while holding the HAL mutex. while holding the HAL mutex.
.TP .TP
\fB\\-v\fR \fB\-v\fR
display results of each command display results of each command
.TP .TP
\fB\\-V\fR \fB\-V\fR
display lots of debugging junk display lots of debugging junk
.TP .TP
\fB\\-h\fR [\fIcommand\fR] \fB\-h\fR [\fIcommand\fR]
display a help screen and exit, displays extended help on \fIcommand\fR if specified display a help screen and exit, displays extended help on \fIcommand\fR if specified
.SH COMMANDS .SH COMMANDS
Commands tell \fBhalcmd\fR what to do. Normally \fBhalcmd\fR Commands tell \fBhalcmd\fR what to do. Normally \fBhalcmd\fR
reads a single command from the command line and executes it. reads a single command from the command line and executes it.
If the '\fB\-f\fR' option is used to read commands from a file, If the '\fB-f\fR' option is used to read commands from a file,
\fBhalcmd\fR reads each line of the file as a new command. \fBhalcmd\fR reads each line of the file as a new command.
Anything following '\fB#\fR' on a line is a comment. Anything following '\fB#\fR' on a line is a comment.
.TP .TP
@ -131,21 +131,21 @@ also works by execing \fBlinuxcnc_module_helper\fR or \fBrtapi_app\fR, just like
\fI[flags]\fR may be one or more of: \fI[flags]\fR may be one or more of:
.RS .RS
.IP \(bu 4 .IP \(bu 4
\fB\-W\fR to wait for the component to become ready. The component \fB-W\fR to wait for the component to become ready. The component
is assumed to have the same name as the first argument of the command. is assumed to have the same name as the first argument of the command.
.IP \(bu 4 .IP \(bu 4
\fB\-Wn name\fR to wait for the component, which will have the given \fB-Wn name\fR to wait for the component, which will have the given
name. name.
.IP \(bu 4 .IP \(bu 4
\fB\-w\fR to wait for the program to exit \fB-w\fR to wait for the program to exit
.IP \(bu 4 .IP \(bu 4
\fB\-i\fR to ignore the program return value (with \-w) \fB-i\fR to ignore the program return value (with -w)
.RE .RE
.TP .TP
\fBwaitusr\fR \fIname\fR \fBwaitusr\fR \fIname\fR
(\fIwait\fR for \fIUs\fRe\fIr\fRspace component) Waits for user (\fIwait\fR for \fIUs\fRe\fIr\fRspace component) Waits for user
space component \fIname\fR to disconnect from HAL (usually on exit). space component \fIname\fR to disconnect from HAL (usually on exit).
The component must already be loaded. Useful near the end of a The component must already be loaded. Usefull near the end of a
HAL file to wait until the user closes some user interface component HAL file to wait until the user closes some user interface component
before cleaning up and exiting. before cleaning up and exiting.
.TP .TP
@ -279,7 +279,7 @@ Prints HAL items to \fIstdout\fR in human readable format.
\fIitem\fR can be one of "\fBcomp\fR" (components), "\fBpin\fR", \fIitem\fR can be one of "\fBcomp\fR" (components), "\fBpin\fR",
"\fBsig\fR" (signals), "\fBparam\fR" (parameters), "\fBfunct\fR" "\fBsig\fR" (signals), "\fBparam\fR" (parameters), "\fBfunct\fR"
(functions), "\fBthread\fR", or "\fBalias\fR". The type "\fBall\fR" (functions), "\fBthread\fR", or "\fBalias\fR". The type "\fBall\fR"
can be used to show matching items of all the preceding types. can be used to show matching items of all the preceeding types.
If \fIitem\fR is omitted, \fBshow\fR will print everything. If \fIitem\fR is omitted, \fBshow\fR will print everything.
.TP .TP
\fBitem\fR \fBitem\fR
@ -289,7 +289,7 @@ This is equivalent to \fBshow all [item]\fR.
\fBsave\fR [\fIitem\fR] \fBsave\fR [\fIitem\fR]
Prints HAL items to \fIstdout\fR in the form of HAL commands. Prints HAL items to \fIstdout\fR in the form of HAL commands.
These commands can be redirected to a file and later executed These commands can be redirected to a file and later executed
using \fBhalcmd \-f\fR to restore the saved configuration. using \fBhalcmd -f\fR to restore the saved configuration.
\fIitem\fR can be one of the following: \fIitem\fR can be one of the following:
"\fBcomp\fR" generates "\fBcomp\fR" generates
@ -350,7 +350,7 @@ Removes any alias from the pin or parameter alias.
those names that match the pattern, which may be a those names that match the pattern, which may be a
'shell glob'. 'shell glob'.
For '\fBsig\fR', '\fBpin\fR' and '\fBparam\fR', the first pattern may be For '\fBsig\fR', '\fBpin\fR' and '\fBparam\fR', the first pattern may be
\-t\fBdatatype\fR where datatype is the data type (e.g., 'float') -t\fBdatatype\fR where datatype is the data type (e.g., 'float')
in this case, the listed pins, signals, or parameters in this case, the listed pins, signals, or parameters
are restricted to the given data type are restricted to the given data type
Names are printed on a single line, space separated. Names are printed on a single line, space separated.
@ -385,7 +385,7 @@ Environment variables have the following formats:
\fB$(ENVVAR)\fR \fB$(ENVVAR)\fR
.SS Inifile Variables .SS Inifile Variables
Inifile variables are available only when an inifile was specified with the Inifile variables are available only when an inifile was specified with the
halcmd \fB\-i\fR flag. They have the following formats: halcmd \fB-i\fR flag. They have the following formats:
.IP .IP
\fB[SECTION]VAR\fR followed by end-of-line or whitespace \fB[SECTION]VAR\fR followed by end-of-line or whitespace
.IP .IP

View file

@ -29,39 +29,39 @@ halcompile \- Build, compile and install LinuxCNC HAL components
.PD 0 .PD 0
.RS 5 .RS 5
.PP .PP
\fBhalcompile\fR [\fB\-\-compile\fR|\fB\-\-preprocess\fR|\fB\-\-document\fR|\fB\-\-view\-doc\fR] compfile... \fBhalcompile\fR [\fB--compile\fR|\fB--preprocess\fR|\fB--document\fR|\fB--view-doc\fR] compfile...
.RE .RE
.PP .PP
\fIsudo\fR \fBhalcompile\fR [\fB\-\-install\fR|\fB\-\-install\-doc\fR] compfile... \fIsudo\fR \fBhalcompile\fR [\fB--install\fR|\fB--install-doc\fR] compfile...
.RS 5 .RS 5
.PP .PP
\fBhalcompile\fR \fB\-\-compile\fR \fB\-\-userspace\fR cfile... \fBhalcompile\fR \fB--compile\fR \fB--userspace\fR cfile...
.RE .RE
.PP .PP
\fIsudo\fR \fBhalcompile\fR \fB\-\-install\fR \fB\-\-userspace\fR cfile... \fIsudo\fR \fBhalcompile\fR \fB--install\fR \fB--userspace\fR cfile...
.PP .PP
\fIsudo\fR \fBhalcompile\fR \fB\-\-install\fR \fB\-\-userspace\fR pyfile... \fIsudo\fR \fBhalcompile\fR \fB--install\fR \fB--userspace\fR pyfile...
.PD .PD
.SH DESCRIPTION .SH DESCRIPTION
\fBhalcompile\fR performs many different functions: \fBhalcompile\fR performs many different functions:
.IP \(bu 4 .IP \(bu 4
Compile \fB.comp\fR and \fB.c\fR files into \fB.so\fR or \fB.ko\fR HAL realtime components (the \fB\-\-compile\fR flag) Compile \fB.comp\fR and \fB.c\fR files into \fB.so\fR or \fB.ko\fR HAL realtime components (the \fB--compile\fR flag)
.IP \(bu 4 .IP \(bu 4
Compile \fB.comp\fR and \fB.c\fR files into HAL userspace components (the \fB\-\-compile \-\-userspace\fR flag) Compile \fB.comp\fR and \fB.c\fR files into HAL userspace components (the \fB--compile --userspace\fR flag)
.IP \(bu 4 .IP \(bu 4
Preprocess \fB.comp\fR files into \fB.c\fR files (the \fB\-\-preprocess\fR flag) Preprocess \fB.comp\fR files into \fB.c\fR files (the \fB--preprocess\fR flag)
.IP \(bu 4 .IP \(bu 4
Extract documentation from \fB.comp\fR files into \fB.9\fR manpage files (the \fB\-\-document\fR flag) Extract documentation from \fB.comp\fR files into \fB.9\fR manpage files (the \fB--document\fR flag)
.IP \(bu 4 .IP \(bu 4
Display documentation from \fB.comp\fR files onscreen (the \fB\-\-view\-doc\fR flag) Display documentation from \fB.comp\fR files onscreen (the \fB--view-doc\fR flag)
.IP \(bu 4 .IP \(bu 4
Compile and install \fB.comp\fR and \fB.c\fR files into the proper directory for HAL realtime components (the \fB\-\-install\fR flag), which may require \fIsudo\fR to write to system directories. Compile and install \fB.comp\fR and \fB.c\fR files into the proper directory for HAL realtime components (the \fB--install\fR flag), which may require \fIsudo\fR to write to system directories.
.IP \(bu 4 .IP \(bu 4
Install \fB.c\fR and \fB.py\fR files into the proper directory for HAL userspace components (the \fB\-\-install \-\-userspace\fR flag), which may require \fIsudo\fR to write to system directories. Install \fB.c\fR and \fB.py\fR files into the proper directory for HAL userspace components (the \fB--install --userspace\fR flag), which may require \fIsudo\fR to write to system directories.
.IP \(bu 4 .IP \(bu 4
Extract documentation from \fB.comp\fR files into \fB.9\fR manpage files in the proper system directory (the \fB\-\-install\fR flag), which may require \fIsudo\fR to write to system directories. Extract documentation from \fB.comp\fR files into \fB.9\fR manpage files in the proper system directory (the \fB--install\fR flag), which may require \fIsudo\fR to write to system directories.
.IP \(bu 4 .IP \(bu 4
Preprocess \fB.comp\fR files into \fB.c\fR files (the \fB\-\-preprocess\fR flag) Preprocess \fB.comp\fR files into \fB.c\fR files (the \fB--preprocess\fR flag)
.SH "SEE ALSO" .SH "SEE ALSO"
\fIHalcompile HAL Component Generator\fR in the LinuxCNC documentation for a full description of the \fB.comp\fR syntax, along with examples \fIHalcompile HAL Component Generator\fR in the LinuxCNC documentation for a full description of the \fB.comp\fR syntax, along with examples

View file

@ -28,7 +28,7 @@
halmeter \- observe HAL pins, signals, and parameters halmeter \- observe HAL pins, signals, and parameters
.SH SYNOPSIS .SH SYNOPSIS
.B halmeter .B halmeter
[\fB\-s\fR] [\fBpin\fR|\fBsig\fR|\fBparam\fR \fIname\fR] [\fB\-g\fR \fIX-positon Y-position [Width]\fR] [\fB-s\fR] [\fBpin\fR|\fBsig\fR|\fBparam\fR \fIname\fR] [\fB-g\fR \fIX-positon Y-position [Width]\fR]
.SH DESCRIPTION .SH DESCRIPTION
\fBhalmeter\fR is used to observe HAL (Hardware Abstraction \fBhalmeter\fR is used to observe HAL (Hardware Abstraction
Layer) pins, signals, or parameters. It serves the same Layer) pins, signals, or parameters. It serves the same
@ -47,20 +47,20 @@ display the HAL parameter \fIname\fR.
If neither \fBpin\fR, \fBsig\fR, or \fBparam\fR are specified, the If neither \fBpin\fR, \fBsig\fR, or \fBparam\fR are specified, the
window starts out blank and the user must select an item to observe. window starts out blank and the user must select an item to observe.
.TP .TP
\fB\\-s\fR \fB\-s\fR
small window. Non-interactive, must be used with \fBpin\fR, \fBsig\fR, small window. Non-interactive, must be used with \fBpin\fR, \fBsig\fR,
or \fBparam\fR to select the item to display. The item name is displayed or \fBparam\fR to select the item to display. The item name is displayed
in the title bar instead of the window, and there are no "Select" or "Exit" in the title bar instead of the window, and there are no "Select" or "Exit"
buttons. Handy when you want a lot of meters in a small space. buttons. Handy when you want a lot of meters in a small space.
.TP .TP
\fB\\-g\fR \fB\-g\fR
geometry position. allows one to specify the initial starting position geometry position. allows one to specify the intial starting position
and optionally the width of the meter. Referenced from top left of screen and optionally the width of the meter. Referenced from top left of screen
in pixel units. in pixel units.
Handy when you want to load a lot of meters in a script with out them Handy when you want to load a lot of meters in a script with out them
displaying on top of each other. displaying on top of each other.
.SH USAGE .SH USAGE
Unless \fB\\-s\fR is specified, there are two buttons, "Select" and "Exit". Unless \fB\-s\fR is specified, there are two buttons, "Select" and "Exit".
"Select" opens a dialog box to select the item (pin, signal, or parameter) "Select" opens a dialog box to select the item (pin, signal, or parameter)
to be observed. "Exit" does what you expect. to be observed. "Exit" does what you expect.
@ -82,24 +82,24 @@ Open a meter window, with nothing initially displayed. Use the "Select"
button to choose an item. Runs in the background leaving the shell button to choose an item. Runs in the background leaving the shell
free for other commands. free for other commands.
.TP .TP
\fBhalmeter pin\fR \fIparport.0.pin\-03\-out\fR \fB&\fR \fBhalmeter pin\fR \fIparport.0.pin-03-out\fR \fB&\fR
Open a meter window, initially displaying HAL pin \fIparport.0.pin\-03\-out\fR. Open a meter window, initially displaying HAL pin \fIparport.0.pin-03-out\fR.
The "Select" button can be used to display other items. Runs in background. The "Select" button can be used to display other items. Runs in background.
.TP .TP
\fBhalmeter \-s pin\fR \fIparport.0.pin\-03\-out\fR \fB&\fR \fBhalmeter -s pin\fR \fIparport.0.pin-03-out\fR \fB&\fR
Open a small meter window, displaying HAL pin \fIparport.0.pin\-03\-out\fR. Open a small meter window, displaying HAL pin \fIparport.0.pin-03-out\fR.
The displayed item cannot be changed. Runs in background. The displayed item cannot be changed. Runs in background.
.TP .TP
\fBhalmeter \-s pin\fR \fIparport.0.pin\-03\-out\fR \fB\-g\fR \fI100 500\fR \fB&\fR \fBhalmeter -s pin\fR \fIparport.0.pin-03-out\fR \fB-g\fR \fI100 500\fR \fB&\fR
Open a small meter window, displaying HAL pin \fIparport.0.pin\-03\-out\fR. Open a small meter window, displaying HAL pin \fIparport.0.pin-03-out\fR.
places it 100 pixels to the left and 500 pixels down from top of screen. places it 100 pixels to the left and 500 pixels down from top of screen.
The displayed item cannot be changed. Runs in background. The displayed item cannot be changed. Runs in background.
.TP .TP
\fBhalmeter \-s pin\fR \fIparport.0.pin\-03\-out\fR \fB\-g\fR \fI100 500 400\fR \fB&\fR \fBhalmeter -s pin\fR \fIparport.0.pin-03-out\fR \fB-g\fR \fI100 500 400\fR \fB&\fR
Open a small meter window, displaying HAL pin \fIparport.0.pin\-03\-out\fR. Open a small meter window, displaying HAL pin \fIparport.0.pin-03-out\fR.
places it 100 pixels to the left and 500 pixels down from top of screen. places it 100 pixels to the left and 500 pixels down from top of screen.
The width will be 400 pixels (270 is default) The width will be 400 pixels (270 is default)
The displayed item cannot be changed. Runs in background. The displayed item cannot be changed. Runs in background.

View file

@ -31,13 +31,13 @@
.SH NAME .SH NAME
halrun \- manipulate the LinuxCNC HAL from the command line halrun \- manipulate the LinuxCNC HAL from the command line
.SH SYNOPSIS .SH SYNOPSIS
.B halrun \fI\-h\fR .B halrun \fI-h\fR
.PP .PP
.B halrun [\fI\-I\fR] [\fIhalcmd_opts\fR] [\fIfilename[.hal|.tcl]\fR] .B halrun [\fI-I\fR] [\fIhalcmd_opts\fR] [\fIfilename[.hal|.tcl]\fR]
.PP .PP
.B halrun \fI\-T\fR [\fIhalcmd_opts\fR] [\fIfilename[.hal|.tcl]\fR] .B halrun \fI-T\fR [\fIhalcmd_opts\fR] [\fIfilename[.hal|.tcl]\fR]
.PP .PP
.B halrun \fI\-U\fR .B halrun \fI-U\fR
.SH DESCRIPTION .SH DESCRIPTION
\fBhalrun\fR is a convenience script used to manipulate the HAL (Hardware \fBhalrun\fR is a convenience script used to manipulate the HAL (Hardware
Abstraction Layer) from the command line. When invoked, \fBhalrun\fR: Abstraction Layer) from the command line. When invoked, \fBhalrun\fR:
@ -48,41 +48,41 @@ Abstraction Layer) from the command line. When invoked, \fBhalrun\fR:
Tears down the realtime environment. Tears down the realtime environment.
If no filename is specified, an interactive session is started. If no filename is specified, an interactive session is started.
The session will use \fBhalcmd\fR(1) unless \-T is specified in The session will use \fBhalcmd\fR(1) unless -T is specified in
which case \fBhaltcl\fR(1) will be used. which case \fBhaltcl\fR(1) will be used.
If a filename is specified and neither the \-I nor the \-T option If a filename is specifed and neither the -I nor the -T option
is included, the filename will be processed by the command is included, the filename will be processed by the command
interpreter corresponding to the filename extension (\fBhalcmd\fR interpreter corresponding to the filename extension (\fBhalcmd\fR
or \fBhaltcl\fR). After processing, the realtime environment or \fBhaltcl\fR). After processing, the realtime environment
will be torn down. will be torn down.
If a filename is specified and the \-I or \-T option is included, If a filename is specifed and the -I or -T option is included,
the file is processed by the appropriate command interpreter and the file is processed by the appropriate command interpreter and
then an interactive session is started for \fBhalcmd\fR or then an interactive session is started for \fBhalcmd\fR or
\fBhaltcl\fR according to the \-I or \-T option. \fBhaltcl\fR according to the -I or -T option.
.SH OPTIONS .SH OPTIONS
.TP .TP
\fBhalcmd_opts\fR \fBhalcmd_opts\fR
When a .hal file is specified, the \fBhalcmd_opts\fR are When a .hal file is specifed, the \fBhalcmd_opts\fR are
passed to \fBhalcmd\fR. See the man page for \fBhalcmd\fR(1). passed to \fBhalcmd\fR. See the man page for \fBhalcmd\fR(1).
When a .tcl file is specified, the only valid options are: When a .tcl file is specified, the only valid options are:
\-i inifile -i inifile
\-f filename[.tcl|.hal] (alternate means of specifying a file) -f filename[.tcl|.hal] (alternate means of specifying a file)
.TP .TP
\fB\-I\fR \fB-I\fR
Run an interactive \fBhalcmd\fR session Run an interactive \fBhalcmd\fR session
.TP .TP
\fB\-T\fR \fB-T\fR
Run an interactive \fBhaltcl\fR session. Run an interactive \fBhaltcl\fR session.
.TP .TP
\fB\-U\fR \fB-U\fR
Forcibly cause the realtime environment to exit. It releases the HAL mutex, Forcibly cause the realtime environment to exit. It releases the HAL mutex,
requests that all HAL components unload, and stops the realtime system. requests that all HAL components unload, and stops the realtime system.
\fB\-U\fR must be the only commandline argument. \fB-U\fR must be the only commandline argument.
.TP .TP
\fB\\-h\fR \fB\-h\fR
display a brief help screen and exit display a brief help screen and exit
.SH EXAMPLES .SH EXAMPLES
.SH HISTORY .SH HISTORY

View file

@ -43,7 +43,7 @@ be redirected to a file or piped to some other program.
.SH OPTIONS .SH OPTIONS
.TP .TP
.BI "\-c " CHAN .BI "-c " CHAN
instructs instructs
.B halsampler .B halsampler
to read from FIFO to read from FIFO
@ -51,18 +51,18 @@ to read from FIFO
FIFOs are numbered from zero, and the default value is zero, so FIFOs are numbered from zero, and the default value is zero, so
this option is not needed unless multiple FIFOs have been created. this option is not needed unless multiple FIFOs have been created.
.TP .TP
.BI "\-n " COUNT .BI "-n " COUNT
instructs instructs
.B halsampler .B halsampler
to read to read
.I COUNT .I COUNT
samples from the FIFO, then exit. If samples from the FIFO, then exit. If
.B \-n .B -n
is not specified, is not specified,
.B halsampler .B halsampler
will read continuously until it is killed. will read continuously until it is killed.
.TP .TP
.B \-t .B -t
instructs instructs
.B halsampler .B halsampler
to tag each line by printing the sample number in the first column. to tag each line by printing the sample number in the first column.
@ -83,21 +83,21 @@ command in a .hal file. Then
can be invoked to begin printing data from the FIFO to stdout. can be invoked to begin printing data from the FIFO to stdout.
.P .P
Data is printed one line per sample. If Data is printed one line per sample. If
.B \-t .B -t
was specified, the sample number is printed first. The data follows, in the was specified, the sample number is printed first. The data follows, in the
order that the pins were defined in the config string. For example, if the order that the pins were defined in the config string. For example, if the
.B sampler .B sampler
config string was "ffbs" then a typical line of output (without config string was "ffbs" then a typical line of output (without
.BR \-t ) .BR -t )
would look like: would look like:
.P .P
123.55 33.4 0 \-12 123.55 33.4 0 -12
.P .P
.B halsampler .B halsampler
prints data as fast as possible until the FIFO is empty, then it retries at regular intervals, until it is either killed or has printed prints data as fast as possible until the FIFO is empty, then it retries at regular intervals, until it is either killed or has printed
.I COUNT .I COUNT
samples as requested by samples as requested by
.BR \-n . .BR -n .
Usually, but not always, data printed by Usually, but not always, data printed by
.B halsampler .B halsampler
will be redirected to a file or piped to some other program. will be redirected to a file or piped to some other program.
@ -109,7 +109,7 @@ is forced to overwrite old data,
.B halsampler .B halsampler
will print 'overrun' on a line by itself to mark each gap in the sampled will print 'overrun' on a line by itself to mark each gap in the sampled
data. If data. If
.B \-t .B -t
was specified, gaps in the sequential sample numbers in the first column was specified, gaps in the sequential sample numbers in the first column
can be used to determine exactly how many samples were lost. can be used to determine exactly how many samples were lost.
.P .P
@ -122,7 +122,7 @@ input, so 'waveforms' captured with
can be replayed using can be replayed using
.BR halstreamer . .BR halstreamer .
The The
.B \-t .B -t
option should not be used in this case. option should not be used in this case.
.SH "EXIT STATUS" .SH "EXIT STATUS"
@ -133,11 +133,11 @@ prints a message to stderr and returns failure.
Upon printing Upon printing
.I COUNT .I COUNT
samples (if samples (if
.B \-n .B -n
was specified) it will shut down and return success. If it is terminated was specified) it will shut down and return success. If it is terminated
before printing the specified number of samples, it returns failure. This before printing the specified number of samples, it returns failure. This
means that when means that when
.B \-n .B -n
is not specified, it will always return failure when terminated. is not specified, it will always return failure when terminated.
.SH "SEE ALSO" .SH "SEE ALSO"

View file

@ -44,7 +44,7 @@ can write it to the HAL pins.
.SH OPTIONS .SH OPTIONS
.TP .TP
.BI "\-c " CHAN .BI "-c " CHAN
instructs instructs
.B halstreamer .B halstreamer
to write to FIFO to write to FIFO
@ -77,7 +77,7 @@ config string was "ffbs" then each
line of input must consist of two floats, a bit, and a signed integer, in that line of input must consist of two floats, a bit, and a signed integer, in that
order and separated by whitespace. Floats must be formatted as required by order and separated by whitespace. Floats must be formatted as required by
.BR strtod (3), .BR strtod (3),
signed and unsigned integers must be formatted as required by signed and unsigned integers must be formated as required by
.BR strtol (3) .BR strtol (3)
and and
.BR strtoul (3), .BR strtoul (3),

View file

@ -30,10 +30,10 @@
.TH HALTCL "1" "2012-01-31" "LinuxCNC Documentation" "HAL User's Manual" .TH HALTCL "1" "2012-01-31" "LinuxCNC Documentation" "HAL User's Manual"
.SH NAME .SH NAME
haltcl \- manipulate the LinuxCNC HAL from the command line using a tcl haltcl \- manipulate the LinuxCNC HAL from the command line using a tcl
interpreter. interpeter.
.SH SYNOPSIS .SH SYNOPSIS
.B haltcl [\fI\-i inifile\fR] [\fIfilename\fR\] .B haltcl [\fI-i inifile\fR] [\fIfilename\fR\]
.PP .PP
.SH DESCRIPTION .SH DESCRIPTION
@ -44,7 +44,7 @@ complex HAL configurations to be set up with a single command.
.SH OPTIONS .SH OPTIONS
.TP .TP
\fB\-i\fR \fIinifile\fR \fB-i\fR \fIinifile\fR
If specified, the inifile is read and used to create tcl global variable If specified, the inifile is read and used to create tcl global variable
arrays. An array is created for each SECTION of the inifile with arrays. An array is created for each SECTION of the inifile with
elements for each ITEM in the section. elements for each ITEM in the section.
@ -59,7 +59,7 @@ elements for each ITEM in the section.
SECTION_A(ITEM_2) = 2 SECTION_A(ITEM_2) = 2
SECTION_B(ITEM_1) = 10 SECTION_B(ITEM_1) = 10
.TP .TP
\fB\-ini\fR \fIinifile\fR -- declining usage, use \fB\-i\fR \fIinifile\fR \fB-ini\fR \fIinifile\fR -- declining usage, use \fB-i\fR \fIinifile\fR
.TP .TP
\fBfilename\fR \fBfilename\fR
If specified, the tcl commands of \fBfilename\fR are executed. If no filename If specified, the tcl commands of \fBfilename\fR are executed. If no filename
@ -70,7 +70,7 @@ is specified, haltcl opens an interactive session.
commands for the hal language as described for \fBhalcmd\fR(1). The augmented commands for the hal language as described for \fBhalcmd\fR(1). The augmented
commands can be listed with the command: commands can be listed with the command:
haltcl: hal \-\-commands haltcl: hal --commands
addf alias delf delsig getp gets ptype stype help linkpp linkps linksp list loadrt loadusr lock net newsig save setexact_for_test_suite_only setp sets show source start status stop unalias unlinkp unload unloadrt unloadusr unlock waitusr addf alias delf delsig getp gets ptype stype help linkpp linkps linksp list loadrt loadusr lock net newsig save setexact_for_test_suite_only setp sets show source start status stop unalias unlinkp unload unloadrt unloadusr unlock waitusr

View file

@ -28,14 +28,14 @@
halui \- observe HAL pins and command LinuxCNC through NML halui \- observe HAL pins and command LinuxCNC through NML
.SH SYNOPSIS .SH SYNOPSIS
.B halui .B halui
[\fB\-ini <path-to-ini>\fR] [\fB-ini <path-to-ini>\fR]
.SH DESCRIPTION .SH DESCRIPTION
\fBhalui\fR is used to build a User Interface using hardware knobs \fBhalui\fR is used to build a User Interface using hardware knobs
and switches. It exports a big number of pins, and acts accordingly and switches. It exports a big number of pins, and acts accordingly
when these change. when these change.
.SH OPTIONS .SH OPTIONS
.TP .TP
\fB\-ini name\fR \fB-ini name\fR
use the \fIname\fR as the configuration file. Note: halui must find the use the \fIname\fR as the configuration file. Note: halui must find the
nml file specified in the ini, usually that file is in the same 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. folder as the ini, so it makes sense to run halui from that folder.
@ -55,31 +55,31 @@ pin for clearing most errors
.SS tool .SS tool
.TP .TP
.B halui.tool.length\-offset.a\fR float out \fR .B halui.tool.length-offset.a\fR float out \fR
current applied tool length offset for the A axis current applied tool length offset for the A axis
.TP .TP
.B halui.tool.length\-offset.b\fR float out \fR .B halui.tool.length-offset.b\fR float out \fR
current applied tool length offset for the B axis current applied tool length offset for the B axis
.TP .TP
.B halui.tool.length\-offset.c\fR float out \fR .B halui.tool.length-offset.c\fR float out \fR
current applied tool length offset for the C axis current applied tool length offset for the C axis
.TP .TP
.B halui.tool.length\-offset.u\fR float out \fR .B halui.tool.length-offset.u\fR float out \fR
current applied tool length offset for the U axis current applied tool length offset for the U axis
.TP .TP
.B halui.tool.length\-offset.v\fR float out \fR .B halui.tool.length-offset.v\fR float out \fR
current applied tool length offset for the V axis current applied tool length offset for the V axis
.TP .TP
.B halui.tool.length\-offset.w\fR float out \fR .B halui.tool.length-offset.w\fR float out \fR
current applied tool length offset for the W axis current applied tool length offset for the W axis
.TP .TP
.B halui.tool.length\-offset.x\fR float out \fR .B halui.tool.length-offset.x\fR float out \fR
current applied tool length offset for the X axis current applied tool length offset for the X axis
.TP .TP
.B halui.tool.length\-offset.y\fR float out \fR .B halui.tool.length-offset.y\fR float out \fR
current applied tool length offset for the Y axis current applied tool length offset for the Y axis
.TP .TP
.B halui.tool.length\-offset.z\fR float out \fR .B halui.tool.length-offset.z\fR float out \fR
current applied tool length offset for the Z axis current applied tool length offset for the Z axis
.TP .TP
.B halui.tool.number\fR u32 out \fR .B halui.tool.number\fR u32 out \fR
@ -87,13 +87,13 @@ current selected tool
.SS spindle .SS spindle
.TP .TP
.B halui.spindle.brake\-is\-on\fR bit out \fR .B halui.spindle.brake-is-on\fR bit out \fR
status pin that tells us if brake is on status pin that tells us if brake is on
.TP .TP
.B halui.spindle.brake\-off\fR bit in \fR .B halui.spindle.brake-off\fR bit in \fR
pin for deactivating the spindle brake pin for deactivating the spindle brake
.TP .TP
.B halui.spindle.brake\-on\fR bit in \fR .B halui.spindle.brake-on\fR bit in \fR
pin for activating the spindle brake pin for activating the spindle brake
.TP .TP
.B halui.spindle.decrease\fR bit in \fR .B halui.spindle.decrease\fR bit in \fR
@ -105,16 +105,16 @@ a rising edge on this pin makes the spindle go forward
.B halui.spindle.increase\fR bit in \fR .B halui.spindle.increase\fR bit in \fR
a rising edge on this pin increases the current spindle speed by 100 a rising edge on this pin increases the current spindle speed by 100
.TP .TP
.B halui.spindle.is\-on\fR bit out \fR .B halui.spindle.is-on\fR bit out \fR
status pin telling if the spindle is on status pin telling if the spindle is on
.TP .TP
.B halui.spindle.reverse\fR bit in \fR .B halui.spindle.reverse\fR bit in \fR
a rising edge on this pin makes the spindle go reverse a rising edge on this pin makes the spindle go reverse
.TP .TP
.B halui.spindle.runs\-backward\fR bit out \fR .B halui.spindle.runs-backward\fR bit out \fR
status pin telling if the spindle is running backward status pin telling if the spindle is running backward
.TP .TP
.B halui.spindle.runs\-forward\fR bit out \fR .B halui.spindle.runs-forward\fR bit out \fR
status pin telling if the spindle is running forward status pin telling if the spindle is running forward
.TP .TP
.B halui.spindle.start\fR bit in \fR .B halui.spindle.start\fR bit in \fR
@ -125,54 +125,54 @@ a rising edge on this pin stops the spindle
.SS spindle override .SS spindle override
.TP .TP
.B halui.spindle\-override.count\-enable\fR bit in \fR (default: \fBTRUE\fR) .B halui.spindle-override.count-enable\fR bit in \fR (default: \fBTRUE\fR)
When TRUE, modify spindle override when counts changes. When TRUE, modify spindle override when counts changes.
.TP .TP
.B halui.spindle\-override.counts\fR s32 in \fR .B halui.spindle-override.counts\fR s32 in \fR
counts X scale = spindle override percentage counts X scale = spindle override percentage
.TP .TP
.B halui.spindle\-override.decrease\fR bit in \fR .B halui.spindle-override.decrease\fR bit in \fR
pin for decreasing the SO (\-=scale) pin for decreasing the SO (-=scale)
.TP .TP
.B halui.spindle\-override.direct\-value\fR bit in \fR .B halui.spindle-override.direct-value\fR bit in \fR
pin to enable direct spindle override value input pin to enable direct spindle override value input
.TP .TP
.B halui.spindle\-override.increase\fR bit in \fR .B halui.spindle-override.increase\fR bit in \fR
pin for increasing the SO (+=scale) pin for increasing the SO (+=scale)
.TP .TP
.B halui.spindle\-override.scale\fR float in \fR .B halui.spindle-override.scale\fR float in \fR
pin for setting the scale of counts for SO pin for setting the scale of counts for SO
.TP .TP
.B halui.spindle\-override.value\fR float out \fR .B halui.spindle-override.value\fR float out \fR
current FO value current FO value
.SS program .SS program
.TP .TP
.B halui.program.block\-delete.is\-on\fR bit out \fR .B halui.program.block-delete.is-on\fR bit out \fR
status pin telling that block delete is on status pin telling that block delete is on
.TP .TP
.B halui.program.block\-delete.off\fR bit in \fR .B halui.program.block-delete.off\fR bit in \fR
pin for requesting that block delete is off pin for requesting that block delete is off
.TP .TP
.B halui.program.block\-delete.on\fR bit in \fR .B halui.program.block-delete.on\fR bit in \fR
pin for requesting that block delete is on pin for requesting that block delete is on
.TP .TP
.B halui.program.is\-idle\fR bit out \fR .B halui.program.is-idle\fR bit out \fR
status pin telling that no program is running status pin telling that no program is running
.TP .TP
.B halui.program.is\-paused\fR bit out \fR .B halui.program.is-paused\fR bit out \fR
status pin telling that a program is paused status pin telling that a program is paused
.TP .TP
.B halui.program.is\-running\fR bit out \fR .B halui.program.is-running\fR bit out \fR
status pin telling that a program is running status pin telling that a program is running
.TP .TP
.B halui.program.optional\-stop.is\-on\fR bit out \fR .B halui.program.optional-stop.is-on\fR bit out \fR
status pin telling that the optional stop is on status pin telling that the optional stop is on
.TP .TP
.B halui.program.optional\-stop.off\fR bit in \fR .B halui.program.optional-stop.off\fR bit in \fR
pin requesting that the optional stop is off pin requesting that the optional stop is off
.TP .TP
.B halui.program.optional\-stop.on\fR bit in \fR .B halui.program.optional-stop.on\fR bit in \fR
pin requesting that the optional stop is on pin requesting that the optional stop is on
.TP .TP
.B halui.program.pause\fR bit in \fR .B halui.program.pause\fR bit in \fR
@ -196,19 +196,19 @@ pin for stopping a program
.B halui.mode.auto\fR bit in \fR .B halui.mode.auto\fR bit in \fR
pin for requesting auto mode pin for requesting auto mode
.TP .TP
.B halui.mode.is\-auto\fR bit out \fR .B halui.mode.is-auto\fR bit out \fR
pin for auto mode is on pin for auto mode is on
.TP .TP
.B halui.mode.is\-joint\fR bit out \fR .B halui.mode.is-joint\fR bit out \fR
pin showing joint by joint jog mode is on pin showing joint by joint jog mode is on
.TP .TP
.B halui.mode.is\-manual\fR bit out \fR .B halui.mode.is-manual\fR bit out \fR
pin for manual mode is on pin for manual mode is on
.TP .TP
.B halui.mode.is\-mdi\fR bit out \fR .B halui.mode.is-mdi\fR bit out \fR
pin for mdi mode is on pin for mdi mode is on
.TP .TP
.B halui.mode.is\-teleop\fR bit out \fR .B halui.mode.is-teleop\fR bit out \fR
pin showing coordinated jog mode is on pin showing coordinated jog mode is on
.TP .TP
.B halui.mode.joint\fR bit in \fR .B halui.mode.joint\fR bit in \fR
@ -225,16 +225,16 @@ pin for requesting coordinated jog mode
.SS mdi \fR(optional) .SS mdi \fR(optional)
.TP .TP
.B halui.mdi\-command\-XX\fR bit in .B halui.mdi-command-XX\fR bit in
\fBhalui\fR looks for ini variables named [HALUI]MDI_COMMAND, and \fBhalui\fR looks for ini variables named [HALUI]MDI_COMMAND, and
exports a pin for each command it finds. When the pin is driven TRUE, exports a pin for each command it finds. When the pin is driven TRUE,
\fBhalui\fR runs the specified MDI command. XX is a two digit number \fBhalui\fR runs the specified MDI command. XX is a two digit number
starting at 00. If no [HALUI]MDI_COMMAND variables are set in the ini starting at 00. If no [HALUI]MDI_COMMAND variables are set in the ini
file, no halui.mdi\-command\-XX pins will be exported by halui. file, no halui.mdi-command-XX pins will be exported by halui.
.SS mist .SS mist
.TP .TP
.B halui.mist.is\-on\fR bit out \fR .B halui.mist.is-on\fR bit out \fR
pin for mist is on pin for mist is on
.TP .TP
.B halui.mist.off\fR bit in \fR .B halui.mist.off\fR bit in \fR
@ -243,45 +243,32 @@ pin for stopping mist
.B halui.mist.on\fR bit in \fR .B halui.mist.on\fR bit in \fR
pin for starting mist pin for starting mist
.SS max\-velocity .SS max-velocity
.TP .TP
.B halui.max\-velocity.count\-enable\fR bit in \fR (default: \fBTRUE\fR) .B halui.max-velocity.count-enable\fR bit in \fR (default: \fBTRUE\fR)
When True, modify max velocity when halui.max\-velocity.counts changes. When TRUE, modify max velocity when counts changes.
.TP .TP
.B halui.max\-velocity.counts\fR s32 in \fR .B halui.max-velocity.counts\fR s32 in \fR
When .count\-enable is True, halui changes the max velocity in response counts from an encoder for example to change maximum velocity
to changes to this pin. It's usually connected to an MPG encoder on
an operator's panel or jog pendant. When .count\-enable is False, halui
ignores this pin.
.TP .TP
.B halui.max\-velocity.direct\-value\fR bit in \fR .B halui.max-velocity.decrease\fR bit in \fR
When this pin is True, halui commands the max velocity directly to pin for decreasing the maximum velocity (-=scale)
(.counts * .scale). When this pin is False, halui commands the max
velocity in a relative way: change max velocity by an amount equal to
(change in .counts * .scale).
.TP .TP
.B halui.max\-velocity.increase\fR bit in \fR .B halui.max-velocity.direct-value\fR bit in \fR
A positive edge (a False to True transition) on this pin increases the pin for using a direct value for max velocity
max velocity by the value of the .scale pin. (Note that halui always
responds to this pin, independent of the .count\-enable pin.)
.TP .TP
.B halui.max\-velocity.decrease\fR bit in \fR .B halui.max-velocity.increase\fR bit in \fR
A positive edge (a False to True transition) on this pin decreases the pin for increasing the maximum velocity (+=scale)
max velocity by the value of the .scale pin. (Note that halui always
responds to this pin, independent of the .count\-enable pin.)
.TP .TP
.B halui.max\-velocity.scale\fR float in \fR .B halui.max-velocity.scale\fR float in \fR
This pin controls the scale of changes to the max velocity. Each unit pin for setting the scale on changing the maximum velocity
change in .counts, and each positive edge on .increase and .decrease,
changes the max velocity by .scale. The units of the .scale pin are
machine\-units per second.
.TP .TP
.B halui.max\-velocity.value\fR float out \fR .B halui.max-velocity.value\fR float out \fR
Current value for maximum velocity, in machine\-units per second. Current value for maximum velocity
.SS machine .SS machine
.TP .TP
.B halui.machine.is\-on\fR bit out \fR .B halui.machine.is-on\fR bit out \fR
pin for machine is On/Off pin for machine is On/Off
.TP .TP
.B halui.machine.off\fR bit in \fR .B halui.machine.off\fR bit in \fR
@ -292,7 +279,7 @@ pin for setting machine On
.SS lube .SS lube
.TP .TP
.B halui.lube.is\-on\fR bit out \fR .B halui.lube.is-on\fR bit out \fR
pin for lube is on pin for lube is on
.TP .TP
.B halui.lube.off\fR bit in \fR .B halui.lube.off\fR bit in \fR
@ -303,28 +290,28 @@ pin for starting lube
.SS joint .SS joint
.TP .TP
.B halui.joint.N.has\-fault\fR bit out \fR .B halui.joint.N.has-fault\fR bit out \fR
status pin telling that joint N has a fault status pin telling that joint N has a fault
.TP .TP
.B halui.joint.N.home\fR bit in \fR .B halui.joint.N.home\fR bit in \fR
pin for homing joint N pin for homing joint N
.TP .TP
.B halui.joint.N.is\-homed\fR bit out \fR .B halui.joint.N.is-homed\fR bit out \fR
status pin telling that joint N is homed status pin telling that joint N is homed
.TP .TP
.B halui.joint.N.is\-selected\fR bit out \fR .B halui.joint.N.is-selected\fR bit out \fR
status pin that joint N is selected status pin that joint N is selected
.TP .TP
.B halui.joint.N.on\-hard\-max\-limit\fR bit out \fR .B halui.joint.N.on-hard-max-limit\fR bit out \fR
status pin telling that joint N is on the positive hardware limit status pin telling that joint N is on the positive hardware limit
.TP .TP
.B halui.joint.N.on\-hard\-min\-limit\fR bit out \fR .B halui.joint.N.on-hard-min-limit\fR bit out \fR
status pin telling that joint N is on the negative hardware limit status pin telling that joint N is on the negative hardware limit
.TP .TP
.B halui.joint.N.on\-soft\-max\-limit\fR bit out \fR .B halui.joint.N.on-soft-max-limit\fR bit out \fR
status pin telling that joint N is on the positive software limit status pin telling that joint N is on the positive software limit
.TP .TP
.B halui.joint.N.on\-soft\-min\-limit\fR bit out \fR .B halui.joint.N.on-soft-min-limit\fR bit out \fR
status pin telling that joint N is on the negative software limit status pin telling that joint N is on the negative software limit
.TP .TP
.B halui.joint.N.select\fR bit in \fR .B halui.joint.N.select\fR bit in \fR
@ -339,25 +326,25 @@ pin for unhoming joint N
.B halui.joint.selected\fR u32 out \fR .B halui.joint.selected\fR u32 out \fR
The number of the currently selected joint (default: joint 0). The number of the currently selected joint (default: joint 0).
.TP .TP
.B halui.joint.selected.has\-fault\fR bit out \fR .B halui.joint.selected.has-fault\fR bit out \fR
status pin selected joint is faulted status pin selected joint is faulted
.TP .TP
.B halui.joint.selected.home\fR bit in \fR .B halui.joint.selected.home\fR bit in \fR
pin for homing the selected joint pin for homing the selected joint
.TP .TP
.B halui.joint.selected.is\-homed\fR bit out \fR .B halui.joint.selected.is-homed\fR bit out \fR
status pin telling that the selected joint is homed status pin telling that the selected joint is homed
.TP .TP
.B halui.joint.selected.on\-hard\-max\-limit\fR bit out \fR .B halui.joint.selected.on-hard-max-limit\fR bit out \fR
status pin telling that the selected joint is on the positive hardware limit status pin telling that the selected joint is on the positive hardware limit
.TP .TP
.B halui.joint.selected.on\-hard\-min\-limit\fR bit out \fR .B halui.joint.selected.on-hard-min-limit\fR bit out \fR
status pin telling that the selected joint is on the negative hardware limit status pin telling that the selected joint is on the negative hardware limit
.TP .TP
.B halui.joint.selected.on\-soft\-max\-limit\fR bit out \fR .B halui.joint.selected.on-soft-max-limit\fR bit out \fR
status pin telling that the selected joint is on the positive software limit status pin telling that the selected joint is on the positive software limit
.TP .TP
.B halui.joint.selected.on\-soft\-min\-limit\fR bit out \fR .B halui.joint.selected.on-soft-min-limit\fR bit out \fR
status pin telling that the selected joint is on the negative software limit status pin telling that the selected joint is on the negative software limit
.TP .TP
.B halui.joint.selected.unhome\fR bit in \fR .B halui.joint.selected.unhome\fR bit in \fR
@ -368,45 +355,45 @@ pin for unhoming the selected joint
.B halui.jog.deadband\fR float in \fR .B halui.jog.deadband\fR float in \fR
pin for setting jog analog deadband (jog analog inputs smaller/slower than this are ignored) pin for setting jog analog deadband (jog analog inputs smaller/slower than this are ignored)
.TP .TP
.B halui.jog\-speed\fR float in \fR .B halui.jog-speed\fR float in \fR
pin for setting jog speed for plus/minus jogging. pin for setting jog speed for plus/minus jogging.
.TP .TP
.B halui.jog.N.analog\fR float in \fR .B halui.jog.N.analog\fR float in \fR
pin for jogging the axis N using an float value (e.g. joystick) pin for jogging the axis N using an float value (e.g. joystick)
.TP .TP
.B halui.jog.N.increment\fR float in \fR .B halui.jog.N.increment\fR float in \fR
pin for setting the jog increment for axis N when using increment\-plus/minus pin for setting the jog increment for axis N when using increment-plus/minus
.TP .TP
.B halui.jog.N.increment\-minus\fR bit in \fR .B halui.jog.N.increment-minus\fR bit in \fR
a rising edge will will make axis N jog in the negative direction by the increment amount a rising edge will will make axis N jog in the negative direction by the increment amount
.TP .TP
.B halui.jog.N.increment\-plus\fR bit in \fR .B halui.jog.N.increment-plus\fR bit in \fR
a rising edge will will make axis N jog in the positive direction by the increment amount a rising edge will will make axis N jog in the positive direction by the increment amount
.TP .TP
.B halui.jog.N.minus\fR bit in \fR .B halui.jog.N.minus\fR bit in \fR
pin for jogging axis N in negative direction at the halui.jog\-speed velocity pin for jogging axis N in negative direction at the halui.jog-speed velocity
.TP .TP
.B halui.jog.N.plus\fR bit in \fR .B halui.jog.N.plus\fR bit in \fR
pin for jogging axis N in positive direction at the halui.jog\-speed velocity pin for jogging axis N in positive direction at the halui.jog-speed velocity
.TP .TP
.B halui.jog.selected.increment\fR float in \fR .B halui.jog.selected.increment\fR float in \fR
pin for setting the jog increment for the selected axis when using increment\-plus/minus pin for setting the jog increment for the selected axis when using increment-plus/minus
.TP .TP
.B halui.jog.selected.increment\-minus\fR bit in \fR .B halui.jog.selected.increment-minus\fR bit in \fR
a rising edge will will make the selected axis jog in the negative direction by the increment amount a rising edge will will make the selected axis jog in the negative direction by the increment amount
.TP .TP
.B halui.jog.selected.increment\-plus\fR bit in \fR .B halui.jog.selected.increment-plus\fR bit in \fR
a rising edge will will make the selected axis jog in the positive direction by the increment amount a rising edge will will make the selected axis jog in the positive direction by the increment amount
.TP .TP
.B halui.jog.selected.minus\fR bit in \fR .B halui.jog.selected.minus\fR bit in \fR
pin for jogging the selected axis in negative direction at the halui.jog\-speed velocity pin for jogging the selected axis in negative direction at the halui.jog-speed velocity
.TP .TP
.B halui.jog.selected.plus\fR .B halui.jog.selected.plus\fR
pin for jogging the selected axis bit in \fRin positive direction at the halui.jog\-speed velocity pin for jogging the selected axis bit in \fRin positive direction at the halui.jog-speed velocity
.SS flood .SS flood
.TP .TP
.B halui.flood.is\-on\fR bit out \fR .B halui.flood.is-on\fR bit out \fR
pin for flood is on pin for flood is on
.TP .TP
.B halui.flood.off\fR bit in \fR .B halui.flood.off\fR bit in \fR
@ -417,48 +404,48 @@ pin for starting flood
.SS feed override .SS feed override
.TP .TP
.B halui.feed\-override.count\-enable\fR bit in \fR (default: \fBTRUE\fR) .B halui.feed-override.count-enable\fR bit in \fR (default: \fBTRUE\fR)
When TRUE, modify feed override when counts changes. When TRUE, modify feed override when counts changes.
.TP .TP
.B halui.feed\-override.counts\fR s32 in \fR .B halui.feed-override.counts\fR s32 in \fR
counts X scale = feed override percentage counts X scale = feed override percentage
.TP .TP
.B halui.feed\-override.decrease\fR bit in \fR .B halui.feed-override.decrease\fR bit in \fR
pin for decreasing the FO (\-=scale) pin for decreasing the FO (-=scale)
.TP .TP
.B halui.feed\-override.direct\-value\fR bit in \fR .B halui.feed-override.direct-value\fR bit in \fR
pin to enable direct value feed override input pin to enable direct value feed override input
.TP .TP
.B halui.feed\-override.increase\fR bit in \fR .B halui.feed-override.increase\fR bit in \fR
pin for increasing the FO (+=scale) pin for increasing the FO (+=scale)
.TP .TP
.B halui.feed\-override.scale\fR float in \fR .B halui.feed-override.scale\fR float in \fR
pin for setting the scale on changing the FO pin for setting the scale on changing the FO
.TP .TP
.B halui.feed\-override.value\fR float out \fR .B halui.feed-override.value\fR float out \fR
current Feed Override value current Feed Override value
.SS rapid override .SS rapid override
.TP .TP
.B halui.rapid\-override.count\-enable\fR bit in \fR (default: \fBTRUE\fR) .B halui.rapid-override.count-enable\fR bit in \fR (default: \fBTRUE\fR)
When TRUE, modify Rapid Override when counts changes. When TRUE, modify Rapid Override when counts changes.
.TP .TP
.B halui.rapid\-override.counts\fR s32 in \fR .B halui.rapid-override.counts\fR s32 in \fR
counts X scale = Rapid Override percentage counts X scale = Rapid Override percentage
.TP .TP
.B halui.rapid\-override.decrease\fR bit in \fR .B halui.rapid-override.decrease\fR bit in \fR
pin for decreasing the Rapid Override (\-=scale) pin for decreasing the Rapid Override (-=scale)
.TP .TP
.B halui.rapid\-override.direct\-value\fR bit in \fR .B halui.rapid-override.direct-value\fR bit in \fR
pin to enable direct value Rapid Override input pin to enable direct value Rapid Override input
.TP .TP
.B halui.rapid\-override.increase\fR bit in \fR .B halui.rapid-override.increase\fR bit in \fR
pin for increasing the Rapid Override (+=scale) pin for increasing the Rapid Override (+=scale)
.TP .TP
.B halui.rapid\-override.scale\fR float in \fR .B halui.rapid-override.scale\fR float in \fR
pin for setting the scale on changing the Rapid Override pin for setting the scale on changing the Rapid Override
.TP .TP
.B halui.rapid\-override.value\fR float out \fR .B halui.rapid-override.value\fR float out \fR
current Rapid Override value current Rapid Override value
.SS estop .SS estop
@ -466,7 +453,7 @@ current Rapid Override value
.B halui.estop.activate\fR bit in \fR .B halui.estop.activate\fR bit in \fR
pin for setting Estop (LinuxCNC internal) On pin for setting Estop (LinuxCNC internal) On
.TP .TP
.B halui.estop.is\-activated\fR bit out \fR .B halui.estop.is-activated\fR bit out \fR
pin for displaying Estop state (LinuxCNC internal) On/Off pin for displaying Estop state (LinuxCNC internal) On/Off
.TP .TP
.B halui.estop.reset\fR bit in \fR .B halui.estop.reset\fR bit in \fR
@ -474,19 +461,19 @@ pin for resetting Estop (LinuxCNC internal) Off
.SS axis .SS axis
.TP .TP
.B halui.axis.N.pos\-commanded\fR float out \fR float out \fR .B halui.axis.N.pos-commanded\fR float out \fR float out \fR
Commanded axis position in machine coordinates Commanded axis position in machine coordinates
.TP .TP
.B halui.axis.N.pos\-feedback\fR float out \fR float out \fR .B halui.axis.N.pos-feedback\fR float out \fR float out \fR
Feedback axis position in machine coordinates Feedback axis position in machine coordinates
.TP .TP
.B halui.axis.N.pos\-relative\fR float out \fR float out \fR .B halui.axis.N.pos-relative\fR float out \fR float out \fR
Commanded axis position in relative coordinates Commanded axis position in relative coordinates
.SS home .SS home
.TP .TP
.B halui.home\-all\fR bit in \fR .B halui.home-all\fR bit in \fR
pin for requesting home\-all pin for requesting home-all
(only available when a valid homing sequence is specified) (only available when a valid homing sequence is specified)
.SH "SEE ALSO" .SH "SEE ALSO"

View file

@ -25,7 +25,7 @@
.TH hy_vfd "1" "April 25, 2015" "Huanyang VFD" "LinuxCNC Documentation" .TH hy_vfd "1" "April 25, 2015" "Huanyang VFD" "LinuxCNC Documentation"
.SH NAME .SH NAME
\fBhy_vfd\fR \- HAL userspace component for Huanyang VFDs \fBhy_vfd\fR - HAL userspace component for Huanyang VFDs
.SH SYNOPSIS .SH SYNOPSIS
.B hy_vfd .B hy_vfd
@ -46,11 +46,6 @@ Set register PD001 (source of run commands) to 2 (communication port).
Set register PD002 (source of operating frequency) to 2 (communication Set register PD002 (source of operating frequency) to 2 (communication
port). port).
.B .B
.IP PD004
.br
Set register PD004 (Base Frequency) according to motor specs. This is
the rated frequency of the motor from the motor's name plate, in Hz.
.B
.IP PD005 .IP PD005
.br .br
Set register PD005 (max frequency) according to motor specs. This is Set register PD005 (max frequency) according to motor specs. This is
@ -71,10 +66,6 @@ This is the motor's maximum voltage, in Volts.
Set register PD142 (rated motor current) according to motor name plate. Set register PD142 (rated motor current) according to motor name plate.
This is the motor's maximum current, in Amps. This is the motor's maximum current, in Amps.
.B .B
.IP PD143
.br
Set register PD143 (Number of Motor Poles) according to motor name plate.
.B
.IP PD144 .IP PD144
.br .br
Set register PD144 (rated motor revolutions) according to motor name Set register PD144 (rated motor revolutions) according to motor name
@ -100,78 +91,72 @@ plate to program the VFDs registers, and alternative values for the
above registers. above registers.
.SH OPTIONS .SH OPTIONS
.B .B
.IP \-d,\ \-\-device\ <path> .IP -d,\ --device\ <path>
(default /dev/ttyS0) Set the name of the serial device node to use. (default /dev/ttyS0) Set the name of the serial device node to use.
.B .B
.IP \-g,\ \-\-debug .IP -g,\ --debug
Turn on debug messages. Note that if there are serial errors, this may Turn on debug messages. Note that if there are serial errors, this may
become annoying. Debug mode will cause all serial communication messages become annoying. Debug mode will cause all serial communication messages
to be printed in hex on the terminal. to be printed in hex on the terminal.
.B .B
.IP \-n,\ \-\-name\ <string> .IP -n,\ --name\ <string>
(default hy_vfd) Set the name of the HAL module. The HAL comp name will be (default hy_vfd) Set the name of the HAL module. The HAL comp name will be
set to <string>, and all pin and parameter names will begin with <string>. set to <string>, and all pin and parameter names will begin with <string>.
.B .B
.IP \-b,\ \-\-bits\ <n> .IP -b,\ --bits\ <n>
(default 8) Set number of data bits to <n>, where n must be from 5 (default 8) Set number of data bits to <n>, where n must be from 5
to 8 inclusive. This must match the setting in register PD165 of the to 8 inclusive. This must match the setting in register PD165 of the
Huanyang VFD. Huanyang VFD.
.B .B
.IP \-p,\ \-\-parity\ [even,odd,none] .IP -p,\ --parity\ [even,odd,none]
(default odd) Set serial parity to even, odd, or none. This must match (default odd) Set serial parity to even, odd, or none. This must match
the setting in register PD165 of the Huanyang VFD. the setting in register PD165 of the Huanyang VFD.
.B .B
.IP \-r,\ \-\-rate\ <n> .IP -r,\ --rate\ <n>
(default 38400) Set baud rate to <n>. It is an error if the rate is (default 38400) Set baud rate to <n>. It is an error if the rate is
not one of the following: 110, 300, 600, 1200, 2400, 4800, 9600, 19200, not one of the following: 110, 300, 600, 1200, 2400, 4800, 9600, 19200,
38400, 57600, 115200. This must match the setting in register PD164 of 38400, 57600, 115200. This must match the setting in register PD164 of
the Huanyang VFD. the Huanyang VFD.
.B .B
.IP \-s,\ \-\-stopbits\ [1,2] .IP -s,\ --stopbits\ [1,2]
(default 1) Set serial stop bits to 1 or 2. This must match the setting (default 1) Set serial stop bits to 1 or 2. This must match the setting
in register PD165 of the HuanyangVFD. in register PD165 of the HuanyangVFD.
.B .B
.IP \-t,\ \-\-target\ <n> .IP -t,\ --target\ <n>
(default 1) Set HYCOMM target (slave) number. This must match the device (default 1) Set HYCOMM target (slave) number. This must match the device
number you set on the Hyanyang VFD in register PD163. number you set on the Hyanyang VFD in register PD163.
.B .B
.IP \-F,\ \-\-max\-frequency\ <n> .IP -F,\ --max-frequency\ <n>
(default: read from VFD) If specified, program register PD005 of the VFD (default: read from VFD) If specified, program register PD005 of the VFD
with the specified max frequency of <n> Hz (and use the same max frequency with the specified max frequency of <n> Hz (and use the same max frequency
in the hy_vfd driver). If not specified, read the max frequency to use in the hy_vfd driver). If not specified, read the max frequency to use
from register PD005 of the VFD. from register PD005 of the VFD.
.B .B
.IP \-f,\ \-\-min\-frequency\ <n> .IP -f,\ --min-frequency\ <n>
(default: read from VFD) If specified, program register PD011 of the (default: read from VFD) If specified, program register PD011 of the
VFD with the specified minimum frequency of <n> Hz (and use the same VFD with the specified minimum frequency of <n> Hz (and use the same
minimum frequency in the hy_vfd driver). If not specified, read the minimum frequency in the hy_vfd driver). If not specified, read the
minimum frequency to use from register PD011 of the VFD. minimum frequency to use from register PD011 of the VFD.
.B .B
.IP \-V,\ \-\-motor\-voltage\ <n> .IP -V,\ --motor-voltage\ <n>
(default: read from VFD) If specified, program register PD141 of the VFD (default: read from VFD) If specified, program register PD141 of the VFD
with the specified max motor voltage of <n> Volts. If not specified, with the specified max motor voltage of <n> Volts. If not specified,
read the max motor voltage from register PD141 of the VFD. read the max motor voltage from register PD141 of the VFD.
.B .B
.IP \-I,\ \-\-motor\-current\ <n> .IP -I,\ --motor-current\ <n>
(default: read from VFD) If specified, program register PD142 of the (default: read from VFD) If specified, program register PD142 of the
VFD with the specified max motor current of <n> Amps. If not specified, VFD with the specified max motor current of <n> Amps. If not specified,
read the max motor current from register PD142 of the VFD. read the max motor current from register PD142 of the VFD.
.B .B
.IP \-S,\ \-\-motor\-speed\ <n> .IP -S,\ --motor-speed\ <n>
(default: compute from value read from VFD P144) This command-line (default: compute from value read from VFD P144) This command-line
argument is the motor's max speed. If specified, compute the motor's argument is the motor's max speed. If specified, compute the motor's
speed at 50 Hz from this argument and from the motor's max frequency speed at 50 Hz from this argument and from the motor's max frequency
(from the \-\-max\-frequency argument or from P011 if \-\-max\-frequency is (from the --max-frequency argument or from P011 if --max-frequency is
not specified) and program register PD144 of the VFD. If not specified, not specified) and program register PD144 of the VFD. If not specified,
read the motor's speed at 50 Hz from register P144 of the VFD, and use read the motor's speed at 50 Hz from register P144 of the VFD, and use
that and the max frequency to compute the motor's max speed. that and the max frequency to compute the motor's max speed.
.B .B
.IP \-P,\ \-\-motor\-poles\ <n>
(default: read value from VFD P143) This command-line argument is the
number of poles in the motor. If specified, this value is sent to the
VFD's register PD143. If not specified, the value is read from PD143
and reported on the corresponding HAL pin.
.B
.SH PINS .SH PINS
.B .B
.IP <name>.enable .IP <name>.enable
@ -201,13 +186,13 @@ and reported on the corresponding HAL pin.
.IP <name>.Tmp .IP <name>.Tmp
(float, out) (float, out)
.B .B
.IP <name>.spindle\-forward .IP <name>.spindle-forward
(bit, in) (bit, in)
.B .B
.IP <name>.spindle\-reverse .IP <name>.spindle-reverse
(bin, in) (bin, in)
.B .B
.IP <name>.spindle\-on .IP <name>.spindle-on
(bin, in) (bin, in)
.B .B
.IP <name>.CNTR .IP <name>.CNTR
@ -216,78 +201,71 @@ and reported on the corresponding HAL pin.
.IP <name>.CNST .IP <name>.CNST
(float, out) (float, out)
.B .B
.IP <name>.CNST\-run .IP <name>.CNST-run
(bit, out) (bit, out)
.B .B
.IP <name>.CNST\-jog .IP <name>.CNST-jog
(bit, out) (bit, out)
.B .B
.IP <name>.CNST\-command\-rf .IP <name>.CNST-command-rf
(bit, out) (bit, out)
.B .B
.IP <name>.CNST\-running .IP <name>.CNST-running
(bit, out) (bit, out)
.B .B
.IP <name>.CNST\-jogging .IP <name>.CNST-jogging
(bit, out) (bit, out)
.B .B
.IP <name>.CNST\-running\-rf .IP <name>.CNST-running-rf
(bit, out) (bit, out)
.B .B
.IP <name>.CNST\-bracking .IP <name>.CNST-bracking
(bit, out) (bit, out)
.B .B
.IP <name>.CNST\-track\-start .IP <name>.CNST-track-start
(bit, out) (bit, out)
.B .B
.IP <name>.speed\-command .IP <name>.speed-command
(float, in) (float, in)
.B .B
.IP <name>.spindle\-speed\-fb .IP <name>.spindle-speed-fb
(float, out) Current spindle speed as reported by Huanyang VFD. (float, out) Current spindle speed as reported by Huanyang VFD.
.B .B
.IP <name>.spindle\-at\-speed\-tolerance .IP <name>.spindle-at-speed-tolerance
(float, in) Spindle speed error tolerance. If the actual spindle (float, in) Spindle speed error tolerance. If the actual spindle
speed is within .spindle\-at\-speed\-tolerance of the commanded speed, speed is within .spindle-at-speed-tolerance of the commanded speed,
then the .spindle\-at\-speed pin will go True. The then the .spindle-at-speed pin will go True. The
default .spindle\-at\-speed\-tolerance is 0.02, which means the actual default .spindle-at-speed-tolerance is 0.02, which means the actual
speed must be within 2% of the commanded spindle speed. speed must be within 2% of the commanded spindle speed.
.B .B
.IP <name>.spindle\-at\-speed .IP <name>.spindle-at-speed
(bit, out) True when the current spindle speed is (bit, out) True when the current spindle speed is
within .spindle\-at\-speed\-tolerance of the commanded speed. within .spindle-at-speed-tolerance of the commanded speed.
.B .B
.IP <name>.frequency\-command .IP <name>.frequency-command
(float, out) (float, out)
.B .B
.IP <name>.max\-freq .IP <name>.max-freq
(float, out) (float, out)
.B .B
.IP <name>.base\-freq .IP <name>.freq-lower-limit
(float, out) (float, out)
.B .B
.IP <name>.freq\-lower\-limit .IP <name>.rated-motor-voltage
(float, out) (float, out)
.B .B
.IP <name>.rated\-motor\-voltage .IP <name>.rated-motor-current
(float, out) (float, out)
.B .B
.IP <name>.rated\-motor\-current .IP <name>.rated-motor-rev
(float, out) (float, out)
.B .B
.IP <name>.rated\-motor\-rev .IP <name>.hycomm-ok
(float, out)
.B
.B
.IP <name>.motor\-poles
(u32, out)
.B
.IP <name>.hycomm\-ok
(bit, out) (bit, out)
.SH PARAMETERS .SH PARAMETERS
.B .B
.IP <name>.error\-count .IP <name>.error-count
(s32, RW) (s32, RW)
.B .B
.IP <name>.retval .IP <name>.retval

View file

@ -9,7 +9,7 @@
iocontrol \- accepts NML I/O commands, interacts with HAL in userspace iocontrol \- accepts NML I/O commands, interacts with HAL in userspace
.SH SYNOPSIS .SH SYNOPSIS
\fBloadusr io [\-ini \fIinifile\fB] \fBloadusr io [-ini \fIinifile\fB]
.SH DESCRIPTION .SH DESCRIPTION
@ -22,15 +22,15 @@ The inifile is searched for in the directory from which halcmd was run, unless a
.SH PINS .SH PINS
.TP .TP
\fBiocontrol.0.coolant\-flood \fBiocontrol.0.coolant-flood
(Bit, Out) TRUE when flood coolant is requested (Bit, Out) TRUE when flood coolant is requested
.TP .TP
\fBiocontrol.0.coolant\-mist \fBiocontrol.0.coolant-mist
(Bit, Out) TRUE when mist coolant is requested (Bit, Out) TRUE when mist coolant is requested
.TP .TP
\fBiocontrol.0.emc\-enable\-in \fBiocontrol.0.emc-enable-in
(Bit, In) Should be driven FALSE when an external estop condition exists. (Bit, In) Should be driven FALSE when an external estop condition exists.
.TP .TP
@ -45,54 +45,41 @@ into E-stop, and when the "Lube Off" command gets sent to the controller.
(Bit, In) Should be driven FALSE when lubrication tank is empty. (Bit, In) Should be driven FALSE when lubrication tank is empty.
.TP .TP
\fBiocontrol.0.tool\-change \fBiocontrol.0.tool-change
(Bit, Out) TRUE when a tool change is requested (Bit, Out) TRUE when a tool change is requested
.TP .TP
\fBiocontrol.0.tool\-changed \fBiocontrol.0.tool-changed
(Bit, In) Should be driven TRUE when a tool change is completed. (Bit, In) Should be driven TRUE when a tool change is completed.
.TP .TP
\fBiocontrol.0.tool\-number \fBiocontrol.0.tool-number
(s32, Out) Current tool number (s32, Out) Current tool number
.TP .TP
\fBiocontrol.0.tool\-prep\-number \fBiocontrol.0.tool-prep-number
(s32, Out) The number of the next tool, from the RS274NGC T-word (s32, Out) The number of the next tool, from the RS274NGC T-word
.TP .TP
\fBiocontrol.0.tool\-prep\-pocket \fBiocontrol.0.tool-prep-pocket
(s32, Out) This is the pocket number (location in the tool storage (s32, Out) The pocket number (location in tool storage mechanism) of the next tool, as described in the tool table
mechanism) of the tool requested by the most recent T-word.
.TP .TP
\fBiocontrol.0.tool\-prepare \fBiocontrol.0.tool-prepare
(Bit, Out) TRUE when a T\fIn\fR tool prepare is requested (Bit, Out) TRUE when a T\fIn\fR tool prepare is requested
.TP .TP
\fBiocontrol.0.tool\-prepared \fBiocontrol.0.tool-prepared
(Bit, In) Should be driven TRUE when a tool prepare is completed. (Bit, In) Should be driven TRUE when a tool prepare is completed.
.TP .TP
\fBiocontrol.0.user\-enable\-out \fBiocontrol.0.user-enable-out
(Bit, Out) FALSE when an internal estop condition exists (Bit, Out) FALSE when an internal estop condition exists
.TP .TP
\fBiocontrol.0.user\-request\-enable \fBiocontrol.0.user-request-enable
(Bit, Out) TRUE when the user has requested that estop be cleared (Bit, Out) TRUE when the user has requested that estop be cleared
.SH PARAMETERS
.TP
\fBiocontrol.0.tool\-prep\-index
(s32, RO) 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 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).
.SH SEE ALSO .SH SEE ALSO
\fBmotion\fR(9) \fBmotion\fR(9)

View file

@ -3,7 +3,7 @@
linuxcncrsh \- text-mode interface for commanding LinuxCNC over the network linuxcncrsh \- text-mode interface for commanding LinuxCNC over the network
.SH SYNOPSIS .SH SYNOPSIS
.B .B
linuxcncrsh [OPTIONS] [\-\- LINUXCNC_OPTIONS] linuxcncrsh [OPTIONS] [-- LINUXCNC_OPTIONS]
.br .br
.SH DESCRIPTION .SH DESCRIPTION
\fBlinuxcncrsh\fP is a user interface for LinuxCNC. Instead of popping up a GUI \fBlinuxcncrsh\fP is a user interface for LinuxCNC. Instead of popping up a GUI
@ -15,20 +15,20 @@ All features of LinuxCNC are available via the \fBlinuxcncrsh\fP interface.
.SH OPTIONS .SH OPTIONS
.P .P
.B .B
\-p,\-\-port PORT_NUMBER -p,--port PORT_NUMBER
.RS .RS
Specify the port for linuxcncrsh to listen on. Defaults to 5007 if omitted. Specify the port for linuxcncrsh to listen on. Defaults to 5007 if omitted.
.RE .RE
.P .P
.B .B
\-n,\-\-name SERVER_NAME -n,--name SERVER_NAME
.RS .RS
Sets the server name that linuxcncrsh will use to identify itself during Sets the server name that linuxcncrsh will use to identify itself during
handshaking with a new client. Defaults to EMCNETSVR if omitted. handshaking with a new client. Defaults to EMCNETSVR if omitted.
.RE .RE
.P .P
.B .B
\-w,\-\-connectpw PASSWORD -w,--connectpw PASSWORD
.RS .RS
Specify the connection password to use during handshaking with a new Specify the connection password to use during handshaking with a new
client. Note that the password is sent in the clear, so it can be read client. Note that the password is sent in the clear, so it can be read
@ -37,7 +37,7 @@ the client. Defaults to EMC if omitted.
.RE .RE
.P .P
.B .B
\-e,\-\-enablepw PASSWORD -e,--enablepw PASSWORD
.RS .RS
Specify the password required to enable LinuxCNC via linuxcncrsh. Note that the Specify the password required to enable LinuxCNC via linuxcncrsh. Note that the
password is sent in the clear, so it can be read by anyone who can read password is sent in the clear, so it can be read by anyone who can read
@ -46,9 +46,9 @@ EMCTOO if omitted.
.RE .RE
.P .P
.B .B
\-s,\-\-sessions MAX_SESSIONS -s,--sessions MAX_SESSIONS
.RS .RS
Specify the maximum number of simultaneous connections. Defaults to \-1 Specify the maximum number of simultaneous connections. Defaults to -1
(no limit) if not specified. (no limit) if not specified.
.RE .RE
.P .P
@ -56,10 +56,10 @@ In addition to the options listed above, linuxcncrsh accepts an optional
special LINUXCNC_OPTION at the end: special LINUXCNC_OPTION at the end:
.P .P
.B .B
\-ini LINUXCNC_INI_FILE -ini LINUXCNC_INI_FILE
.RS .RS
LinuxCNC .ini file to use. The \-ini option \fBmust\fP be preceded by two LinuxCNC .ini file to use. The -ini option \fBmust\fP be preceeded by two
dashes: "\-\-". Defaults to emc.ini if omitted. dashes: "--". Defaults to emc.ini if omitted.
.RE .RE
.SH Starting linuxcncrsh .SH Starting linuxcncrsh
.P .P
@ -78,13 +78,13 @@ at the end of your .hal file, or run it by hand in a terminal window.
To start it from hal, add a line like this to the end of your .hal file: To start it from hal, add a line like this to the end of your .hal file:
.RS .RS
.P .P
.B loadusr linuxcncrsh [OPTIONS] [\-\- LINUXCNC_OPTIONS] .B loadusr linuxcncrsh [OPTIONS] [-- LINUXCNC_OPTIONS]
.RE .RE
.P .P
To start it from the terminal, run linuxcncrsh manually like this: To start it from the terminal, run linuxcncrsh manually like this:
.RS .RS
.P .P
.B linuxcncrsh [OPTIONS] [\-\- LINUXCNC_OPTIONS] .B linuxcncrsh [OPTIONS] [-- LINUXCNC_OPTIONS]
.RE .RE
.SH Connecting .SH Connecting
.P .P
@ -96,11 +96,11 @@ Once LinuxCNC is up and linuxcncrsh is running, you can connect to it using
.RS .RS
HOST is the hostname or IP address of the computer running linuxcncrsh, and HOST is the hostname or IP address of the computer running linuxcncrsh, and
PORT is the port it's listening on (5007 if you did not give linuxcncrsh the PORT is the port it's listening on (5007 if you did not give linuxcncrsh the
\-\-port option). --port option).
.RE .RE
.SH Network protocol .SH Network protocol
.P .P
linuxcncrsh accepts TCP connections on the port specified by the \-\-port option, linuxcncrsh accepts TCP connections on the port specified by the --port option,
or 5007 if not specified. or 5007 if not specified.
.P .P
The client sends requests, and the linuxcncrsh server returns replies. The client sends requests, and the linuxcncrsh server returns replies.
@ -117,7 +117,7 @@ The supported commands are as follows:
\fBhello <password> <client> <version>\fR \fBhello <password> <client> <version>\fR
.RS .RS
<password> must match linuxcncrsh's connect password, or "EMC" if no <password> must match linuxcncrsh's connect password, or "EMC" if no
\-\-connectpw was supplied. The three arguments may not contain whitespace. --connectpw was supplied. The three arguments may not contain whitespace.
If a valid password was entered the server will respond with: If a valid password was entered the server will respond with:
.RS .RS
\fIHELLO ACK <ServerName> <ServerVersion>\fR \fIHELLO ACK <ServerName> <ServerVersion>\fR
@ -192,7 +192,7 @@ and starts out OFF on new connections.
The session's enable state indicates whether the current connection is The session's enable state indicates whether the current connection is
enabled to perform control functions. With get, any parameter is ignored, enabled to perform control functions. With get, any parameter is ignored,
and the current enable state is returned. With set and a valid password and the current enable state is returned. With set and a valid password
matching linuxcncrsh's \-\-enablepw (EMCTOO if not specified), the current matching linuxcncrsh's --enablepw (EMCTOO if not specified), the current
connection is enabled for control functions. "OFF" may not be used as connection is enabled for control functions. "OFF" may not be used as
a password and disables control functions for this connection. a password and disables control functions for this connection.
.RE .RE
@ -402,7 +402,7 @@ override as specified.
\fBspindle_override <percent>\fR \fBspindle_override <percent>\fR
.RS .RS
With get, any parameter is ignored and the current spindle override With get, any parameter is ignored and the current spindle override
is returned (as a percentage of commanded speed). With set, sets the is returnd (as a percentage of commanded speed). With set, sets the
spindle override as specified. spindle override as specified.
.RE .RE
.P .P
@ -489,7 +489,7 @@ the linuxcnc working directory (the directory of the active .ini file).
.RS .RS
With set, runs the opened program. If no StartLine is specified, runs With set, runs the opened program. If no StartLine is specified, runs
from the beginning. If a StartLine is specified, start line, runs from from the beginning. If a StartLine is specified, start line, runs from
that line. A start line of \-1 runs in verify mode. that line. A start line of -1 runs in verify mode.
.RE .RE
.P .P
\fBpause\fR \fBpause\fR
@ -677,7 +677,7 @@ Connected to 127.0.0.1
.br .br
Escape character is '^]'. Escape character is '^]'.
.br .br
\fBhello EMC user\-typing\-at\-telnet 1.0\fR \fBhello EMC user-typing-at-telnet 1.0\fR
.br .br
HELLO ACK EMCNETSVR 1.1 HELLO ACK EMCNETSVR 1.1
.br .br

View file

@ -33,7 +33,7 @@
MB2HAL is a generic userspace HAL component to communicate with one or more MB2HAL is a generic userspace HAL component to communicate with one or more
Modbus devices. Modbus devices.
.PP .PP
See the Documents for more information on mb2hal See the Documents for more infomation on mb2hal
.SH AUTHOR .SH AUTHOR
John Thornton John Thornton
.SH LICENSE .SH LICENSE

View file

@ -1,25 +1,11 @@
.TH milltask 1 "September 30, 2014" "" "The Enhanced Machine Controller" .TH milltask 1 "September 30, 2014" "" "The Enhanced Machine Controller"
.SH NAME .SH NAME
\fBmilltask\fR \- Userspace task controller for LinuxCNC milltask \- Userspace task controller for LinuxCNC
.SH DESCRIPTION .SH DESCRIPTION
milltask is an internal process of LinuxCNC. It is generally not invoked directly.
\fBmilltask\fR is an internal process of LinuxCNC. It is generally not It creates the pins shown as owned by the "inihal" component, which allow
invoked directly but by an inifile setting: \fB[TASK]TASK=milltask\fR. runtime modification of certain values from the inifile.
The \fBmilltask\fR process creates the \fBini.*\fR hal pins listed below
and owned by the \fBinihal\fR user component. These pins may be modified
while LinuxCnC is running to alter values that are typically specified
in an inifile.
The \fBinihal\fR pins are sampled in every task cycle, however, commands
affected by their values typically use the value present at the time
when the command is processed. Such commands include all codes handled
by the interpreter (\fBGcode\fR programs and \fBMDI\fR commands) and NML
\fBjogging\fR commands issued by a GUI (including \fBhalui\fR).
\fBWheel jogging\fR is implemented in the realtime motion module so
\fBinihal\fR pin changes (e.g., ini.*.max_velocity,
ini.*.max_acceleration) may be honored as soon as altered values are
propagated to the motion module.
.SH PINS .SH PINS
.SS Per-axis pins .SS Per-axis pins
.TP .TP
@ -75,14 +61,4 @@ Allows adjustment of \fB[TRAJ]ARC_BLEND_GAP_CYCLES
Allows adjustment of \fB[TRAJ]ARC_BLEND_RAMP_FREQ Allows adjustment of \fB[TRAJ]ARC_BLEND_RAMP_FREQ
.SH NOTES .SH NOTES
These pins cannot be linked or set in a halfile specified by \fB[HAL]HALFILE\fR. They can be altered by independent halcmd programs or by GUIs that support \fB[HAL]POSTGUI_HALFILE\fR. The inifile is not automatically updated with these values but can be updated using the calibration program (emccalib.tcl) when using a \fB[HAL]POSTGUI_HALFILE\fR.
The \fBinihal\fR pins cannot be linked or set in a halfile that is
specified by an inifile \fB[HAL]HALFILE\fR item because they are not created
until \fBmilltask\fR is started. The \fBinihal\fR pin values can be
altered by independent halcmd programs specified by
\fB[APPLICATION]APP\fR items or by GUIs that support a
\fB[HAL]POSTGUI_HALFILE\fR.
The inifile is not automatically updated with values altered by
\fBinihal\fR pin settings but can be updated using the calibration
program (emccalib.tcl) when using a \fB[HAL]POSTGUI_HALFILE\fR.

View file

@ -27,7 +27,7 @@
moveoff_gui \- a gui for the moveoff component moveoff_gui \- a gui for the moveoff component
.SH SYNOPSIS .SH SYNOPSIS
.B moveoff_gui \fB[\-\-help | \-\- \-h | \-?]\fR .B moveoff_gui \fB[--help | -- -h | -?]\fR
.PP .PP
.B moveoff_gui [\fBoptions\fR] .B moveoff_gui [\fBoptions\fR]
@ -42,11 +42,11 @@ limitations and warnings\fR.
.SH OPTIONS .SH OPTIONS
.TP .TP
\fB\-\-help | \-? | \-\- \-h\fR \fB--help | -? | -- -h\fR
Show options and exit Show options and exit
.TP .TP
\fB\-mode\fR \fBonpause\fR | always \fB-mode\fR \fBonpause\fR | always
.br .br
onpause: popup gui to control offsets when program paused onpause: popup gui to control offsets when program paused
.br .br
@ -55,46 +55,46 @@ always: show gui to control offsets always
Default: \fBonpause\fR Default: \fBonpause\fR
.TP .TP
\fB\-axes\fR axisnames \fB-axes\fR axisnames
.br .br
Letters from set of {x y z a b c u v w} Letters from set of {x y z a b c u v w}
.br .br
Examples: \-axes x, \-axes xyz, \-axes xz (no spaces) Examples: -axes x, -axes xyz, -axes xz (no spaces)
.br .br
Default: \fBxyz\fR Default: \fBxyz\fR
.TP .TP
\fB\-inc\fR incrementvalue \fB-inc\fR incrementvalue
.br .br
Specify one increment value per \-inc (up to 4) Specify one increment value per -inc (up to 4)
.br .br
Defaults: \fB 0.001 0.01 0.10 1.0\fR Defaults: \fB 0.001 0.01 0.10 1.0\fR
.TP .TP
\fB\-size\fR integer \fB-size\fR integer
.br .br
Overall gui size is based on font size, typically 8 - 20 Overall gui size is based on font size, typically 8 - 20
.br .br
Default: \fB14\fR Default: \fB14\fR
.TP .TP
\fB\-loc\fR center | +x+y \fB-loc\fR center | +x+y
.br .br
Initial location on screen Initial location on screen
.br .br
Examples: \-loc center, \-loc +20+100 Examples: -loc center, -loc +20+100
.br .br
Default: \fBcenter\fR Default: \fBcenter\fR
.TP .TP
\fB\-autoresume\fR \fB-autoresume\fR
.br .br
Resume program when move-enable deasserted Resume program when move-enable deasserted
.br .br
Default: notused Default: notused
.TP .TP
\fB\-delay\fR delay secs \fB-delay\fR delay secs
.br .br
Delay for autoresume (allow time to restore spindle speed etc) Delay for autoresume (allow time to restore spindle speed etc)
Default: \fB5\fR Default: \fB5\fR
@ -103,35 +103,35 @@ Default: \fB5\fR
These options are available for special cases: These options are available for special cases:
.TP .TP
\fB\-noentry\fR \fB-noentry\fR
.br .br
Disables creation of entry widgets Disables creation of entry widgets
.br .br
Default: notused Default: notused
.TP .TP
\fB\-no_resume_inhibit\fR \fB-no_resume_inhibit\fR
.br .br
Disable use of resume\-inhibit to controlling gui Disable use of resume-inhibit to controlling gui
.br .br
Default: notused Default: notused
.TP .TP
\fB\-no_pause_requirement \fB-no_pause_requirement
.br .br
Disable check for halui.program.is\-paused Disable check for halui.program.is-paused
.br .br
Default: notused Default: notused
.TP .TP
\fB\-no_cancel_autoresume \fB-no_cancel_autoresume
.br .br
Useful for retracting offsets with simple external controls Useful for retracting offsets with simple external controls
.br .br
Default: notused Default: notused
.TP .TP
\fB\-no_display \fB-no_display
.br .br
Use when both external controls and and external displays are in use Use when both external controls and and external displays are in use
.br .br
@ -147,21 +147,21 @@ The moveoff component must be loaded with the name 'mv' as:
.br .br
\fBloadrt moveoff names=mv personality=number_of_axes\fR \fBloadrt moveoff names=mv personality=number_of_axes\fR
.P .P
If the pin mv.motion\-enable is \fBnot\fR connected when moveoff_gui is If the pin mv.motion-enable is \fBnot\fR connected when moveoff_gui is
started, \fBcontrols will be provided\fR to enable offsets and set started, \fBcontrols will be provided\fR to enable offsets and set
offset values. If the pin \fBis\fR connected, \fBonly a display\fR offset values. If the pin \fBis\fR connected, \fBonly a display\fR
of offsets is shown and control must be made by \fBexternal\fR of offsets is shown and control must be made by \fBexternal\fR
Hal connections. Hal connections.
.P .P
If a pin named *.resume\-inhibit exists and is not connected, it will 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 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 controlling linuxcnc gui in use. Use of the pin may be disabled
with the option \-no_resume_inhibit. with the option -no_resume_inhibit.
.P .P
The \-autoresume option uses halui.program.resume to automatically The -autoresume option uses halui.program.resume to automatically
resume program execution when the move\-enable pin is deactivated resume program execution when the move-enable pin is deactivated
and all offsets are removed. The resume pin is not activated and all offsets are removed. The resume pin is not activated
until an additional interval (\-delay delay_secs) elapses. This until an additional interval (-delay delay_secs) elapses. This
delay interval may be useful for restarting related equipment delay interval may be useful for restarting related equipment
(a spindle motor for example) While timing the delay, a popup is (a spindle motor for example) While timing the delay, a popup is
offered to cancel the automatic program resumption. offered to cancel the automatic program resumption.
@ -219,7 +219,7 @@ stanza of the ini file, for example:
.br .br
DELAY = delay_in_secs_to_allow_hal_connections DELAY = delay_in_secs_to_allow_hal_connections
.br .br
\fBAPP = moveoff_gui \-option1 \-option2 ...\fR \fBAPP = moveoff_gui -option1 -option2 ...\fR
.P .P
.SH "SEE ALSO" .SH "SEE ALSO"

View file

@ -23,15 +23,15 @@
.SH NAME .SH NAME
pyvcp \- Virtual Control Panel for LinuxCNC pyvcp \- Virtual Control Panel for LinuxCNC
.SH SYNOPSIS .SH SYNOPSIS
\fBpyvcp\fR [\-g \fIWxH+X+Y\fR] [\-c \fIcomponent\-name\fR] \fImyfile.xml\fR \fBpyvcp\fR [-g \fIWxH+X+Y\fR] [-c \fIcomponent-name\fR] \fImyfile.xml\fR
.SH OPTIONS .SH OPTIONS
.TP .TP
\fB\-g\fR \fIWxH+X+Y\fR \fB-g\fR \fIWxH+X+Y\fR
This sets the initial geometry of the root window. This sets the initial geometry of the root window.
Use 'WxH' for just size, '+X+Y' for just position, or 'WxH+X+Y' for both. Use 'WxH' for just size, '+X+Y' for just position, or 'WxH+X+Y' for both.
Size / position use pixel units. Position is referenced from top left. Size / position use pixel units. Position is referenced from top left.
.TP .TP
\fB\-c\fR \fIcomponent-name\fR \fB-c\fR \fIcomponent-name\fR
Use \fIcomponent-name\fR as the HAL component name. If the component name is Use \fIcomponent-name\fR as the HAL component name. If the component name is
not specified, the basename of the xml file is used.\fR not specified, the basename of the xml file is used.\fR
.SH "SEE ALSO" .SH "SEE ALSO"

View file

@ -26,7 +26,7 @@ returns to center when released.
.SH UDEV .SH UDEV
The shuttlexpress module needs read permission to the ShuttleXpress The shuttlexpress module needs read permission to the ShuttleXpress
/dev/hidraw* device files. This can be accomplished by adding a file /dev/hidraw* device files. This can be accomplished by adding a file
\fB/etc/udev/rules.d/99\-shuttlexpress.rules\fR, with the following \fB/etc/udev/rules.d/99-shuttlexpress.rules\fR, with the following
contents: contents:
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0020", MODE="0444" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0020", MODE="0444"
@ -52,25 +52,25 @@ notice the first click.
.SH Pins .SH Pins
.TP .TP
(bit out) \fIshuttlexpress.0.button\-0\fR (bit out) \fIshuttlexpress.0.button-0\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-0\-not\fR (bit out) \fIshuttlexpress.0.button-0-not\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-1\fR (bit out) \fIshuttlexpress.0.button-1\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-1\-not\fR (bit out) \fIshuttlexpress.0.button-1-not\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-2\fR (bit out) \fIshuttlexpress.0.button-2\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-2\-not\fR (bit out) \fIshuttlexpress.0.button-2-not\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-3\fR (bit out) \fIshuttlexpress.0.button-3\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-3\-not\fR (bit out) \fIshuttlexpress.0.button-3-not\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-4\fR (bit out) \fIshuttlexpress.0.button-4\fR
.TP .TP
(bit out) \fIshuttlexpress.0.button\-4\-not\fR (bit out) \fIshuttlexpress.0.button-4-not\fR
The five buttons around the outside, starting with the The five buttons around the outside, starting with the
counter-clockwise-most one. counter-clockwise-most one.
@ -81,18 +81,18 @@ notice the first click.
Accumulated counts from the jog wheel (the inner wheel). Accumulated counts from the jog wheel (the inner wheel).
.TP .TP
(s32 out) \fIshuttlexpress.0.spring\-wheel\-s32\fR (s32 out) \fIshuttlexpress.0.spring-wheel-s32\fR
The current deflection of the spring-wheel (the outer wheel). The current deflection of the spring-wheel (the outer wheel).
It's 0 at rest, and ranges from \-7 at the counter-clockwise It's 0 at rest, and ranges from -7 at the counter-clockwise
extreme to +7 at the clockwise extreme. extreme to +7 at the clockwise extreme.
.TP .TP
(float out) \fIshuttlexpress.0.spring\-wheel\-f\fR (float out) \fIshuttlexpress.0.spring-wheel-f\fR
The current deflection of the spring-wheel (the outer wheel). The current deflection of the spring-wheel (the outer wheel).
It's 0.0 at rest, \-1.0 at the counter-clockwise extreme, and +1.0 It's 0.0 at rest, -1.0 at the counter-clockwise extreme, and +1.0
at the clockwise extreme. (The ShuttleXpress device reports the at the clockwise extreme. (The ShuttleXpress device reports the
spring-wheel position as an integer from \-7 to +7, so this pin spring-wheel position as an integer from -7 to +7, so this pin
reports only 15 discrete values in its range.) reports only 15 discrete values in its range.)

View file

@ -40,7 +40,7 @@ If the named input is a \fBnumerical\fR type, the gui displays:
\fBReset\fR Button to reset to the value present on initiation \fBReset\fR Button to reset to the value present on initiation
If the input is a \fBbit\fR type, the gui shows a single pushbutton If the input is a \fBbit\fR type, the gui shows a single pushbutton
that is controlled by the radio-button selectors: that is controlled by the radio\-button selectors:
.P .P
\fBOnePulse\fR Pulse input to 1 for each pushbutton press \fBOnePulse\fR Pulse input to 1 for each pushbutton press
.br .br
@ -55,7 +55,7 @@ LinuxCNC must be running
A named item can specify a \fBpin\fR, \fBparam\fR, or \fBsignal\fR. A named item can specify a \fBpin\fR, \fBparam\fR, or \fBsignal\fR.
The named item must be writable: The named item must be writable:
.P .P
\fBpin IN or I/O\fR (and not connected to a signal with a writer) \fBpin IN or I/O\fR (and not connected to a signal)
.br .br
\fBparam RW\fR \fBparam RW\fR
.br .br
@ -76,5 +76,5 @@ Example for ini file usage:
.br .br
ini.traj_arc_blend_enable \\ ini.traj_arc_blend_enable \\
.br .br
motion\-command\-handler\-tmax motion-command-handler-tmax

View file

@ -64,28 +64,28 @@ to 3 (control from Modbus, with Stop enabled on the keypad).
.SH OPTIONS .SH OPTIONS
.B .B
.IP \-n\ \-\-name\ <halname> .IP -n\ --name\ <halname>
set the HAL component name set the HAL component name
.B .B
.IP \-d\ \-\-debug .IP -d\ --debug
Turn on debugging messages. Also toggled by sending a USR1 signal to the Turn on debugging messages. Also toggled by sending a USR1 signal to the
vfdb_vfd process. vfdb_vfd process.
.B .B
.IP \-m\ \-\-modbus\-debug .IP -m\ --modbus-debug
Turn on Modbus debugging messages. This will cause all Modbus messages to Turn on Modbus debugging messages. This will cause all Modbus messages to
be printed in hex on the terminal. Also toggled by sending a USR2 signal be printed in hex on the terminal. Also toggled by sending a USR2 signal
to the vfdb_vfd process. to the vfdb_vfd process.
.B .B
.IP \-I\ \-\-ini\ <inifilename> .IP -I\ --ini\ <inifilename>
take configuration from this ini take configuration from this ini
file. Defaults to environment variable INI_FILE_NAME. Most vfdb_vfd file. Defaults to environment variable INI_FILE_NAME. Most vfdb_vfd
configuration comes from the ini file, not from command-line arguments. configuration comes from the ini file, not from command-line arguments.
.B .B
.IP \-S\ \-\-section\ <section\ name> .IP -S\ --section\ <section\ name>
take configuration from this take configuration from this
section in the ini file. Defaults to 'VFD-B'. section in the ini file. Defaults to 'VFD-B'.
.B .B
.IP \-r\ \-\-report\-device .IP -r\ --report-device
report device propertiers on console at startup report device propertiers on console at startup
.SH INI CONFIG VARIABLES .SH INI CONFIG VARIABLES
@ -132,107 +132,107 @@ and is generally printed on the motor's name plate.
.SH PINS .SH PINS
.B .B
.IP <name>.at\-speed\ (bit,\ out) .IP <name>.at-speed\ (bit,\ out)
True when drive is at commanded speed (see True when drive is at commanded speed (see
.I .I
speed\-tolerance speed-tolerance
below) below)
.B .B
.IP <name>.enable\ (bit,\ in) .IP <name>.enable\ (bit,\ in)
Enable the VFD. If False, all operating parameters are still read but Enable the VFD. If False, all operating parameters are still read but
control is released and panel control is enabled (subject to VFD setup). control is released and panel control is enabled (subject to VFD setup).
.B .B
.IP <name>.frequency\-command\ (float,\ out) .IP <name>.frequency-command\ (float,\ out)
Current target frequency in HZ as set through speed\-command (which is in Current target frequency in HZ as set through speed-command (which is in
RPM), from the VFD. RPM), from the VFD.
.B .B
.IP <name>.frequency\-out\ (float,\ out) .IP <name>.frequency-out\ (float,\ out)
Current output frequency of the VFD. Current output frequency of the VFD.
.B .B
.IP <name>.inverter\-load\-percentage\ (float,\ out) .IP <name>.inverter-load-percentage\ (float,\ out)
Current load report from VFD. Current load report from VFD.
.B .B
.IP <name>.is\-e\-stopped\ (bit,\ out) .IP <name>.is-e-stopped\ (bit,\ out)
The VFD is in emergency stop status (blinking "E" on panel). The VFD is in emergency stop status (blinking "E" on panel).
.B .B
.IP <name>.is\-stopped\ (bit,\ out) .IP <name>.is-stopped\ (bit,\ out)
True when the VFD reports 0 Hz output. True when the VFD reports 0 Hz output.
.B .B
.IP <name>.jog\-mode\ (bit,\ in) .IP <name>.jog-mode\ (bit,\ in)
1 for ON and 0 for OFF, enables the VFD-B 'jog mode'. Speed control 1 for ON and 0 for OFF, enables the VFD-B 'jog mode'. Speed control
is disabled. This might be useful for spindle orientation. is disabled. This might be useful for spindle orientation.
.B .B
.IP <name>.max\-rpm\ (float,\ out) .IP <name>.max-rpm\ (float,\ out)
Actual RPM limit based on maximum frequency the VFD may generate, and Actual RPM limit based on maximum frequency the VFD may generate, and
the motors nameplate values. For instance, if the motors nameplate values. For instance, if
.I nameplate\-HZ .I nameplate-HZ
is 50, and is 50, and
.I nameplate\-RPM .I nameplate-RPM
is 1410, but the VFD may generate up to 80Hz, then is 1410, but the VFD may generate up to 80Hz, then
.I max\-rpm .I max-rpm
would read as 2256 (80*1410/50). The frequency limit is read from the VFD would read as 2256 (80*1410/50). The frequency limit is read from the VFD
at startup. To increase the upper frequency limit, the UL and FH at startup. To increase the upper frequency limit, the UL and FH
parameters must be changed on the panel. See the VFD-B manual for parameters must be changed on the panel. See the VFD-B manual for
instructions how to set the maximum frequency. instructions how to set the maximum frequency.
.B .B
.IP <name>.modbus\-ok\ (bit,\ out) .IP <name>.modbus-ok\ (bit,\ out)
True when the Modbus session is successfully established and the last 10 True when the Modbus session is successfully established and the last 10
transactions returned without error. transactions returned without error.
.B .B
.IP <name>.motor\-RPM\ (float,\ out) .IP <name>.motor-RPM\ (float,\ out)
Estimated current RPM value, from the VFD. Estimated current RPM value, from the VFD.
.B .B
.IP <name>.motor\-RPS\ (float,\ out) .IP <name>.motor-RPS\ (float,\ out)
Estimated current RPS value, from the VFD. Estimated current RPS value, from the VFD.
.B .B
.IP <name>.output\-voltage\ (float,\ out) .IP <name>.output-voltage\ (float,\ out)
From the VFD. From the VFD.
.B .B
.IP <name>.output\-current\ (float,\ out) .IP <name>.output-current\ (float,\ out)
From the VFD. From the VFD.
.B .B
.IP <name>.speed\-command\ (float,\ in) .IP <name>.speed-command\ (float,\ in)
Speed sent to VFD in RPM. It is an error to send a speed faster than the Speed sent to VFD in RPM. It is an error to send a speed faster than the
Motor Max RPM as set in the VFD. Motor Max RPM as set in the VFD.
.B .B
.IP <name>.spindle\-on\ (bit,\ in) .IP <name>.spindle-on\ (bit,\ in)
1 for ON and 0 for OFF sent to VFD, only on when running. 1 for ON and 0 for OFF sent to VFD, only on when running.
.B .B
.IP <name>.max\-speed\ (bit,\ in) .IP <name>.max-speed\ (bit,\ in)
Ignore the loop-time parameter and run Modbus at maximum Ignore the loop-time paramater and run Modbus at maximum
speed, at the expense of higher CPU usage. Suggested use speed, at the expense of higher CPU usage. Suggested use
during spindle positioning. during spindle positioning.
.B .B
.IP <name>.status\ (s32,\ out) .IP <name>.status\ (s32,\ out)
Drive Status of the VFD (see the VFD manual). A bitmap. Drive Status of the VFD (see the VFD manual). A bitmap.
.B .B
.IP <name>.error\-count\ (s32,\ out) .IP <name>.error-count\ (s32,\ out)
Total number of transactions returning a Modbus error. Total number of transactions returning a Modbus error.
.B .B
.IP <name>.error\-code\ (s32,\ out) .IP <name>.error-code\ (s32,\ out)
Most recent Error Code from VFD. Most recent Error Code from VFD.
.B .B
.IP <name>.frequency\-limit\ (float,\ out) .IP <name>.frequency-limit\ (float,\ out)
Upper limit read from VFD setup. Upper limit read from VFD setup.
.B .B
.SH PARAMETERS .SH PARAMETERS
.B .B
.IP <name>.loop\-time\ (float,\ RW) .IP <name>.loop-time\ (float,\ RW)
How often the Modbus is polled (default interval 0.1 seconds). How often the Modbus is polled (default interval 0.1 seconds).
.B .B
.IP <name>.nameplate\-HZ\ (float,\ RW) .IP <name>.nameplate-HZ\ (float,\ RW)
Nameplate Hz of motor (default 50). Used to calculate target frequency Nameplate Hz of motor (default 50). Used to calculate target frequency
(together with (together with
.I nameplate\-RPM .I nameplate-RPM
) for a target RPM value as given by speed\-command. ) for a target RPM value as given by speed-command.
.B .B
.IP <name>.nameplate\-RPM\ (float,\ RW) .IP <name>.nameplate-RPM\ (float,\ RW)
Nameplate RPM of motor (default 1410) Nameplate RPM of motor (default 1410)
.B .B
.IP <name>.rpm\-limit\ (float,\ RW) .IP <name>.rpm-limit\ (float,\ RW)
Do-not-exceed soft limit for motor RPM (defaults to Do-not-exceed soft limit for motor RPM (defaults to
.I nameplate\-RPM .I nameplate-RPM
). ).
.B .B
.IP <name>.tolerance\ (float,\ RW) .IP <name>.tolerance\ (float,\ RW)

View file

@ -43,155 +43,155 @@ component. This component reads and writes to the vfs11 via a Modbus connection.
.SH OPTIONS .SH OPTIONS
.B .B
.IP \-n\ \-\-name\ <halname> .IP -n\ --name\ <halname>
set the HAL component name set the HAL component name
.B .B
.IP \-d\ \-\-debug .IP -d\ --debug
Turn on debugging messages. Also toggled by sending a USR1 signal to the vfs11_vfd process. Turn on debugging messages. Also toggled by sending a USR1 signal to the vfs11_vfd process.
.B .B
.IP \-m\ \-\-modbus\-debug .IP -m\ --modbus-debug
Turn on Modbus debugging messages. This will cause all Modbus messages to be printed in hex on the terminal. Turn on Modbus debugging messages. This will cause all Modbus messages to be printed in hex on the terminal.
Also toggled by sending a USR2 signal to the vfs11_vfd process. Also toggled by sending a USR2 signal to the vfs11_vfd process.
.B .B
.IP \-I\ \-\-ini\ <inifilename> .IP -I\ --ini\ <inifilename>
take configuration from this ini take configuration from this ini
file. Defaults to environment variable INI_FILE_NAME. file. Defaults to environment variable INI_FILE_NAME.
.B .B
.IP \-S\ \-\-section\ <section\ name> .IP -S\ --section\ <section\ name>
take configuration from this take configuration from this
section in the ini file. Defaults to 'VFS11'. section in the ini file. Defaults to 'VFS11'.
.B .B
.IP \-r\ \-\-report\-device .IP -r\ --report-device
report device propertiers on console at startup report device propertiers on console at startup
.SH PINS .SH PINS
.B .B
.IP <name>.acceleration\-pattern\ (bit,\ in) .IP <name>.acceleration-pattern\ (bit,\ in)
when true, set acceleration and deceleration times as defined in registers F500 and F501 respecitvely. Used in PID loops to choose shorter ramp times to avoid oscillation. when true, set acceleration and deceleration times as defined in registers F500 and F501 respecitvely. Used in PID loops to choose shorter ramp times to avoid oscillation.
.B .B
.IP <name>.alarm\-code\ (s32,\ out) .IP <name>.alarm-code\ (s32,\ out)
non-zero if drive is in alarmed state. Bitmap describing alarm information (see register FC91 description). Use non-zero if drive is in alarmed state. Bitmap describing alarm information (see register FC91 description). Use
.I err\-reset .I err-reset
(see below) to clear the alarm. (see below) to clear the alarm.
.B .B
.IP <name>.at\-speed\ (bit,\ out) .IP <name>.at-speed\ (bit,\ out)
when drive is at commanded speed (see when drive is at commanded speed (see
.I .I
speed\-tolerance speed-tolerance
below) below)
.B .B
.IP <name>.current\-load\-percentage\ (float,\ out) .IP <name>.current-load-percentage\ (float,\ out)
reported from the VFD reported from the VFD
.B .B
.IP <name>.dc\-brake\ \ (bit,\ in) .IP <name>.dc-brake\ \ (bit,\ in)
engage the DC brake. Also turns off spindle\-on. engage the DC brake. Also turns off spindle-on.
.B .B
.IP <name>.enable\ (bit,\ in) .IP <name>.enable\ (bit,\ in)
enable the VFD. If false, all operating parameters are still read but control is released and panel control is enabled (subject to VFD setup). enable the VFD. If false, all operating parameters are still read but control is released and panel control is enabled (subject to VFD setup).
.B .B
.IP <name>.err\-reset\ (bit,\ in) .IP <name>.err-reset\ (bit,\ in)
reset errors (alarms a.k.a Trip and e-stop status). Resetting the VFD may cause a 2-second delay until it's rebooted and Modbus is up again. reset errors (alarms a.k.a Trip and e-stop status). Resetting the VFD may cause a 2-second delay until it's rebooted and Modbus is up again.
.B .B
.IP <name>.estop\ (bit,\ in) .IP <name>.estop\ (bit,\ in)
put the VFD into emergency-stopped status. No operation possible until cleared with put the VFD into emergency-stopped status. No operation possible until cleared with
.I .I
err\-reset err-reset
or powercycling. or powercycling.
.B .B
.IP <name>.frequency\-command\ (float,\ out) .IP <name>.frequency-command\ (float,\ out)
current target frequency in HZ as set through speed\-command (which is in RPM), from the VFD current target frequency in HZ as set through speed-command (which is in RPM), from the VFD
.B .B
.IP <name>.frequency\-out\ (float,\ out) .IP <name>.frequency-out\ (float,\ out)
current output frequency of the VFD current output frequency of the VFD
.B .B
.IP <name>.inverter\-load\-percentage\ (float,\ out) .IP <name>.inverter-load-percentage\ (float,\ out)
current load report from VFD current load report from VFD
.B .B
.IP <name>.is\-e\-stopped\ (bit,\ out) .IP <name>.is-e-stopped\ (bit,\ out)
the VFD is in emergency stop status (blinking "E" on panel). Use the VFD is in emergency stop status (blinking "E" on panel). Use
.I .I
err\-reset err-reset
to reboot the VFD and clear the e\-stop status. to reboot the VFD and clear the e-stop status.
.B .B
.IP <name>.is\-stopped\ (bit,\ out) .IP <name>.is-stopped\ (bit,\ out)
true when the VFD reports 0 Hz output true when the VFD reports 0 Hz output
.B .B
.IP <name>.jog\-mode\ (bit,\ in) .IP <name>.jog-mode\ (bit,\ in)
1 for ON and 0 for OFF, enables the VF-S11 'jog mode'. Speed control is disabled, and the output frequency is determined by register F262 (preset to 5Hz). This might be useful for spindle orientation. 1 for ON and 0 for OFF, enables the VF-S11 'jog mode'. Speed control is disabled, and the output frequency is determined by register F262 (preset to 5Hz). This might be useful for spindle orientation.
.B .B
.IP <name>.max\-rpm\ (float,\ R) .IP <name>.max-rpm\ (float,\ R)
actual RPM limit based on maximum frequency the VFD may generate, and the motors nameplate values. For instance, if actual RPM limit based on maximum frequency the VFD may generate, and the motors nameplate values. For instance, if
.I nameplate\-HZ .I nameplate-HZ
is 50, and is 50, and
.I nameplate\-RPM_ .I nameplate-RPM_
is 1410, but the VFD may generate up to 80Hz, then is 1410, but the VFD may generate up to 80Hz, then
.I max\-rpm .I max-rpm
would read as 2256 (80*1410/50). The frequency limit is read from the VFD at startup. would read as 2256 (80*1410/50). The frequency limit is read from the VFD at startup.
To increase the upper frequency limit, the UL and FH parameters must be changed on the panel. To increase the upper frequency limit, the UL and FH parameters must be changed on the panel.
See the VF\-S11 manual for instructions how to set the maximum frequency. See the VF-S11 manual for instructions how to set the maximum frequency.
.B .B
.IP <name>.modbus\-ok\ (bit,\ out) .IP <name>.modbus-ok\ (bit,\ out)
true when the Modbus session is successfully established and the last 10 transactions returned without error. true when the Modbus session is successfully established and the last 10 transactions returned without error.
.B .B
.IP <name>.motor\-RPM\ (float,\ out) .IP <name>.motor-RPM\ (float,\ out)
estimated current RPM value, from the VFD estimated current RPM value, from the VFD
.B .B
.IP <name>.output\-current\-percentage\ (float,\ out) .IP <name>.output-current-percentage\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.output\-voltage\-percentage\ (float,\ out) .IP <name>.output-voltage-percentage\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.output\-voltage\ (float,\ out) .IP <name>.output-voltage\ (float,\ out)
from the VFD from the VFD
.B .B
.IP <name>.speed\-command\ (float,\ in) .IP <name>.speed-command\ (float,\ in)
speed sent to VFD in RPM. It is an error to send a speed faster than the Motor Max RPM as set in the VFD speed sent to VFD in RPM. It is an error to send a speed faster than the Motor Max RPM as set in the VFD
.B .B
.IP <name>.spindle\-fwd\ (bit,\ in) .IP <name>.spindle-fwd\ (bit,\ in)
1 for FWD and 0 for REV, sent to VFD 1 for FWD and 0 for REV, sent to VFD
.B .B
.IP <name>.spindle\-on\ (bit,\ in) .IP <name>.spindle-on\ (bit,\ in)
1 for ON and 0 for OFF sent to VFD, only on when running 1 for ON and 0 for OFF sent to VFD, only on when running
.B .B
.IP <name>.spindle\-rev\ (bit,\ in) .IP <name>.spindle-rev\ (bit,\ in)
1 for ON and 0 for OFF, only on when running 1 for ON and 0 for OFF, only on when running
.B .B
.IP <name>.max\-speed\ (bit,\ in) .IP <name>.max-speed\ (bit,\ in)
ignore the loop\-time parameter and run Modbus at maximum ignore the loop-time paramater and run Modbus at maximum
speed, at the expense of higher CPU usage. Suggested use speed, at the expense of higher CPU usage. Suggested use
during spindle positioning. during spindle positioning.
.B .B
.IP <name>.status\ (s32,\ out) .IP <name>.status\ (s32,\ out)
Drive Status of the VFD (see the TOSVERT VF-S11 Communications Function Instruction Manual, register FD01). A bitmap. Drive Status of the VFD (see the TOSVERT VF-S11 Communications Function Instruction Manual, register FD01). A bitmap.
.B .B
.IP <name>.trip\-code\ (s32,\ out) .IP <name>.trip-code\ (s32,\ out)
trip code if VF-S11 is in tripped state. trip code if VF-S11 is in tripped state.
.B .B
.IP <name>.error\-count\ (s32,\ RW) .IP <name>.error-count\ (s32,\ RW)
total number of transactions returning a Modbus error total number of transactions returning a Modbus error
.B .B
.SH PARAMETERS .SH PARAMETERS
.B .B
.IP <name>.frequency\-limit\ (float,\ RO) .IP <name>.frequency-limit\ (float,\ RO)
upper limit read from VFD setup. upper limit read from VFD setup.
.B .B
.IP <name>.loop\-time\ (float,\ RW) .IP <name>.loop-time\ (float,\ RW)
how often the Modbus is polled (default interval 0.1 seconds) how often the Modbus is polled (default interval 0.1 seconds)
.B .B
.IP <name>.nameplate\-HZ\ (float,\ RW) .IP <name>.nameplate-HZ\ (float,\ RW)
Nameplate Hz of motor (default 50). Used to calculate target frequency (together with Nameplate Hz of motor (default 50). Used to calculate target frequency (together with
.I nameplate\-RPM .I nameplate-RPM
) for a target RPM value as given by speed\-command. ) for a target RPM value as given by speed-command.
.B .B
.IP <name>.nameplate\-RPM\ (float,\ RW) .IP <name>.nameplate-RPM\ (float,\ RW)
Nameplate RPM of motor (default 1410) Nameplate RPM of motor (default 1410)
.B .B
.IP <name>.rpm\-limit\ (float,\ RW) .IP <name>.rpm-limit\ (float,\ RW)
do-not-exceed soft limit for motor RPM (defaults to do-not-exceed soft limit for motor RPM (defaults to
.I nameplate\-RPM .I nameplate-RPM
). ).
.B .B
.IP <name>.tolerance\ (float,\ RW) .IP <name>.tolerance\ (float,\ RW)

View file

@ -1,6 +1,6 @@
.TH XHC-HB04 "1" "2015-03-06" "LinuxCNC Documentation" "HAL User's Manual" .TH XHC-HB04 "1" "2015-03-06" "LinuxCNC Documentation" "HAL User's Manual"
.SH NAME .SH NAME
xhc\-hb04 \- User-space HAL component for the xhc-hb04 pendant. xhc-hb04 \- User-space HAL component for the xhc-hb04 pendant.
.SH DESCRIPTION .SH DESCRIPTION
The xhc-hb04 component supports a common USB pendant that provides a The xhc-hb04 component supports a common USB pendant that provides a
@ -26,13 +26,13 @@ a machine configured as XYZA, the pins can be assigned independently
as required in a HAL configuration. as required in a HAL configuration.
.SH UDEV .SH UDEV
The xhc\-hb04 executable needs permission for reading the pendant's The xhc-hb04 executable needs permission for reading the pendant's
USB device. Debian package installs (debs) handle this automatically USB device. Debian package installs (debs) handle this automatically
but Run-In-Place (RIP) builds may need a udev rules file. This file but Run-In-Place (RIP) builds may need a udev rules file. This file
should be created (using sudo and a text editor) as: should be created (using sudo and a text editor) as:
.nf .nf
\fB/etc/udev/rules.d/99\-xhc\-hb04.rules\fR with the single line: \fB/etc/udev/rules.d/99-xhc-hb04.rules\fR with the single line:
ATTR{idProduct}=="eb70", ATTR{idVendor}=="10ce", MODE="0666", OWNER="root", GROUP="plugdev" ATTR{idProduct}=="eb70", ATTR{idVendor}=="10ce", MODE="0666", OWNER="root", GROUP="plugdev"
.fi .fi
@ -42,25 +42,25 @@ The xhc-hb04 program can be run from the command line without LinuxCNC
to test a pendant in a simulation mode. This standalone mode is used to to test a pendant in a simulation mode. This standalone mode is used to
identify the button codes produced for each button press and to verify identify the button codes produced for each button press and to verify
proper counting of the jog wheel. The identified button codes can be proper counting of the jog wheel. The identified button codes can be
used to create a \fBbutton\-cfg\-file\fR. When a \fBbutton\-cfg\-file\fR used to create a \fBbutton-cfg-file\fR. When a \fBbutton-cfg-file\fR
exists, pendant operation can be verified using the \-I option to specify exists, pendant operation can be verified using the -I option to specify
the file. the file.
Usage: Usage:
$ xhc\-hb04 [options] $ xhc-hb04 [options]
.SH Options .SH Options
.TP .TP
\fB\-h\fR list command line options and exit \fB-h\fR list command line options and exit
.TP .TP
\fB\-I button\-cfg\-file\fR (see below for file format) \fB-I button-cfg-file\fR (see below for file format)
.TP .TP
\fB\-H\fR run in real-time HAL mode (simulation mode is default) \fB-H\fR run in real-time HAL mode (simulation mode is default)
.TP .TP
\fB\-x\fR wait for pendant detection before creating HAL pins. \fB-x\fR wait for pendant detection before creating HAL pins.
.TP .TP
\fB\-s n\fR n is one of the following stepsize sequences \fB-s n\fR n is one of the following stepsize sequences
.PP .PP
1: 1,10,100,1000 (default) 1: 1,10,100,1000 (default)
2: 1,5,10,20 2: 1,5,10,20
@ -69,15 +69,15 @@ $ xhc\-hb04 [options]
5: 1,10,50,100,1000 5: 1,10,50,100,1000
The stepsize selected is always multiplied by 0.001 The stepsize selected is always multiplied by 0.001
.SH button\-cfg\-file format .SH button-cfg-file format
Standard configuration files are provided in the distribution for Standard configuration files are provided in the distribution for
known button configurations: known button configurations:
.nf .nf
/usr/share/linuxcnc/hallib/xhc\-hb04\-layout1.cfg /usr/share/linuxcnc/hallib/xhc-hb04-layout1.cfg
/usr/share/linuxcnc/hallib/xhc\-hb04\-layout2.cfg /usr/share/linuxcnc/hallib/xhc-hb04-layout2.cfg
or for a RIP build: or for a RIP build:
rip_base_dir/lib/hallib/xhc\-hb04\-layout1.cfg rip_base_dir/lib/hallib/xhc-hb04-layout1.cfg
rip_base_dir/lib/hallib/xhc\-hb04\-layout2.cfg rip_base_dir/lib/hallib/xhc-hb04-layout2.cfg
.fi .fi
layout1 describes the 16 button pendant, layout1 describes the 16 button pendant,
@ -88,193 +88,193 @@ but should use a file suffix of .cfg.
.nf .nf
File format: File format:
[XHC\-HB04] [XHC-HB04]
BUTTON=X1:button\-thename1 BUTTON=X1:button-thename1
BUTTON=X2:button\-thename2 BUTTON=X2:button-thename2
BUTTON=X3:button\-thename3 BUTTON=X3:button-thename3
etc. etc.
.fi .fi
XN is the code reported for a button press and button\-thenameN XN is the code reported for a button press and button-thenameN
is the name to be assigned to the pin created for the button. is the name to be assigned to the pin created for the button.
.SH Hal Usage .SH Hal Usage
Use the \-H option to specify HAL mode and other options as required: Use the -H option to specify HAL mode and other options as required:
\fIloadusr \-W \fR \fBxhc\-hb04\fR \fI\-H [Options]\fR \fIloadusr -W \fR \fBxhc-hb04\fR \fI-H [Options]\fR
Example: Example:
\fIloadusr \-W \fR \fBxhc\-hb04\fR \fI\-H \-I path_to_cfg_file \-s 2\fR \fIloadusr -W \fR \fBxhc-hb04\fR \fI-H -I path_to_cfg_file -s 2\fR
.SH Input Pins (Control) .SH Input Pins (Control)
.TP .TP
(bit in) \fIxhc\-hb04.stepsize\-up\fR A 1 pulse on this pin changes the (bit in) \fIxhc-hb04.stepsize-up\fR A 1 pulse on this pin changes the
stepsize to the next higher stepsize in the stepsize sequence specified stepsize to the next higher stepsize in the stepsize sequence specified
in the xhc\-hb04 (loadusr) command. in the xhc-hb04 (loadusr) command.
.TP .TP
(bit in) \fIxhc\-hb04.stepsize\-down\fR A 1 pulse on this pin changes the (bit in) \fIxhc-hb04.stepsize-down\fR A 1 pulse on this pin changes the
stepsize to the next lower stepsize in the stepsize sequence specified stepsize to the next lower stepsize in the stepsize sequence specified
in the xhc\-hb04 (loadusr) command. in the xhc-hb04 (loadusr) command.
.SH Input Pins (to the pendant LCD display) .SH Input Pins (to the pendant LCD display)
.TP .TP
(float in) \fIxhc\-hb04.[xyza].pos\-absolute\fR Absolule position display. (float in) \fIxhc-hb04.[xyza].pos-absolute\fR Absolule position display.
(typically connect to: halui.axis.N.pos\-feedback). The LCD display (typically connect to: halui.axis.N.pos-feedback). The LCD display
for pos\-absolute is fixed format with a sign, 4 number digits and 3 for pos-absolute is fixed format with a sign, 4 number digits and 3
fraction digits (+XXXX.XXX), require: \-9999.999 <= value <= 9999.999. fraction digits (+XXXX.XXX), require: -9999.999 <= value <= 9999.999.
.TP .TP
(float in) \fIxhc\-hb04.[xyza].pos\-relative\fR Relative position display. (float in) \fIxhc-hb04.[xyza].pos-relative\fR Relative position display.
(typically connect to: halui.axis.N.pos\-relative). The LCD display (typically connect to: halui.axis.N.pos-relative). The LCD display
for pos\-relative is fixed format with a sign, 4 number digits and 3 for pos-relative is fixed format with a sign, 4 number digits and 3
fraction digits (+XXXX.XXX), require: \-9999.999 <= value <= 9999.999. fraction digits (+XXXX.XXX), require: -9999.999 <= value <= 9999.999.
.TP .TP
(float in) \fIxhc\-hb04.feed\-override\fR Feed\-override value. (float in) \fIxhc-hb04.feed-override\fR Feed-override value.
The float value is converted to a 16 bit integer and multiplied by 100 in The float value is converted to a 16 bit integer and multiplied by 100 in
order to display as percent, require: 0 <= pinvalue <= 655 order to display as percent, require: 0 <= pinvalue <= 655
(typically connect to: halui.feed\-override.value) (typically connect to: halui.feed-override.value)
.TP .TP
(float in) \fIxhc\-hb04.feed\-value\fR Current Feed-value (units/sec). (float in) \fIxhc-hb04.feed-value\fR Current Feed-value (units/sec).
The float value is converted to a 16 bit integer and multiplied by 60 in The float value is converted to a 16 bit integer and multiplied by 60 in
order to display as units-per-minute, require: 0 <= pinvalue <= 1092 order to display as units-per-minute, require: 0 <= pinvalue <= 1092
(65520 units-per-minute) (typically connect to: motion.current\-vel) (65520 units-per-minute) (typically connect to: motion.current-vel)
.TP .TP
(float in) \fIxhc\-hb04.spindle\-override\fR Spindle\-override value. (float in) \fIxhc-hb04.spindle-override\fR Spindle-override value.
The float value is converted to a 16 bit integer and multiplied by 100 in The float value is converted to a 16 bit integer and multiplied by 100 in
order to display as percent, require: 0 <= pinvalue <= 655) order to display as percent, require: 0 <= pinvalue <= 655)
(typically connect to: halui.spindle\-override.value) (typically connect to: halui.spindle-override.value)
.TP .TP
(float in) \fIxhc\-hb04.spindle\-rps\fR Spindle speed in rps. (float in) \fIxhc-hb04.spindle-rps\fR Spindle speed in rps.
(revolutions per second). The float value is converted to a 16 bit integer (revolutions per second). The float value is converted to a 16 bit integer
and multiplied by 60 in order to display as RPMs, and multiplied by 60 in order to display as RPMs,
require: 0 <= pinvalue <= 1092 (65520 RPM) (typically connect to: require: 0 <= pinvalue <= 1092 (65520 RPM) (typically connect to:
motion.spindle\-speed\-out\-rps\-abs) motion.spindle-speed-out-rps-abs)
.TP .TP
(bit in) \fIxhc\-hb04.inch\-icon\fR Use inch icon (default is mm) (bit in) \fIxhc-hb04.inch-icon\fR Use inch icon (default is mm)
.SH Output Pins (Status) .SH Output Pins (Status)
.TP .TP
(bit out) \fIxhc\-hb04.sleeping\fR True when the driver receives a pendant (bit out) \fIxhc-hb04.sleeping\fR True when the driver receives a pendant
inactive (sleeping) message. inactive (sleeping) message.
.TP .TP
(bit out) \fIxhc\-hb04.jog.enable\-off\fR True when the pendant rotary (bit out) \fIxhc-hb04.jog.enable-off\fR True when the pendant rotary
selector switch is in the OFF position or when the pendant is sleeping. selector switch is in the OFF position or when the pendant is sleeping.
.TP .TP
(bit out) \fIxhc\-hb04.enable\-[xyza]\fR True when the pendant rotary (bit out) \fIxhc-hb04.enable-[xyza]\fR True when the pendant rotary
selector switch is in the [xyza] position and not sleeping. selector switch is in the [xyza] position and not sleeping.
.TP .TP
(bit out) \fIxhc\-hb04.enable\-spindle\-override\fR True when the pendant (bit out) \fIxhc-hb04.enable-spindle-override\fR True when the pendant
rotary selector switch is in the Spindle position and not sleeping. rotary selector switch is in the Spindle position and not sleeping.
(typically connect to: halui.spindle\-override\-count\-enable) (typically connect to: halui.spindle-override-count-enable)
.TP .TP
(bit out) \fIxhc\-hb04.enable\-feed\-override\fR True when the pendant rotary (bit out) \fIxhc-hb04.enable-feed-override\fR True when the pendant rotary
selector switch is in the Feed position and not sleeping. selector switch is in the Feed position and not sleeping.
(typically connect to: halui.feed\-override\-count\-enable) (typically connect to: halui.feed-override-count-enable)
.TP .TP
(bit out) \fIxhc\-hb04.connected\fR True when connection to the pendant (bit out) \fIxhc-hb04.connected\fR True when connection to the pendant
is established over the USB interface. is established over the USB interface.
.TP .TP
(bit out) \fIxhc\-hb04.require_pendant\fR True if driver started with (bit out) \fIxhc-hb04.require_pendant\fR True if driver started with
the \-x option. the -x option.
.TP .TP
(s32 out) \fIxhc\-hb04.stepsize\fR Current stepsize in the stepsize sequence (s32 out) \fIxhc-hb04.stepsize\fR Current stepsize in the stepsize sequence
as controlled by the stepsize\-up and/or stepsize\-down pins. as controlled by the stepsize-up and/or stepsize-down pins.
.SH Output Pins (for jogging using axis.N.jog\-counts) .SH Output Pins (for jogging using axis.N.jog-counts)
.TP .TP
(s32 out) \fIxhc\-hb04.jog.counts\fR Number of counts of the wheel since (s32 out) \fIxhc-hb04.jog.counts\fR Number of counts of the wheel since
start\-up (50 counts per wheel revolution). start-up (50 counts per wheel revolution).
(typically connect to axis.N.jog\-counts (lowpass filtering may be helpful)) (typically connect to axis.N.jog-counts (lowpass filtering may be helpful))
.TP .TP
(s32 out) \fIxhc\-hb04.jog.counts\-neg\fR The value of the (s32 out) \fIxhc-hb04.jog.counts-neg\fR The value of the
xhc\-hb04.jog.counts multipled by \-1. xhc-hb04.jog.counts multipled by -1.
.TP .TP
(float out) \fIxhc\-hb04.jog.scale\fR Value is the current stepsize (float out) \fIxhc-hb04.jog.scale\fR Value is the current stepsize
multipled by 0.001. multipled by 0.001.
(typically connect to axis.N.jog\-scale) (typically connect to axis.N.jog-scale)
.SH Experimental: Pins for halui plus/minus jogging .SH Experimental: Pins for halui plus/minus jogging
These pins provide some support for non\-trivkins, world mode jogging. These pins provide some support for non-trivkins, world mode jogging.
.TP .TP
(float in) \fIxhc\-hb04.jog.max\-velocity\fR Connect to halui.max\-velocity.value (float in) \fIxhc-hb04.jog.max-velocity\fR Connect to halui.max-velocity.value
.TP .TP
(float out) \fIxhc\-hb04.jog.velocity\fR Connect to halui.jog\-speed (float out) \fIxhc-hb04.jog.velocity\fR Connect to halui.jog-speed
.TP .TP
(bit out) \fIxhc\-hb04.jog.plus\-[xyza]\fR Connect to halui.jog.N.plus (bit out) \fIxhc-hb04.jog.plus-[xyza]\fR Connect to halui.jog.N.plus
.TP .TP
(bit out) \fIxhc\-hb04.jog.minus\-[xyza]\fR Connect to halui.jog.N.minus (bit out) \fIxhc-hb04.jog.minus-[xyza]\fR Connect to halui.jog.N.minus
.TP .TP
(float out) \fIxhc\-hb04.jog.increment\fR Debug pin -- abs(delta_pos) (float out) \fIxhc-hb04.jog.increment\fR Debug pin -- abs(delta_pos)
.SH Button output pins (for the 18 button, layout2 pendant) .SH Button output pins (for the 18 button, layout2 pendant)
The output bit type pins are TRUE when the button is pressed. The output bit type pins are TRUE when the button is pressed.
.nf .nf
ROW 1 ROW 1
(bit out) xhc\-hb04.button\-reset (bit out) xhc-hb04.button-reset
(bit out) xhc\-hb04.button\-stop (bit out) xhc-hb04.button-stop
ROW 2 ROW 2
(bit out) xhc\-hb04.button\-goto\-zero (bit out) xhc-hb04.button-goto-zero
(bit out) xhc\-hb04.button\-rewind (bit out) xhc-hb04.button-rewind
(bit out) xhc\-hb04.button\-start\-pause (bit out) xhc-hb04.button-start-pause
(bit out) xhc\-hb04.button\-probe\-z (bit out) xhc-hb04.button-probe-z
ROW 3 ROW 3
(bit out) xhc\-hb04.button\-spindle (bit out) xhc-hb04.button-spindle
(bit out) xhc\-hb04.button\-half (bit out) xhc-hb04.button-half
(bit out) xhc\-hb04.button\-zero (bit out) xhc-hb04.button-zero
(bit out) xhc\-hb04.button\-safe\-z (bit out) xhc-hb04.button-safe-z
ROW 4 ROW 4
(bit out) xhc\-hb04.button\-home (bit out) xhc-hb04.button-home
(bit out) xhc\-hb04.button\-macro\-1 (bit out) xhc-hb04.button-macro-1
(bit out) xhc\-hb04.button\-macro\-2 (bit out) xhc-hb04.button-macro-2
(bit out) xhc\-hb04.button\-macro\-3 (bit out) xhc-hb04.button-macro-3
ROW 5 ROW 5
(bit out) xhc\-hb04.button\-step (bit out) xhc-hb04.button-step
(bit out) xhc\-hb04.button\-mode (bit out) xhc-hb04.button-mode
(bit out) xhc\-hb04.button\-macro\-6 (bit out) xhc-hb04.button-macro-6
(bit out) xhc\-hb04.button\-macro\-7 (bit out) xhc-hb04.button-macro-7
.fi .fi
.SH Synthesized button pins .SH Synthesized button pins
Additional buttons are synthesized for buttons named Additional buttons are synthesized for buttons named
\fBzero\fR, \fBgoto\-zero\fR, and \fBhalf\fR. These synthesized \fBzero\fR, \fBgoto-zero\fR, and \fBhalf\fR. These synthesized
buttons are active when the button is pressed AND the selector\-switch buttons are active when the button is pressed AND the selector-switch
is set to the corresponding axis [xyza]. is set to the corresponding axis [xyza].
.nf .nf
(bit out) xhc\-hb04.button\-zero\-[xyza] (bit out) xhc-hb04.button-zero-[xyza]
(bit out) xhc\-hb04.button\-goto\-zero\-[xyza] (bit out) xhc-hb04.button-goto-zero-[xyza]
(bit out) xhc\-hb04.button\-half\-[xyza] (bit out) xhc-hb04.button-half-[xyza]
.fi .fi
.SH DEBUGGING .SH DEBUGGING
For debugging USB activity, use environmental variable LIBUSB_DEBUG: For debugging USB activity, use environmental variable LIBUSB_DEBUG:
.TP .TP
export LIBUSB_DEBUG=[2 | 3 | 4]; xhc\-hb04 [options] export LIBUSB_DEBUG=[2 | 3 | 4]; xhc-hb04 [options]
2:warning, 3:info, 4:debug 2:warning, 3:info, 4:debug
.SH Sim Configs .SH Sim Configs
The distribution includes several simulation configurations in The distribution includes several simulation configurations in
the directory: the directory:
.nf .nf
/usr/share/doc/linuxcnc/examples/sample\-configs/sim/axis/xhc\-hb04/ /usr/share/doc/linuxcnc/examples/sample-configs/sim/axis/xhc-hb04/
or for a RIP build: or for a RIP build:
rip_base_dir/configs/sim/axis/xhc\-hb04/ rip_base_dir/configs/sim/axis/xhc-hb04/
.fi .fi
.PP .PP
These configurations use a distribution-provided script (xhc\-hb04.tcl) These configurations use a distribution-provided script (xhc-hb04.tcl)
to configure the pendant and make necessary HAL connections according to configure the pendant and make necessary HAL connections according
to a number of ini file settings. The script uses an additional to a number of ini file settings. The script uses an additional
HAL component (xhc_hb04_util) to provide common functionality and HAL component (xhc_hb04_util) to provide common functionality and
includes support for a standard method for the start-pause button. includes support for a standard method for the start-pause button.
.PP .PP
The settings available include: The settings available include:
1) specify button\-cfg\-file for standard layout1 or layout2 1) specify button-cfg-file for standard layout1 or layout2
2) select axes (up to 4 axes from set of x y z a b c u v w) 2) select axes (up to 4 axes from set of x y z a b c u v w)
3) implement per-axis filtering coeficients 3) implement per-axis filtering coeficients
4) implement per-axis acceleration for mpg jogging 4) implement per-axis acceleration for mpg jogging
@ -285,7 +285,7 @@ The settings available include:
9) option to require pendant on startup 9) option to require pendant on startup
.PP .PP
The sim configs illustrate button connections that: The sim configs illustrate button connections that:
1) connect pendant stepsize\-up button to the step input pin. 1) connect pendant stepsize-up button to the step input pin.
2) connect buttons to halui.* pins 2) connect buttons to halui.* pins
3) connect buttons to motion.* pins 3) connect buttons to motion.* pins
.PP .PP
@ -295,14 +295,14 @@ directory for usage.
.PP .PP
\fBNote:\fR The sim configs use the axis gui but the scripts are \fBNote:\fR The sim configs use the axis gui but the scripts are
available with any HAL configuration or gui. The same scripts can available with any HAL configuration or gui. The same scripts can
be used to adapt the xhc\-hb04 to existing configurations provided that be used to adapt the xhc-hb04 to existing configurations provided that
the halui, motion, and axis.N pins needed are not otherwise claimed. the halui, motion, and axis.N pins needed are not otherwise claimed.
Instructions are included in README file in the directory named above. Instructions are included in README file in the directory named above.
.PP .PP
Use halcmd to display the pins and signals used by the xhc\-hb04.tcl Use halcmd to display the pins and signals used by the xhc-hb04.tcl
script: script:
.nf .nf
halcmd show pin xhc\-hb04 (show all xhc\-hb04 pins) halcmd show pin xhc-hb04 (show all xhc-hb04 pins)
halcmd show pin pendant_util (show all pendant_util pins) halcmd show pin pendant_util (show all pendant_util pins)
halcmd show sig pendant: (show all pendant signals) halcmd show sig pendant: (show all pendant signals)
.fi .fi

View file

@ -40,7 +40,7 @@ Elementwise equality and inequality operator
.TP .TP
.B PM_CARTESIAN operator+(PM_CARTESIAN \fIv1\fB, PM_CARTESIAN\fIv2\fB) .B PM_CARTESIAN operator+(PM_CARTESIAN \fIv1\fB, PM_CARTESIAN\fIv2\fB)
.TQ .TQ
.B PM_CARTESIAN operator\-(PM_CARTESIAN \fIv1\fB, PM_CARTESIAN\fIv2\fB) .B PM_CARTESIAN operator-(PM_CARTESIAN \fIv1\fB, PM_CARTESIAN\fIv2\fB)
Addition and subtraction of vectors Addition and subtraction of vectors
.TP .TP
.B PM_CARTESIAN operator*(double \fIs\fB, PM_CARTESIAN \fIv\fB) .B PM_CARTESIAN operator*(double \fIs\fB, PM_CARTESIAN \fIv\fB)

View file

@ -22,8 +22,8 @@ The desired location within the thread. This determines when the function will
run, in relation to other functions in the thread. A positive number indicates run, in relation to other functions in the thread. A positive number indicates
the desired location as measured from the beginning of the thread, and a the desired location as measured from the beginning of the thread, and a
negative is measured from the end. So +1 means this function will become the negative is measured from the end. So +1 means this function will become the
first one to run, +5 means it will be the fifth one to run, \-2 means it will be first one to run, +5 means it will be the fifth one to run, -2 means it will be
next to last, and \-1 means it will be last. Zero is illegal. next to last, and -1 means it will be last. Zero is illegal.
.SH DESCRIPTION .SH DESCRIPTION
\fBhal_add_funct_to_thread\fR adds a function exported by a realtime HAL \fBhal_add_funct_to_thread\fR adds a function exported by a realtime HAL

View file

@ -20,7 +20,7 @@ The base address of the port (if port >= 16) or the linux port number of the
port (if port < 16) port (if port < 16)
.IP \fIbase_hi\fR .IP \fIbase_hi\fR
The "high" address of the port (location of the ECP registers), 0 to use a The "high" address of the port (location of the ECP registers), 0 to use a
probed high address, or \-1 to disable the high address probed high address, or -1 to disable the high address
.IP \fImodes\fR .IP \fImodes\fR
Advise the driver of the desired port modes, from <linux/parport.h>. If a Advise the driver of the desired port modes, from <linux/parport.h>. If a
linux-detected port does not provide the requested modes, a warning is printed linux-detected port does not provide the requested modes, a warning is printed
@ -35,7 +35,7 @@ before the component exits with \fBhal_exit\fR.
If the port is a parallel port known to Linux, and Linux detected a high If the port is a parallel port known to Linux, and Linux detected a high
I/O address, this value is used. Otherwise, if base+0x400 is not registered I/O address, this value is used. Otherwise, if base+0x400 is not registered
to any device, it is used. Otherwise, no address is used. If no high address to any device, it is used. Otherwise, no address is used. If no high address
is detected, port\->base_hi is 0. is detected, port->base_hi is 0.
.SH PARPORT STRUCTURE .SH PARPORT STRUCTURE
.in +4n .in +4n
.nf .nf

View file

@ -68,7 +68,6 @@ There are functions for each of the data types that the HAL supports. Pins may
only be linked to signals of the same type. only be linked to signals of the same type.
.SH RETURN VALUE .SH RETURN VALUE
Returns 0 on success, or a negative errno value on failure. Returns a HAL status code.
.SH SEE ALSO .SH SEE ALSO
\fBhal_type_t(3hal)\fR, \fBhal_link(3hal)\fR \fBhal_type_t(3hal)\fR, \fBhal_link(3hal)\fR

View file

@ -10,7 +10,7 @@ typedef ... \fBhal_bit_t;
A volatile type which may have a value of 0 or nonzero. A volatile type which may have a value of 0 or nonzero.
.TP .TP
typedef ... \fBhal_s32_t\fR; typedef ... \fBhal_s32_t\fR;
A volatile type which may have a value from \-2147483648 to 2147483647. A volatile type which may have a value from -2147483648 to 2147483647.
.TP .TP
typedef ... \fBhal_u32_t\fR; typedef ... \fBhal_u32_t\fR;
A volatile type which may have a value from 0 to 4294967295. A volatile type which may have a value from 0 to 4294967295.

View file

@ -22,7 +22,7 @@ It should be called only when all the frames have been defined by calls to
hm2_tram_add_bspi_frame(). hm2_tram_add_bspi_frame().
.SH RETURN VALUE .SH RETURN VALUE
Returns 0 on success and \-1 on failure. Returns 0 on success and -1 on failure.
.SH SEE ALSO .SH SEE ALSO
man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame

View file

@ -11,33 +11,26 @@ of a hostmot2 buffered SPI driver.
int hm2_bspi_set_read_function(char *name, void *func, void *subdata) int hm2_bspi_set_read_function(char *name, void *func, void *subdata)
.SH DESCRIPTION .SH DESCRIPTION
\fBhm2_bspi_set_read_function\fR registers a function in an external driver \fBhm2_bspi_set_read_function\fR Registers a function in an external driver
to be called every time that the main Hostmot2 (typically written in "comp") to be called every time that the main Hostmot2
driver calls the generic "process_tram_read" function. driver calls the generic "process_tram_read" functionsread.
The names of the available channels are printed with rtapi_print_msg during the The names of the available channels are printed to standard output during the
driver loading process and take the form: driver loading process and take the form:
.RS hm2_<board name>.<board index>.bspi.<index> For example hm2_5i23.0.bspi.0
hm2_<board name>.<board index>.bspi.<index> "func" should be a pointer to a function in the sub driver which is to be
.RE
For example hm2_5i23.0.bspi.0.
"func" should be a pointer to a function in the sub driver which is to be
called to process the results of the BSPI TRAM read phase. The function must called to process the results of the BSPI TRAM read phase. The function must
take a single argument, a pointer to an individual instance of the internal take a single argument, a pointer to an individual instance of the internal
driver. If defined in comp then the function must \fBnot\fP use the FUNCTION() driver. If defined in comp then the function must /fBnot/fP use the FUNCTION()
convenience macro, and the argument to the function in the definition must convenience macro, and the argument to the function in the definition must
\fBalways\fP be (struct state *inst). read/fBallways/fP be (struct state *inst).
"subdata" is a pointer to the driver instance internal data. In the case of a
"subdata" is a pointer to the driver instance internal data. In the case of a
driver written in comp this will always be "inst" in the function call and the driver written in comp this will always be "inst" in the function call and the
call should be anywhere in the EXTRA_SETUP code. call should be anywhere in the EXTRA_SETUP code.
.SH RETURN VALUE .SH RETURN VALUE
Returns 0 on success and \-1 on failure. Returns 0 on success and -1 on failure.
.SH SEE ALSO .SH SEE ALSO
\fBhm2_bspi_setup_chan(3hm2)\fR, man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame
\fBhm2_bspi_write_chan(3hm2)\fR, man hm2_allocate_bspi_tram.
\fBhm2_tram_add_bspi_frame(3hm2)\fR, See src/hal/drivers mesa_7i65.comp for an example usage.
\fBhm2_allocate_bspi_tram(3hm2)\fR,
src/hal/drivers mesa_7i65.comp in the LinuxCNC source distribution.

View file

@ -11,35 +11,27 @@ of a hostmot2 buffered SPI driver.
int hm2_bspi_set_write_function(char *name, void *func, void *subdata) int hm2_bspi_set_write_function(char *name, void *func, void *subdata)
.SH DESCRIPTION .SH DESCRIPTION
\fBhm2_bspi_set_write_function\fR registers a function in an external driver \fBhm2_bspi_set_write_function\fR Registers a function in an external driver
to be called every time that the main Hostmot2 (typically written in "comp") to be called every time that the main Hostmot2
driver calls the generic "prepare_tram_write" functions. driver calls the generic "prepare_tram_write" functions.
The names of the available channels are printed with rtapi_print_msg during the The names of the available channels are printed to standard output during the
driver loading process and take the form: driver loading process and take the form:
.RS hm2_<board name>.<board index>.bspi.<index> For example hm2_5i23.0.bspi.0
hm2_<board name>.<board index>.bspi.<index> "func" should be a pointer to a function in the sub driver which is to be
.RE
For example hm2_5i23.0.bspi.0.
"func" should be a pointer to a function in the sub driver which is to be
called to process the pins into BSPI write registers prior to the regular TRAM called to process the pins into BSPI write registers prior to the regular TRAM
write phase. The function must take a single argument, a pointer to an write phase. The function must take a single argument, a pointer to an
individual instance of the internal driver. If defined in comp then the individual instance of the internal driver. If defined in comp then the
function must \fBnot\fP use the FUNCTION() convenience macro, and the argument function must /fBnot/fP use the FUNCTION() convenience macro, and the argument
to the function in the definition must \fBalways\fP be (struct state *inst). to the function in the definition must /fBallways/fP be (struct state *inst).
"subdata" is a pointer to the driver instance internal data. In the case of a
"subdata" is a pointer to the driver instance internal data. In the case of a
driver written in comp this will always be "inst" in the function call. driver written in comp this will always be "inst" in the function call.
If using comp then the call to this function should be anywhare in the
If using comp then the call to this function should be anywhere in the
EXTRA_SETUP code. EXTRA_SETUP code.
.SH RETURN VALUE .SH RETURN VALUE
Returns 0 on success and \-1 on failure. Returns 0 on success and -1 on failure.
.SH SEE ALSO .SH SEE ALSO
\fBhm2_bspi_setup_chan(3hm2)\fR, man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame
\fBhm2_bspi_read_chan(3hm2)\fR, man hm2_allocate_bspi_tram.
\fBhm2_tram_add_bspi_frame(3hm2)\fR, See src/hal/drivers mesa_7i65.comp for an example usage.
\fBhm2_allocate_bspi_tram(3hm2)\fR,
src/hal/drivers mesa_7i65.comp in the LinuxCNC source distribution.

View file

@ -34,7 +34,7 @@ sense-inverted, it should be set to 1 for devices which do not return data (such
as DACs). as DACs).
.SH RETURN VALUE .SH RETURN VALUE
Returns 0 on success and \-1 on failure. Returns 0 on success and -1 on failure.
.SH SEE ALSO .SH SEE ALSO
man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame

View file

@ -23,7 +23,7 @@ the main loop for regular data transfers (but is appropriate to use for on-the-
fly setup changes). fly setup changes).
.SH RETURN VALUE .SH RETURN VALUE
Returns 0 on success and \-1 on failure. Returns 0 on success and -1 on failure.
.SH SEE ALSO .SH SEE ALSO
man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame

View file

@ -25,7 +25,7 @@ The read and write parameters must be pointers to pointers, as TRAM re-maps the
buffers into contiguous memory. buffers into contiguous memory.
.SH RETURN VALUE .SH RETURN VALUE
Returns 0 on success and \-1 on failure. Returns 0 on success and -1 on failure.
.SH SEE ALSO .SH SEE ALSO
man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame

View file

@ -25,7 +25,7 @@ Note that the UART Receieve FIFO is only 16 bytes deep,(the transmit FIFO is 64
bytes) and "data" needs to be at least that large or undefined mayhem will ensue. bytes) and "data" needs to be at least that large or undefined mayhem will ensue.
.SH RETURN VALUE .SH RETURN VALUE
Returns the number of bytes read on success and \-1 on failure. Returns the number of bytes read on success and -1 on failure.
.SH SEE ALSO .SH SEE ALSO
man hm2_uart_setup, man hm2_uart_send man hm2_uart_setup, man hm2_uart_send

View file

@ -25,7 +25,7 @@ This function performs writes of data to the specified UART.It should be used
inside a function in a realtime or userspace HAL component. inside a function in a realtime or userspace HAL component.
.SH RETURN VALUE .SH RETURN VALUE
Returns the number of bytes sent on success and \-1 on failure. Returns the number of bytes sent on success and -1 on failure.
.SH SEE ALSO .SH SEE ALSO
man hm2_uart_setup, man hm2_uart_read man hm2_uart_setup, man hm2_uart_read

View file

@ -49,11 +49,11 @@ rx_mode and tx_mode registers are currently write-only. There should possibly be
a get-status function. a get-status function.
To write only to the tx_mode DriveEnable bit call this function with the bitrate To write only to the tx_mode DriveEnable bit call this function with the bitrate
unchanged and \-1 as the rx_mode unchanged and -1 as the rx_mode
To change bitrate without altering mode settings send \-1 to both modes. To change bitrate without altering mode settings send -1 to both modes.
.SH RETURN VALUE .SH RETURN VALUE
Returns0 on success and \-1 on failure Returns0 on success and -1 on failure
.SH SEE ALSO .SH SEE ALSO
man hm2_uart_send, man hm2_uart_read man hm2_uart_send, man hm2_uart_read

View file

@ -18,7 +18,7 @@ generally consists of a call to rtapi_init or hal_init, followed by other
component-specific initialization code. component-specific initialization code.
.SH RETURN VALUE .SH RETURN VALUE
Return 0 for success. Return a negative errno value (e.g., \-EINVAL) on Return 0 for success. Return a negative errno value (e.g., -EINVAL) on
error. Existing code also returns RTAPI or HAL error values, but using error. Existing code also returns RTAPI or HAL error values, but using
negative errno values gives better diagnostics from insmod. negative errno values gives better diagnostics from insmod.

View file

@ -20,8 +20,8 @@ hardware and RTOS limitations, the actual period may not be exactly what was
requested. On success, the function will return the actual clock period if it requested. On success, the function will return the actual clock period if it
is available, otherwise it returns the requested period. If the requested is available, otherwise it returns the requested period. If the requested
period is outside the limits imposed by the hardware or RTOS, it returns period is outside the limits imposed by the hardware or RTOS, it returns
\fB\-EINVAL\fR and does not start the clock. Once the clock is started, \fB-EINVAL\fR and does not start the clock. Once the clock is started,
subsequent calls with non-zero \fInsec\fR return \fB\-EINVAL\fR and have no subsequent calls with non-zero \fInsec\fR return \fB-EINVAL\fR and have no
effect. Calling \fBrtapi_clock_set_period\fR with \fInsec\fR set to zero effect. Calling \fBrtapi_clock_set_period\fR with \fInsec\fR set to zero
queries the clock, returning the current clock period, or zero if the clock has queries the clock, returning the current clock period, or zero if the clock has
not yet been started. not yet been started.

View file

@ -37,7 +37,7 @@ especially in kernel space. Also note that rtapi_print() will NOT
print \fIlong long\fRs. Most time measurements are relative, and should print \fIlong long\fRs. Most time measurements are relative, and should
be done like this: be done like this:
.RS .RS
deltat = (long int)(end_time \- start_time); deltat = (long int)(end_time - start_time);
.RE .RE
where end_time and start_time are longlong values returned from rtapi_get_time, where end_time and start_time are longlong values returned from rtapi_get_time,
and deltat is an ordinary long int (32 bits). This will work for times up to a and deltat is an ordinary long int (32 bits). This will work for times up to a
@ -50,11 +50,11 @@ Returns the current time in nanoseconds or CPU clocks.
Certain versions of the Linux kernel provide a global variable \fBcpu_khz\fR. Certain versions of the Linux kernel provide a global variable \fBcpu_khz\fR.
Computing Computing
.RS .RS
deltat = (end_clocks \- start_clocks) / cpu_khz: deltat = (end_clocks - start_clocks) / cpu_khz:
.RE .RE
gives the duration measured in milliseconds. Computing gives the duration measured in milliseconds. Computing
.RS .RS
deltat = (end_clocks \- start_clocks) * 1000000 / cpu_khz: deltat = (end_clocks - start_clocks) * 1000000 / cpu_khz:
.RE .RE
gives the duration measured in nanoseconds for deltas less than about 9 gives the duration measured in nanoseconds for deltas less than about 9
trillion clocks (e.g., 3000 seconds at 3GHz). trillion clocks (e.g., 3000 seconds at 3GHz).

View file

@ -61,20 +61,20 @@ hal_export_funct(3hal)
.SH Interpretation of license strings .SH Interpretation of license strings
\fBMODULE_LICENSE\fR follows the kernel's definition of license strings. Notably, \fBMODULE_LICENSE\fR follows the kernel's definition of license strings. Notably,
"GPL" indicates "GNU General Public License v2 \fIor later\fR". (emphasis ours). "GPL" indicates "GNU Public License v2 \fIor later\fR". (emphasis ours).
.IP \fB"GPL"\fR .IP \fB"GPL"\fR
GNU General Public License v2 or later GNU Public License v2 or later
.IP \fB"GPL\ v2"\fR .IP \fB"GPL\ v2"\fR
GNU General Public License v2 GNU Public License v2
.IP \fB"GPL\ and\ additional\ rights"\fR .IP \fB"GPL\ and\ additional\ rights"\fR
GNU General Public License v2 rights and more GNU Public License v2 rights and more
.IP \fB"Dual\ BSD/GPL"\fR .IP \fB"Dual\ BSD/GPL"\fR
GNU General Public License v2 or BSD license choice GNU Public License v2 or BSD license choice
.IP \fB"Dual\ MIT/GPL"\fR .IP \fB"Dual\ MIT/GPL"\fR
GNU General Public License v2 or MIT license choice GNU Public License v2 or MIT license choice
.IP \fB"Dual\ MPL/GPL"\fR .IP \fB"Dual\ MPL/GPL"\fR
GNU General Public License v2 or Mozilla license choice GNU Public License v2 or Mozilla license choice
.IP \fB"Proprietary"\fR .IP \fB"Proprietary"\fR
Non-free products Non-free products
.P .P

View file

@ -41,7 +41,7 @@ The base address of the port (if port >= 16) or the linux port number of the
port (if port < 16) port (if port < 16)
.IP \fIbase_hi\fR .IP \fIbase_hi\fR
The "high" address of the port (location of the ECP registers), 0 to use a The "high" address of the port (location of the ECP registers), 0 to use a
probed high address, or \-1 to disable the high address probed high address, or -1 to disable the high address
.IP \fImodes\fR .IP \fImodes\fR
Advise the driver of the desired port modes, from <linux/parport.h>. If a Advise the driver of the desired port modes, from <linux/parport.h>. If a
linux-detected port does not provide the requested modes, a warning is printed linux-detected port does not provide the requested modes, a warning is printed
@ -58,7 +58,7 @@ exits with \fBrtapi_exit\fR.
If the port is a parallel port known to Linux, and Linux detected a high If the port is a parallel port known to Linux, and Linux detected a high
I/O address, this value is used. Otherwise, if base+0x400 is not registered I/O address, this value is used. Otherwise, if base+0x400 is not registered
to any device, it is used. Otherwise, no address is used. If no high address to any device, it is used. Otherwise, no address is used. If no high address
is detected, port\->base_hi is 0. is detected, port->base_hi is 0.
.SH PARPORT STRUCTURE .SH PARPORT STRUCTURE
.in +4n .in +4n
.nf .nf

View file

@ -27,6 +27,9 @@ and going for \fIsize\fR bytes.
.SH REALTIME CONSIDERATIONS .SH REALTIME CONSIDERATIONS
May be called from realtime init/cleanup code only. May be called from realtime init/cleanup code only.
.SH BUGS
On kernels before 2.4.0, \fBrtapi_request_region\fR always suceeds.
.SH RETURN VALUE .SH RETURN VALUE
\fBrtapi_request_region\fR returns NULL if the allocation fails, and a non-NULL \fBrtapi_request_region\fR returns NULL if the allocation fails, and a non-NULL
value otherwise. value otherwise.

View file

@ -8,14 +8,14 @@ rtapi_task_self \- Retrieve ID of current task
void rtapi_task_self() void rtapi_task_self()
.SH DESCRIPTION .SH DESCRIPTION
\fBrtapi_task_self\fR retrieves the current task, or \-EINVAL if not in a \fBrtapi_task_self\fR retrieves the current task, or -EINVAL if not in a
realtime task (e.g., in startup or shutdown code). realtime task (e.g., in startup or shutdown code).
.SH REALTIME CONSIDERATIONS .SH REALTIME CONSIDERATIONS
May be called from init/cleanup code, and from within realtime tasks. May be called from init/cleanup code, and from within realtime tasks.
.SH RETURN VALUE .SH RETURN VALUE
The task number previously returned by \fBrtapi_task_new\fR or \-EINVAL. The task number previously returned by \fBrtapi_task_new\fR or -EINVAL.
.SH SEE ALSO .SH SEE ALSO
\fBrtapi_task_new(3rtapi)\fR \fBrtapi_task_new(3rtapi)\fR

View file

@ -37,24 +37,24 @@ cycle to characterize the process. From this, \fBPgain/Igain/Dgain\fR or
.P .P
During auto tuning, the \fBcommand\fR input should not change. The limit During auto tuning, the \fBcommand\fR input should not change. The limit
cycle is setup around the commanded position. No initial tuning values are cycle is setup around the commanded position. No initial tuning values are
required to start auto tuning. Only \fBtune\-cycles\fR, \fBtune\-effort\fR required to start auto tuning. Only \fBtune-cycles\fR, \fBtune-effort\fR
and \fBtune\-mode\fR need be set before starting auto tuning. When auto tuning and \fBtune-mode\fR need be set before starting auto tuning. When auto tuning
completes, the tuning parameters will be set. If running from LinuxCNC, the completes, the tuning parameters will be set. If running from LinuxCNC, the
FERROR setting for the axis being tuned may need to be loosened up as it must FERROR setting for the axis being tuned may need to be loosened up as it must
be larger than the limit cycle amplitude in order to avoid a following error. be larger than the limit cycle amplitude in order to avoid a following error.
.P .P
To perform auto tuning, take the following steps. Move the axis to be tuned, To perform auto tuning, take the following steps. Move the axis to be tuned,
to somewhere near the center of it's travel. Set \fBtune\-cycles\fR (the to somewhere near the center of it's travel. Set \fBtune-cycles\fR (the
default value should be fine in most cases) and \fBtune\-mode\fR. Set default value should be fine in most cases) and \fBtune-mode\fR. Set
\fBtune\-effort\fR to a small value. Set \fBenable\fR to true. Set \fBtune-effort\fR to a small value. Set \fBenable\fR to true. Set
\fBtune\-mode\fR to true. Set \fBtune\-start\fR to true. If no oscillation \fBtune-mode\fR to true. Set \fBtune-start\fR to true. If no oscillation
occurs, or the oscillation is too small, slowly increase \fBtune\-effort\fR. occurs, or the oscillation is too small, slowly increase \fBtune-effort\fR.
Auto tuning can be aborted at any time by setting \fBenable\fR or Auto tuning can be aborted at any time by setting \fBenable\fR or
\fBtune\-mode\fR to false. \fBtune-mode\fR to false.
.SH NAMING .SH NAMING
The names for pins, parameters, and functions are prefixed as: The names for pins, parameters, and functions are prefixed as:
\fBpid.N.\fR for N=0,1,...,num\-1 when using \fBnum_chan=num\fR \fBpid.N.\fR for N=0,1,...,num-1 when using \fBnum_chan=num\fR
\fBnameN.\fR for nameN=name1,name2,... when using \fBnames=name1,name2,...\fR \fBnameN.\fR for nameN=name1,name2,... when using \fBnames=name1,name2,...\fR
The \fBpid.N.\fR format is shown in the following descriptions. The \fBpid.N.\fR format is shown in the following descriptions.
@ -62,7 +62,7 @@ The \fBpid.N.\fR format is shown in the following descriptions.
.SH FUNCTIONS .SH FUNCTIONS
.TP .TP
\fBpid.\fIN\fB.do\-pid\-calcs\fR (uses floating-point) \fBpid.\fIN\fB.do-pid-calcs\fR (uses floating-point)
Does the PID calculations for control loop \fIN\fR. Does the PID calculations for control loop \fIN\fR.
.SH PINS .SH PINS
@ -84,11 +84,11 @@ The output of the PID loop, which goes to some actuator such as a motor.
When true, enables the PID calculations. When false, \fBoutput\fR is zero, When true, enables the PID calculations. When false, \fBoutput\fR is zero,
and all internal integrators, etc, are reset. and all internal integrators, etc, are reset.
.TP .TP
\fBpid.\fIN\fB.tune\-mode\fR bit in \fBpid.\fIN\fB.tune-mode\fR bit in
When true, enables auto tune mode. When false, normal PID calculations are When true, enables auto tune mode. When false, normal PID calculations are
performed. performed.
.TP .TP
\fBpid.\fIN\fB.tune\-start\fR bit io \fBpid.\fIN\fB.tune-start\fR bit io
When set to true, starts auto tuning. Cleared when the auto tuning completes. When set to true, starts auto tuning. Cleared when the auto tuning completes.
.SH PARAMETERS .SH PARAMETERS
@ -188,18 +188,18 @@ Limit on command second derivative. The command second derivative used by
used to prevent \fBFF2\fR from producing large output spikes if there is a used to prevent \fBFF2\fR from producing large output spikes if there is a
step change on the command. Not normally needed. step change on the command. Not normally needed.
.TP .TP
\fBpid.\fIN\fB.tune\-type\fR u32 rw \fBpid.\fIN\fB.tune-type\fR u32 rw
When set to 0, \fBPgain/Igain/Dgain\fR are caclulated. When set to 1, When set to 0, \fBPgain/Igain/Dgain\fR are caclulated. When set to 1,
\fBPgain/Igain/FF1\fR are calculated. \fBPgain/Igain/FF1\fR are calculated.
.TP .TP
\fBpid.\fIN\fB.tune\-cycles\fR u32 rw \fBpid.\fIN\fB.tune-cycles\fR u32 rw
Determines the number of cycles to run to characterize the process. Determines the number of cycles to run to characterize the process.
\fBtune\-cycles\fR actually sets the number of half cycles. More cycles results \fBtune-cycles\fR actually sets the number of half cycles. More cycles results
in a more accurate characterization as the average of all cycles is used. in a more accurate characterization as the average of all cycles is used.
.TP .TP
\fBpid.\fIN\fB.tune\-effort\fR float rw \fBpid.\fIN\fB.tune-effort\fR float rw
Determines the effor used in setting up the limit cycle in the process. Determines the effor used in setting up the limit cycle in the process.
\fBtune\-effort\fR should be set to a positive value less than \fBmaxoutput\fR. \fBtune-effort\fR should be set to a positive value less than \fBmaxoutput\fR.
Start with something small and work up to a value that results in a good Start with something small and work up to a value that results in a good
portion of the maximum motor current being used. The smaller the value, the portion of the maximum motor current being used. The smaller the value, the
smaller the amplitude of the limit cycle. smaller the amplitude of the limit cycle.
@ -217,11 +217,11 @@ Derivative of command. This is the value that is multiplied by \fBFF1\fR to pro
Second derivative of command. This is the value that is multiplied by Second derivative of command. This is the value that is multiplied by
\fBFF2\fR to produce the second order feed-forward term of the output. \fBFF2\fR to produce the second order feed-forward term of the output.
.TP .TP
\fBpid.\fIN\fB.ultimate\-gain\fR float ro (only if debug=1) \fBpid.\fIN\fB.ultimate-gain\fR float ro (only if debug=1)
Determined from process characterization. \fBultimate\-gain\fR is the ratio of Determined from process characterization. \fBultimate-gain\fR is the ratio of
\fBtune\-effort\fR to the limit cycle amplitude multipled by 4.0 divided by Pi. \fBtune-effort\fR to the limit cycle amplitude multipled by 4.0 divided by Pi.
\fBpid.\fIN\fB.ultimate\-period\fR float ro (only if debug=1) \fBpid.\fIN\fB.ultimate-period\fR float ro (only if debug=1)
Determined from process characterization. \fBultimate\-period\fR is the period Determined from process characterization. \fBultimate-period\fR is the period
of the limit cycle. of the limit cycle.
.SH BUGS .SH BUGS

View file

@ -17,32 +17,32 @@ These pins and parameters are created by the realtime \fBclassicladder_rt\fR mod
.SH PINS .SH PINS
.TP .TP
\fBclassicladder.0.in\-\fINN\fB\fR IN bit \fBclassicladder.0.in-\fINN\fB\fR IN bit
These bit signal pins map to \fB%I\fINN\fR variables in classicladder These bit signal pins map to \fB%I\fINN\fR variables in classicladder
.TP .TP
\fBclassicladder.0.out\-\fINN\fB\fR OUT bit \fBclassicladder.0.out-\fINN\fB\fR OUT bit
These bit signal pins map to \fB%Q\fINN\fR variables in classicladder These bit signal pins map to \fB%Q\fINN\fR variables in classicladder
Output from classicladder Output from classicladder
.TP .TP
\fBclassicladder.0.s32in\-\fINN\fB\fR IN s32 \fBclassicladder.0.s32in-\fINN\fB\fR IN s32
Integer input from classicladder Integer input from classicladder
These s32 signal pins map to \fB%IW\fINN\fR variables in classicladder These s32 signal pins map to \fB%IW\fINN\fR variables in classicladder
.TP .TP
\fBclassicladder.0.s32out\-\fINN\fB\fR OUT s32 \fBclassicladder.0.s32out-\fINN\fB\fR OUT s32
Integer output from classicladder Integer output from classicladder
These s32 signal pins map to \fB%QW\fINN\fR variables in classicladder These s32 signal pins map to \fB%QW\fINN\fR variables in classicladder
.TP .TP
\fBclassicladder.0.floatin\-\fINN\fB\fR IN float \fBclassicladder.0.floatin-\fINN\fB\fR IN float
Integer input from classicladder Integer input from classicladder
These float signal pins map to \fB%IF\fINN\fR variables in classicladder These float signal pins map to \fB%IF\fINN\fR variables in classicladder
These are truncated to S32 values internally. eg 7.5 will be 7 These are truncated to S32 values internally. eg 7.5 will be 7
.TP .TP
\fBclassicladder.0.floatout\-\fINN\fB\fR OUT float \fBclassicladder.0.floatout-\fINN\fB\fR OUT float
Float output from classicladder Float output from classicladder
These float signal pins map to \fB%QF\fINN\fR variables in classicladder These float signal pins map to \fB%QF\fINN\fR variables in classicladder
@ -63,7 +63,7 @@ Tells you how long the last refresh took
Tells you how long the longest refresh took Tells you how long the longest refresh took
.TP .TP
\fBclassicladder.0.ladder\-state\fR RO s32 \fBclassicladder.0.ladder-state\fR RO s32
Tells you if the program is running or not Tells you if the program is running or not
.SH FUNCTIONS .SH FUNCTIONS
@ -74,9 +74,9 @@ You can added it to a faster thread but it
Will update no faster than once every 1 millisecond (1000000 ns). Will update no faster than once every 1 millisecond (1000000 ns).
.SH BUGS .SH BUGS
See http://wiki.linuxcnc.org/cgi\-bin/wiki.pl?ClassicLadder_Ver_7.124 for the latest. See http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadder_Ver_7.124 for the latest.
.SH SEE ALSO .SH SEE ALSO
\fIClassicladder\fR chapters in the LinuxCNC documentation for a full description of the \fBClassicladder\fR syntax and examples \fIClassicladder\fR chapters in the LinuxCNC documentation for a full description of the \fBClassicladder\fR syntax and examples
http://wiki.linuxcnc.org/cgi\-bin/wiki.pl?ClassicLadder_Ver_7.124 http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadder_Ver_7.124

View file

@ -13,7 +13,7 @@ counter \- counts input pulses \fB(DEPRECATED)\fB
.B loadrt counter [num_chan=\fIN\fB] .B loadrt counter [num_chan=\fIN\fB]
.SH DESCRIPTION .SH DESCRIPTION
\fBcounter\fR is a deprecated HAL component and will be removed in a future \fBcounter\fR is a deprecated HAL component and will be removed in a future
release. Use the \fBencoder\fR component with encoder.X.counter\-mode set to release. Use the \fBencoder\fR component with encoder.X.counter-mode set to
TRUE. TRUE.
\fBcounter\fR is a HAL component that provides software- \fBcounter\fR is a HAL component that provides software-
@ -21,9 +21,9 @@ based counting that is useful for spindle position sensing and
maybe other things. Instead of using a real encoder that outputs maybe other things. Instead of using a real encoder that outputs
quadrature, some lathes have a sensor that generates a simple pulse quadrature, some lathes have a sensor that generates a simple pulse
stream as the spindle turns and an index pulse once per revolution. stream as the spindle turns and an index pulse once per revolution.
This component simply counts up when a "count" pulse (phase\-A) This component simply counts up when a "count" pulse (phase-A)
is received, and if reset is enabled, resets when the "index" is received, and if reset is enabled, resets when the "index"
(phase\-Z) pulse is received. (phase-Z) pulse is received.
This is of course only useful for a unidirectional spindle, as it This is of course only useful for a unidirectional spindle, as it
is not possible to sense the direction of rotation. is not possible to sense the direction of rotation.
@ -32,25 +32,25 @@ is not possible to sense the direction of rotation.
in the HAL manual. in the HAL manual.
.SH FUNCTIONS .SH FUNCTIONS
.TP .TP
.B \fBcounter.capture\-position\fR (uses floating-point) .B \fBcounter.capture-position\fR (uses floating-point)
Updates the counts, position and velocity outputs based on internal counters. Updates the counts, position and velocity outputs based on internal counters.
.TP .TP
.B \fBcounter.update\-counters\fR .B \fBcounter.update-counters\fR
Samples the phase\-A and phase\-Z inputs and updates internal counters. Samples the phase-A and phase-Z inputs and updates internal counters.
.SH PINS .SH PINS
.TP .TP
.B \fBcounter.\fIN\fB.phase\-A\fR bit in .B \fBcounter.\fIN\fB.phase-A\fR bit in
The primary input signal. The internal counter is incremented on each The primary input signal. The internal counter is incremented on each
rising edge. rising edge.
.TP .TP
.B \fBcounter.\fIN\fB.phase\-Z\fR bit in .B \fBcounter.\fIN\fB.phase-Z\fR bit in
The index input signal. When the \fBindex\-enable\fR pin is TRUE and a rising The index input signal. When the \fBindex-enable\fR pin is TRUE and a rising
edge on \fBphase\-Z\fR is seen, \fBindex\-enable\fR is set to FALSE and the edge on \fBphase-Z\fR is seen, \fBindex-enable\fR is set to FALSE and the
internal counter is reset to zero. internal counter is reset to zero.
.TP .TP
.B \fBcounter.\fIN\fB.index\-enable\fR bit io .B \fBcounter.\fIN\fB.index-enable\fR bit io
.TQ .TQ
.B \fBcounter.\fIN\fB.reset\fR bit io .B \fBcounter.\fIN\fB.reset\fR bit io
.TQ .TQ
@ -61,11 +61,11 @@ internal counter is reset to zero.
.B \fBcounter.\fIN\fB.velocity\fR float out .B \fBcounter.\fIN\fB.velocity\fR float out
These pins function according to the canonical digital encoder interface. These pins function according to the canonical digital encoder interface.
.TP .TP
.B \fBcounter.\fIN\fB.position\-scale\fR float rw .B \fBcounter.\fIN\fB.position-scale\fR float rw
This parameter functions according to the canonical digital encoder interface. This parameter functions according to the canonical digital encoder interface.
.TP .TP
.B \fBcounter.\fIN\fB.rawcounts\fR signed ro .B \fBcounter.\fIN\fB.rawcounts\fR signed ro
The internal counts value, updated from \fBupdate\-counters\fR and reflected The internal counts value, updated from \fBupdate-counters\fR and reflected
in the output pins at the next call to \fBcapture\-position\fR. in the output pins at the next call to \fBcapture-position\fR.
.SH SEE ALSO .SH SEE ALSO
\fBencoder(9)\fR. in the LinuxCNC documentation. \fBencoder(9)\fR. in the LinuxCNC documentation.

View file

@ -29,28 +29,28 @@ If neither \fBnum_chan=\fR nor \fBnames=\fR are specified, or if
\fBnum_chan=0\fR is specified, the default value is three. \fBnum_chan=0\fR is specified, the default value is three.
.P .P
\fBencoder\fR has a one-phase, unidirectional mode called \fIcounter\fR. \fBencoder\fR has a one-phase, unidirectional mode called \fIcounter\fR.
In this mode, the \fBphase\-B\fR input is ignored; the counts increase on In this mode, the \fBphase-B\fR input is ignored; the counts increase on
each rising edge of \fBphase\-A\fR. This mode may be useful for counting each rising edge of \fBphase-A\fR. This mode may be useful for counting
a unidirectional spindle with a single input line, though the noise-resistant a unidirectional spindle with a single input line, though the noise-resistant
characteristics of quadrature are lost. characteristics of quadrature are lost.
.SH FUNCTIONS .SH FUNCTIONS
.TP .TP
\fBencoder.update\-counters\fR (no floating-point) \fBencoder.update-counters\fR (no floating-point)
Does the actual counting, by sampling the encoder signals and decoding Does the actual counting, by sampling the encoder signals and decoding
the quadrature waveforms. Must be called as frequently as possible, the quadrature waveforms. Must be called as frequently as possible,
preferably twice as fast as the maximum desired count rate. Operates preferably twice as fast as the maximum desired count rate. Operates
on all channels at once. on all channels at once.
.TP .TP
\fBencoder.capture\-position\fR (uses floating point) \fBencoder.capture-position\fR (uses floating point)
Captures the raw counts from \fBupdate\-counters\fR and performs scaling Captures the raw counts from \fBupdate-counters\fR and performs scaling
and other necessary conversion, handles counter rollover, etc. Can and other necessary conversion, handles counter rollover, etc. Can
(and should) be called less frequently than \fBupdate\-counters\fR. (and should) be called less frequently than \fBupdate-counters\fR.
Operates on all channels at once. Operates on all channels at once.
.SH NAMING .SH NAMING
The names for pins and parameters are prefixed as: The names for pins and parameters are prefixed as:
\fBencoder.N.\fR for N=0,1,...,num\-1 when using \fBnum_chan=num\fR \fBencoder.N.\fR for N=0,1,...,num-1 when using \fBnum_chan=num\fR
\fBnameN.\fR for nameN=name1,name2,... when using \fBnames=name1,name2,...\fR \fBnameN.\fR for nameN=name1,name2,... when using \fBnames=name1,name2,...\fR
The \fBencoder.N.\fR format is shown in the following descriptions. The \fBencoder.N.\fR format is shown in the following descriptions.
@ -59,51 +59,51 @@ The \fBencoder.N.\fR format is shown in the following descriptions.
.SH PINS .SH PINS
.TP .TP
\fBencoder.\fIN\fB.counter\-mode\fR bit i/o \fBencoder.\fIN\fB.counter-mode\fR bit i/o
Enables counter mode. When true, the counter counts each rising edge of the Enables counter mode. When true, the counter counts each rising edge of the
phase\-A input, ignoring the value on phase\-B. This is useful for counting phase-A input, ignoring the value on phase-B. This is useful for counting
the output of a single channel (non-quadrature) sensor. When false (the the output of a single channel (non-quadrature) sensor. When false (the
default), it counts in quadrature mode. default), it counts in quadrature mode.
.TP .TP
\fBencoder.\fIN\fB.counts\fR s32 out \fBencoder.\fIN\fB.counts\fR s32 out
Position in encoder counts. Position in encoder counts.
.TP .TP
\fBencoder.\fIN\fB.index\-enable\fR bit i/o \fBencoder.\fIN\fB.index-enable\fR bit i/o
When true, \fBcounts\fR and \fBposition\fR are reset to zero on the next When true, \fBcounts\fR and \fBposition\fR are reset to zero on the next
rising edge of \fBPhase\-Z\fR. At the same time, \fBindex\-enable\fR is reset rising edge of \fBPhase-Z\fR. At the same time, \fBindex-enable\fR is reset
to zero to indicate that the rising edge has occurred. to zero to indicate that the rising edge has occurred.
.TP .TP
\fBencoder.\fIN\fB.min\-speed\-estimate\fR float in (default: 1.0) \fBencoder.\fIN\fB.min-speed-estimate\fR float in (default: 1.0)
Determine the minimum speed at which \fBvelocity\fR will be Determine the minimum speed at which \fBvelocity\fR will be
estimated as nonzero and \fBpostition\-interpolated\fR will be interpolated. estimated as nonzero and \fBpostition-interpolated\fR will be interpolated.
The units of \fBmin\-speed\-estimate\fR are the same as the units of The units of \fBmin-speed-estimate\fR are the same as the units of
\fBvelocity\fR. Setting this parameter too low will cause it to take a long \fBvelocity\fR. Setting this parameter too low will cause it to take a long
time for \fBvelocity\fR to go to 0 after encoder pulses have stopped arriving. time for \fBvelocity\fR to go to 0 after encoder pulses have stopped arriving.
.TP .TP
\fBencoder.\fIN\fB.phase\-A\fR bit in \fBencoder.\fIN\fB.phase-A\fR bit in
Quadrature input for encoder channel \fIN\fR. Quadrature input for encoder channel \fIN\fR.
.TP .TP
\fBencoder.\fIN\fB.phase\-B\fR bit in \fBencoder.\fIN\fB.phase-B\fR bit in
Quadrature input. Quadrature input.
.TP .TP
\fBencoder.\fIN\fB.phase\-Z\fR bit in \fBencoder.\fIN\fB.phase-Z\fR bit in
Index pulse input. Index pulse input.
.TP .TP
\fBencoder.\fIN\fB.position\fR float out \fBencoder.\fIN\fB.position\fR float out
Position in scaled units (see \fBposition\-scale\fR) Position in scaled units (see \fBposition-scale\fR)
.TP .TP
\fBencoder.\fIN\fB.position\-interpolated\fR float out \fBencoder.\fIN\fB.position-interpolated\fR float out
Position in scaled units, interpolated between encoder counts. Only valid when Position in scaled units, interpolated between encoder counts. Only valid when
velocity is approximately constant and above \fBmin\-speed\-estimate\fR. Do velocity is approximately constant and above \fBmin-speed-estimate\fR. Do
not use for position control. not use for position control.
.TP .TP
\fBencoder.\fIN\fB.position\-scale\fR float i/o \fBencoder.\fIN\fB.position-scale\fR float i/o
Scale factor, in counts per length unit. For example, if \fBposition\-scale\fR Scale factor, in counts per length unit. For example, if \fBposition-scale\fR
is 500, then 1000 counts of the encoder will be reported as a position of 2.0 is 500, then 1000 counts of the encoder will be reported as a position of 2.0
units. units.
.TP .TP
\fBencoder.\fIN\fB.rawcounts\fR s32 out \fBencoder.\fIN\fB.rawcounts\fR s32 out
The raw count, as determined by \fBupdate\-counters\fR. This value is updated The raw count, as determined by \fBupdate-counters\fR. This value is updated
more frequently than \fBcounts\fR and \fBposition\fR. It is also unaffected more frequently than \fBcounts\fR and \fBposition\fR. It is also unaffected
by \fBreset\fR or the index pulse. by \fBreset\fR or the index pulse.
.TP .TP
@ -114,32 +114,32 @@ When true, \fBcounts\fR and \fBposition\fR are reset to zero immediately.
Velocity in scaled units per second. \fBencoder\fR uses an algorithm that Velocity in scaled units per second. \fBencoder\fR uses an algorithm that
greatly reduces quantization noise as compared to simply differentiating the greatly reduces quantization noise as compared to simply differentiating the
\fBposition\fR output. When the magnitude of the true velocity is below \fBposition\fR output. When the magnitude of the true velocity is below
\fRmin\-speed\-estimate\fR, the \fRvelocity\fR output is 0. \fRmin-speed-estimate\fR, the \fRvelocity\fR output is 0.
.TP .TP
\fBencoder.\fIN\fB.x4\-mode\fR bit i/o \fBencoder.\fIN\fB.x4-mode\fR bit i/o
Enables times\-4 mode. When true (the default), the counter counts each edge Enables times-4 mode. When true (the default), the counter counts each edge
of the quadrature waveform (four counts per full cycle). When false, it only of the quadrature waveform (four counts per full cycle). When false, it only
counts once per full cycle. In \fBcounter\-mode\fR, this parameter is ignored. counts once per full cycle. In \fBcounter-mode\fR, this parameter is ignored.
.TP .TP
\fBencoder.\fIN\fB.latch\-input\fR bit in \fBencoder.\fIN\fB.latch-input\fR bit in
.TQ .TQ
\fBencoder.\fIN\fB.latch\-falling\fR bit in (default: \fBTRUE\fR) \fBencoder.\fIN\fB.latch-falling\fR bit in (default: \fBTRUE\fR)
.TQ .TQ
\fBencoder.\fIN\fB.latch\-rising\fR bit in (default: \fBTRUE\fR) \fBencoder.\fIN\fB.latch-rising\fR bit in (default: \fBTRUE\fR)
.TQ .TQ
\fBencoder.\fIN\fB.counts\-latched\fR s32 out \fBencoder.\fIN\fB.counts-latched\fR s32 out
.TQ .TQ
\fBencoder.\fIN\fB.position\-latched\fR float out \fBencoder.\fIN\fB.position-latched\fR float out
Update \fBcounts\-latched\fR and \fBposition\-latched\fR on the rising and/or Update \fBcounts-latched\fR and \fBposition-latched\fR on the rising and/or
falling edges of \fBlatch\-input\fR as indicated by \fBlatch\-rising\fR and falling edges of \fBlatch-input\fR as indicated by \fBlatch-rising\fR and
\fBlatch\-falling\fR. \fBlatch-falling\fR.
.TP .TP
\fBencoder.\fIN\fB.counter\-mode\fR bit rw \fBencoder.\fIN\fB.counter-mode\fR bit rw
Enables counter mode. When true, the counter counts each rising edge of the Enables counter mode. When true, the counter counts each rising edge of the
phase\-A input, ignoring the value on phase\-B. This is useful for counting phase-A input, ignoring the value on phase-B. This is useful for counting
the output of a single channel (non-quadrature) sensor. When false (the the output of a single channel (non-quadrature) sensor. When false (the
default), it counts in quadrature mode. default), it counts in quadrature mode.
\fBencoder.\fIN\fB.capture\-position.tmax\fR s32 rw \fBencoder.\fIN\fB.capture-position.tmax\fR s32 rw
Maximum number of CPU cycles it took to execute this function. Maximum number of CPU cycles it took to execute this function.
.SH PARAMETERS .SH PARAMETERS

View file

@ -27,32 +27,32 @@ If neither \fBnum_chan=\fR nor \fBnames=\fR are specified, the default value is
.SH FUNCTIONS .SH FUNCTIONS
.TP .TP
.B encoder\-ratio.sample .B encoder-ratio.sample
Read all input pins. Must be called at twice the maximum desired count rate. Read all input pins. Must be called at twice the maximum desired count rate.
.TP .TP
.B encoder\-ratio.update (uses floating-point) .B encoder-ratio.update (uses floating-point)
Updates all output pins. May be called from a slower thread. Updates all output pins. May be called from a slower thread.
.SH NAMING .SH NAMING
The names for pins and parameters are prefixed as: The names for pins and parameters are prefixed as:
\fBencoder\-ratio.N.\fR for N=0,1,...,num\-1 when using \fBnum_chan=num\fR \fBencoder-ratio.N.\fR for N=0,1,...,num-1 when using \fBnum_chan=num\fR
\fBnameN.\fR for nameN=name1,name2,... when using \fBnames=name1,name2,...\fR \fBnameN.\fR for nameN=name1,name2,... when using \fBnames=name1,name2,...\fR
The \fBencoder\-ratio.N.\fR format is shown in the following descriptions. The \fBencoder-ratio.N.\fR format is shown in the following descriptions.
.SH PINS .SH PINS
.TP .TP
.B encoder\-ratio.\fIN\fB.master\-A\fR bit in .B encoder-ratio.\fIN\fB.master-A\fR bit in
.TQ .TQ
.B encoder\-ratio.\fIN\fB.master\-B\fR bit in .B encoder-ratio.\fIN\fB.master-B\fR bit in
.TQ .TQ
.B encoder\-ratio.\fIN\fB.slave\-A\fR bit in .B encoder-ratio.\fIN\fB.slave-A\fR bit in
.TQ .TQ
.B encoder\-ratio.\fIN\fB.slave\-B\fR bit in .B encoder-ratio.\fIN\fB.slave-B\fR bit in
The encoder channels of the master and slave axes The encoder channels of the master and slave axes
.TP .TP
.B encoder\-ratio.\fIN\fB.enable\fR bit in .B encoder-ratio.\fIN\fB.enable\fR bit in
When the enable pin is FALSE, the error pin simply reports the slave axis When the enable pin is FALSE, the error pin simply reports the slave axis
position, in revolutions. As such, it would normally be connected to the position, in revolutions. As such, it would normally be connected to the
feedback pin of a PID block for closed loop control of the slave axis. feedback pin of a PID block for closed loop control of the slave axis.
@ -63,18 +63,18 @@ scale factor is the ratio of master teeth to slave teeth. As the master moves,
error becomes non-zero, and the PID loop will drive the slave axis to track the error becomes non-zero, and the PID loop will drive the slave axis to track the
master. master.
.TP .TP
.B encoder\-ratio.\fIN\fB.error\fR float out .B encoder-ratio.\fIN\fB.error\fR float out
The error in the position of the slave (in revolutions) The error in the position of the slave (in revolutions)
.SH PARAMETERS .SH PARAMETERS
.TP .TP
.B encoder\-ratio.N.master\-ppr\fR unsigned rw .B encoder-ratio.N.master-ppr\fR unsigned rw
.TQ .TQ
.B encoder\-ratio.N.slave\-ppr\fR unsigned rw .B encoder-ratio.N.slave-ppr\fR unsigned rw
The number of pulses per revolution of the master and slave axes The number of pulses per revolution of the master and slave axes
.TP .TP
.B encoder\-ratio.N.master\-teeth\fR unsigned rw .B encoder-ratio.N.master-teeth\fR unsigned rw
.TQ .TQ
.B encoder\-ratio.N.slave\-teeth\fR unsigned rw .B encoder-ratio.N.slave-teeth\fR unsigned rw
The number of "teeth" on the master and slave gears. The number of "teeth" on the master and slave gears.
.SH SEE ALSO .SH SEE ALSO

View file

@ -61,10 +61,10 @@ None.
.SH PARAMETERS .SH PARAMETERS
.TP .TP
.B gantrykins.joint\-\fIN\fR (s32) .B gantrykins.joint-\fIN\fR (s32)
Specifies the axis mapped to joint \fIN\fR. The values 0 through Specifies the axis mapped to joint \fIN\fR. The values 0 through
8 correspond to the axes XYZABCUVW. It is preferable to use the 8 correspond to the axes XYZABCUVW. It is preferable to use the
"coordinates=" parameter at loadrt-time rather than setting the joint\-N "coordinates=" parameter at loadrt-time rather than setting the joint-N
parameters later, because the gantrykins module prints the joint-to-axis parameters later, because the gantrykins module prints the joint-to-axis
mapping at loadrt-time, and having that output correct is nice. mapping at loadrt-time, and having that output correct is nice.

View file

@ -9,15 +9,15 @@
.SH NAME .SH NAME
gladevcp \- displays Virtual control Panels built with GTK / GLADE gladevcp \- displays Virtual control Panels built with GTK / GLADE
.SH SYNOPSIS .SH SYNOPSIS
\fBloadusr gladevcp [\-c componentname0x\fIN\fB] [\-g WxH+Xoffset+Yoffset0x\fIN\fB] [\-H halcmdfile] [\-x windowid] gladefile.glade \fBloadusr gladevcp [-c componentname0x\fIN\fB] [-g WxH+Xoffset+Yoffset0x\fIN\fB] [-H halcmdfile] [-x windowid] gladefile.glade
.SH DESCRIPTION .SH DESCRIPTION
gladevcp parses a glade file and displays the widgets in a window. gladevcp parses a glade file and displays the widgets in a window.
Then calls gladevcp_makepins which again parses the gladefile looking for specific HAL widgets Then calls gladevcp_makepins which again parses the gladefile looking for specific HAL widgets
then makes HAL pins and sets up updating for them. then makes HAL pins and sets up updating for them.
The HAL component name defaults to the basename of the glade file. The HAL component name defaults to the basename of the glade file.
The \-x option directs gladevcp to reparent itself under this X window id instead of creating its own toplevel window. The -x option directs gladevcp to reparent itself under this X window id instead of creating its own toplevel window.
The \-H option passes an input file for halcmd to be run after the gladevcp component is initialized. This is used in Axis when The -H option passes an input file for halcmd to be run after the gladevcp component is initialized. This is used in Axis when
running gladevcp under a tab with the EMBED_TAB_NAME/EMBED_TAB_COMMAND ini file feature. running gladevcp under a tab with the EMBED_TAB_NAME/EMBED_TAB_COMMAND ini file feature.
gladevcp supports gtkbuilder or libglade files though some widgets are not fully supported in gtkbuilder yet. gladevcp supports gtkbuilder or libglade files though some widgets are not fully supported in gtkbuilder yet.

View file

@ -45,7 +45,8 @@ with the 7i43 will not be supported any time soon, since USB has poor
real-time qualities. real-time qualities.
The driver programs the board's FPGA with firmware when it registers The driver programs the board's FPGA with firmware when it registers
the board with the hostmot2 driver. The firmware to load is specified the board with the hostmot2 driver. The old bfload(1) firmware loading
method is not used anymore. Instead the firmware to load is specified
in the \fBconfig\fR modparam, as described in the hostmot2(9) manpage, in the \fBconfig\fR modparam, as described in the hostmot2(9) manpage,
in the \fIconfig modparam\fR section. in the \fIconfig modparam\fR section.

View file

@ -32,7 +32,7 @@ hm2_eth \- LinuxCNC HAL driver for the Mesa Electronics Ethernet Anything IO boa
.SH SYNOPSIS .SH SYNOPSIS
.HP .HP
.B loadrt hm2_eth [config=\fI"str[,str...]"\fB] [board_ip=\fIip[,ip...]\fB] [board_mac=\fImac[,mac...]\fB] .B loadrt hm2_eth [config=\fI"str[,str...]"\fB] [board_ip=\fIip[,ip...]\fB] [board_mac=\fImac[,mac...]\]fB]
.RS 4 .RS 4
.TP .TP
\fBconfig\fR [default: ""] \fBconfig\fR [default: ""]
@ -46,7 +46,7 @@ hm2_eth is a device driver that interfaces Mesa's ethernet
based Anything I/O boards (with the HostMot2 firmware) to the LinuxCNC based Anything I/O boards (with the HostMot2 firmware) to the LinuxCNC
HAL. HAL.
The supported boards are: 7i76E, 7I80DB, 7I80HD, 7i92, 7i93. The supported boards are: 7I80DB, 7I80HD, 7i92, 7i76E.
The board must have its hardware loaded on the board by the mesaflash(1) program. The board must have its hardware loaded on the board by the mesaflash(1) program.
@ -88,7 +88,7 @@ static address:
auto eth1 auto eth1
iface eth1 inet static iface eth1 inet static
address 192.168.1.1 address 192.168.1.1
hardware\-irq\-coalesce\-rx\-usecs 0 hardware-irq-coalesce-rx-usecs 0
.EE .EE
.SH PACKET LOSS .SH PACKET LOSS
@ -98,9 +98,9 @@ The hm2_eth driver has a limited ability to deal with lost packets. Packet
loss is detected by transmitting an expected read or write packet count with loss is detected by transmitting an expected read or write packet count with
each request, and checking the value with each read response. When a lost each request, and checking the value with each read response. When a lost
packet is detected, the packet is detected, the
.B packet\-error .B packet-error
pin is asserted in that cycle, the pin is asserted in that cycle, the
.B packet\-error\-level .B packet-error-level
pin is increased, and if it reaches a threshold then a permanent low-level pin is increased, and if it reaches a threshold then a permanent low-level
I/O error is signaled. I/O error is signaled.
@ -118,7 +118,7 @@ instead of the stale feedback value, appears to improve tuning. This can be
accomplished with a accomplished with a
.B mux2(9) .B mux2(9)
component for each feedback signal, using component for each feedback signal, using
.B packet\-error .B packet-error
as the mux2 as the mux2
.B sel .B sel
input. input.
@ -129,16 +129,16 @@ In addition to the pins documented in
creates additional pins: creates additional pins:
.TP .TP
(bit, out) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-error (bit, out) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-error
This pin is TRUE when the most recent cycle detected a read or write error, This pin is TRUE when the most recent cycle detected a read or write error,
and FALSE at other times. and FALSE at other times.
.TP .TP
(s32, out) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-error\-level (s32, out) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-error-level
This pin shows the current error level, with higher numbers indicating This pin shows the current error level, with higher numbers indicating
a greater number of recent detected errors. The error level is always in a greater number of recent detected errors. The error level is always in
the range from 0 to packet\-error\-limit, inclusive. the range from 0 to packet-error-limit, inclusive.
.TP .TP
(bit, out) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-error\-exceeded (bit, out) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-error-exceeded
This pin is TRUE when the current error level is equal to the maximum, This pin is TRUE when the current error level is equal to the maximum,
and FALSE at other times. and FALSE at other times.
@ -148,23 +148,23 @@ In addition to the parameters documented in
creates additional parameters: creates additional parameters:
.TP .TP
(s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-error\-decrement (s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-error-decrement
The amount deducted from \fIpacket\-error\-level\fR in a cycle without The amount deducted from \fIpacket-error-level\fR in a cycle without
detected read or write errors, without going below zero. detected read or write errors, without going below zero.
.TP .TP
(s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-error\-increment (s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-error-increment
The amount added to \fIpacket\-error\-level\fR in a cycle without The amount added to \fIpacket-error-level\fR in a cycle without
detected read or write errors, without going above packet\-error\-limit. detected read or write errors, without going above packet-error-limit.
.TP .TP
(s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-error\-limit (s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-error-limit
The level at which a detected read or write error is treated as a permament The level at which a detected read or write error is treated as a permament
error. When this error level is reached, the board's \fIio\-error\fR pin error. When this error level is reached, the board's \fIio-error\fR pin
becomes TRUE and the condition must be manually reset. becomes TRUE and the condition must be manually reset.
.TP .TP
(s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-read\-timeout (s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-read-timeout
The length of time that must pass before a read request times out. The length of time that must pass before a read request times out.
If the value is less than or equal to 0, it is interpreted as 80% of the thread If the value is less than or equal to 0, it is interpreted as 80% of the thread
period. If the value is less than 100, it is interpreted as a percentage of period. If the value is less than 100, it is interpreted as a percentage of
@ -176,18 +176,18 @@ high can cause realtime delay errors.
.SH NOTES .SH NOTES
hm2_eth uses an iptables chain called "hm2\-eth\-rules\-output" to control access hm2_eth uses an iptables chain called "hm2-eth-rules-output" to control access
to the network interface while hal is running. The chain is created if it does to the network interface while hal is running. The chain is created if it does
not exist, and a jump to it is inserted at the beginning of the OUTPUT chain if not exist, and a jump to it is inserted at the beginning of the OUTPUT chain if
it is not there already. If you have an existing iptables setup, you can insert it is not there already. If you have an existing iptables setup, you can insert
a direct jump from OUTPUT to hm2\-eth\-rules\-output in an order appropriate to a direct jump from OUTPUT to hm2-eth-rules-output in an order appropriate to
your local network. your local network.
At (normal) exit, hm2_eth will remove the rules. After a crash, you can At (normal) exit, hm2_eth will remove the rules. After a crash, you can
manually clear the rules with \fBsudo iptables \-F hm2\-eth\-rules\-output\fR; manually clear the rules with \fBsudo iptables -F hm2-eth-rules-output\fR;
the rules are also removed by a reboot. the rules are also removed by a reboot.
"hardware\-irq\-coalesce\-rx\-usecs" decreases time waiting to receive a packet "hardware-irq-coalesce-rx-usecs" decreases time waiting to receive a packet
on most systems, but on at least some Marvel-chipset NICs it is harmful. on most systems, but on at least some Marvel-chipset NICs it is harmful.
If the line does not improve system performance, then remove it. A reboot If the line does not improve system performance, then remove it. A reboot
is required for the value to be set back to its power-on default. This is required for the value to be set back to its power-on default. This

View file

@ -69,9 +69,9 @@ shared with any other slaves.
As of kernel 3.8, most or all kernel SPI drivers do not achieve the high As of kernel 3.8, most or all kernel SPI drivers do not achieve the high
realtime response rate required for a typical linuxcnc configuration. The realtime response rate required for a typical linuxcnc configuration. The
driver was tested with a modified version of the spi\-s3c64xx SPI driver on the driver was tested with a modified version of the spi-s3c64xx SPI driver on the
Odroid U3 platform. The patched kernel resides Odroid U3 platform. The patched kernel resides
.UR https://github.com/jepler/odroid\-linux/tree/odroid\-3.8.13\-rt .UR https://github.com/jepler/odroid-linux/tree/odroid-3.8.13-rt
on github on github
.UE . .UE .

View file

@ -119,7 +119,6 @@ The valid entries in the format string are:
[num_3pwmgens=\fIN\fB] [num_3pwmgens=\fIN\fB]
[num_stepgens=\fIN\fB] [num_stepgens=\fIN\fB]
[stepgen_width=\fIN\fB] [stepgen_width=\fIN\fB]
[num_sserials=\fIN\fB]
[sserial_port_\fI0\fB=\fI00000000\fB] [sserial_port_\fI0\fB=\fI00000000\fB]
[num_leds=\fIN\fB] [num_leds=\fIN\fB]
[enable_raw] [enable_raw]
@ -134,24 +133,24 @@ The requested firmware F is fetched by udev. udev searches for the
firmware in the system's firmware search path, usually /lib/firmware. firmware in the system's firmware search path, usually /lib/firmware.
F typically has the form "hm2/<BoardType>/file.bit"; a typical value F typically has the form "hm2/<BoardType>/file.bit"; a typical value
for F might be "hm2/5i20/SVST8_4.BIT". The hostmot2 firmware files are for F might be "hm2/5i20/SVST8_4.BIT". The hostmot2 firmware files are
supplied by the hostmot2\-firmware packages, available from linuxcnc.org and can supplied by the hostmot2-firmware packages, available from linuxcnc.org and can
normally be installed by entering the command "sudo apt\-get install normally be installed by entering the command "sudo apt-get install
hostmot2\-firmware\-5i23" to install the support files for the 5i23 for example. hostmot2-firmware-5i23" to install the support files for the 5i23 for example.
The 5i25 / 6i25 come pre-programmed with firmware and no "firmware=" string The 5i25 / 6i25 come pre-programmed with firmware and no "firmware=" string
should be used with these cards. To change the firmware on a 5i25 or 6i25 the should be used with these cards. To change the firmware on a 5i25 or 6i25 the
"mesaflash" utility should be used (available from Mesa). It is perfectly "mesaflash" utility should be used (available from Mesa). It is perfectly
valid and reasonable to load these cards with no config string at all. valid and reasonable to load these cards with no config string at all.
.TP .TP
\fBnum_dplls\fR [optional, default: \-1] \fBnum_dplls\fR [optional, default: -1]
The hm2dpll is a phase-locked loop timer module which may be used to trigger The hm2dpll is a phase-locked loop timer module which may be used to trigger
certain types of encoder. This parameter can be used to disable the hm2dpll by certain types of encoder. This parameter can be used to disable the hm2dpll by
setting the number to 0. There is only ever one module of this type, with 4 setting the number to 0. There is only ever one module of this type, with 4
timer channels, so the other valid numbers are \-1 (enable all) and 1, both of timer channels, so the other valid numbers are -1 (enable all) and 1, both of
which end up meaning the same thing. which end up meaning the same thing.
.TP .TP
\fBnum_encoders\fR [optional, default: \-1] \fBnum_encoders\fR [optional, default: -1]
Only enable the first N encoders. If N is \-1, all encoders are enabled. Only enable the first N encoders. If N is -1, all encoders are enabled.
If N is 0, no encoders are enabled. If N is greater than the number of If N is 0, no encoders are enabled. If N is greater than the number of
encoders available in the firmware, the board will fail to register. encoders available in the firmware, the board will fail to register.
.TP .TP
@ -170,24 +169,24 @@ interpreted. There should be an entry for each device connected. Only channels
with a format specifier will be enabled. (as the software can not guess data with a format specifier will be enabled. (as the software can not guess data
rates and bit lengths) rates and bit lengths)
.TP .TP
\fBnum_resolvers\fR [optional, default: \-1] \fBnum_resolvers\fR [optional, default: -1]
Only enable the first N resolvers. If N = \-1 then all resolvers are enabled. Only enable the first N resolvers. If N = -1 then all resolvers are enabled.
This module does not work with generic resolvers (unlike the encoder module This module does not work with generic resolvers (unlike the encoder module
which works with any encoder). At the time of writing the Hostmot2 Resolver which works with any encoder). At the time of writing the Hostmot2 Resolver
function only works with the Mesa 7i49 card. function only works with the Mesa 7i49 card.
.TP .TP
\fBnum_pwmgens\fR [optional, default: \-1] \fBnum_pwmgens\fR [optional, default: -1]
Only enable the first N pwmgens. If N is \-1, all pwmgens are enabled. Only enable the first N pwmgens. If N is -1, all pwmgens are enabled.
If N is 0, no pwmgens are enabled. If N is greater than the number of If N is 0, no pwmgens are enabled. If N is greater than the number of
pwmgens available in the firmware, the board will fail to register. pwmgens available in the firmware, the board will fail to register.
.TP .TP
\fBnum_3pwmgens\fR [optional, default: \-1] \fBnum_3pwmgens\fR [optional, default: -1]
Only enable the first N Three-phase pwmgens. If N is \-1, all 3pwmgens Only enable the first N Three-phase pwmgens. If N is -1, all 3pwmgens
are enabled. If N is 0, no pwmgens are enabled. If N is greater than the are enabled. If N is 0, no pwmgens are enabled. If N is greater than the
number of pwmgens available in the firmware, the board will fail to register. number of pwmgens available in the firmware, the board will fail to register.
.TP .TP
\fBnum_stepgens\fR [optional, default: \-1] \fBnum_stepgens\fR [optional, default: -1]
Only enable the first N stepgens. If N is \-1, all stepgens are enabled. Only enable the first N stepgens. If N is -1, all stepgens are enabled.
If N is 0, no stepgens are enabled. If N is greater than the number of If N is 0, no stepgens are enabled. If N is greater than the number of
stepgens available in the firmware, the board will fail to register. stepgens available in the firmware, the board will fail to register.
.TP .TP
@ -198,11 +197,6 @@ only two pins (step and dir) but the Hostmot2 stepgen can drive up to 8 output
pins for specialised applications (depending on firmware). This parameter pins for specialised applications (depending on firmware). This parameter
applies to all stepgen instances. Unused, masked pins will be available as GPIO. applies to all stepgen instances. Unused, masked pins will be available as GPIO.
.TP .TP
\fBnum_sserials\fR [optional, default: -1]
Only enable the first N of the Smart Serial modules on the FPGA board. If
N is \-1, then all Smart Serial modules will be enabled. If N=0 then no
Smart Serial modules will be enabled.
.TP
\fBsserial_port_N (N = 0 .. 3)\fR [optional, default: 00000000 for all ports] \fBsserial_port_N (N = 0 .. 3)\fR [optional, default: 00000000 for all ports]
Up to 32 Smart Serial devices can be connected to a Mesa Anything IO board Up to 32 Smart Serial devices can be connected to a Mesa Anything IO board
depending on the firmware used and the number of physical connections on the depending on the firmware used and the number of physical connections on the
@ -223,12 +217,12 @@ should be needed. Unconnected channels will default to GPIO, but the pin values
will vary semi-randomly during boot when card-detection runs, to it is best to will vary semi-randomly during boot when card-detection runs, to it is best to
actively disable any channel that is to be used for GPIO. actively disable any channel that is to be used for GPIO.
.TP .TP
\fBnum_bspis\fR [optional, default: \-1] \fBnum_bspis\fR [optional, default: -1]
Only enable the first N Buffered SPI drivers. If N is \-1 then all the drivers Only enable the first N Buffered SPI drivers. If N is -1 then all the drivers
are enabled. Each BSPI driver can address 16 devices. are enabled. Each BSPI driver can address 16 devices.
.TP .TP
\fBnum_leds\fR [optional, default: \-1] \fBnum_leds\fR [optional, default: -1]
Only enable the first N of the LEDs on the FPGA board. If N is \-1, then HAL Only enable the first N of the LEDs on the FPGA board. If N is -1, then HAL
pins for all the LEDs will be created. If N=0 then no pins will be added. pins for all the LEDs will be created. If N=0 then no pins will be added.
.TP .TP
\fBenable_raw\fR [optional] \fBenable_raw\fR [optional]
@ -242,42 +236,39 @@ will become parameters.
This module is a phase-locked loop that will synchronise itself with the thread This module is a phase-locked loop that will synchronise itself with the thread
in which the hostmot2 "read" function is installed and will trigger other in which the hostmot2 "read" function is installed and will trigger other
functions that are allocated to it at a specified time before or after the functions that are allocated to it at a specified time before or after the
"read" function runs. This can be applied to the three absolute "read" function runs. This can currently only be applied to the three absolute
encoder types, quadrature encoders and stepgen. In the case of the absolute encoder types and is intended to ensure that the data is ready when needed, and
encoders this allows the system to trigger a data transmission just prior to as fresh as possible.
the time when the HAL driver reads the data. In the case of stepgens and
quadrature encoders the timers can be used to reduce position sampling
jitter. This is especially valuable with the ethernet-interfaced cards.
Pins: Pins:
.TP .TP
(float, in) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.dpll.NN.timer\-us (float, in) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.dpll.NN.timer-us
This pin sets the triggering offset of the associated timer. There are 4 timers This pin sets the triggering offset of the associated timer. There are 4 timers
numbered 01 to 04, represented by the NN digits in the pin name. The units are numbered 01 to 04, represented by the NN digits in the pin name. The units are
micro-seconds. Generally the value will be negative, so that some action is micro-seconds. Generally the value will be negative, so that some action is
undertaken by the fpga prior to the execution of the main hostmot2 read. undertaken by the fpga prior to the execution of the main hostmot2 read.
For stepgen and quadrature encoders, the value needs to be more than the For stepgen and quadrature encoders, the value needs to be more than the
maximum variation between read times. \-100 will suffice for most systems, and maximum variation between read times. -100 will suffice for most systems, and
\-50 will work on systems with good performance and latency. -50 will work on systems with good performance and latency.
For serial encoders, the value also needs to include the time it takes to For serial encoders, the value also needs to include the time it takes to
transfer the absolute encoder position. For instance, if 50 bits must be read transfer the absolute encoder position. For instance, if 50 bits must be read
at 500kHz then subtract an additional 50/500kHz = 100uS to get a starting value at 500kHz then subtract an additional 50/500kHz = 100uS to get a starting value
of \-200. of -200.
.TP .TP
(float, in) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.dpll.base\-freq\-khz (float, in) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.dpll.base-freq-khz
This pin sets the base frequency of the phase-locked loop. by default it will This pin sets the base frequency of the phase-locked loop. by default it will
be set to the nominal frequency of the thread in which the PLL is running and be set to the nominal frequency of the thread in which the PLL is running and
wil not normally need to be changed. wil not normally need to be changed.
.TP .TP
(float, out) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.dpll.phase\-error\-us (float, out) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.dpll.phase-error-us
Indicates the phase eror of the DPLL. If the number cycles by a large amount Indicates the phase eror of the DPLL. If the number cycles by a large amount
it is likely that the PLL has failed to achieve lock and adjustments will need it is likely that the PLL has failed to achieve lock and adjustments will need
to be made. to be made.
.TP .TP
(u32, in) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.dpll.time\-const (u32, in) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.dpll.time-const
The filter time-constant for the PLL. The default value is a compromise The filter time-constant for the PLL. The default value is a compromise
between insensitivity to single-cycle variations and being resilient to changes between insensitivity to single-cycle variations and being resilient to changes
to the Linux CLOCK_MONOTONIC timescale, which can instantly change by up to to the Linux CLOCK_MONOTONIC timescale, which can instantly change by up to
@ -340,10 +331,10 @@ The driver does not reset this pin to FALSE after resetting the count
to 0, that is the user's job. to 0, that is the user's job.
.TP .TP
(bit in/out) index\-enable (bit in/out) index-enable
When this pin is set to True, the count When this pin is set to True, the count
(and therefore also position) are reset to zero on the next Index (and therefore also position) are reset to zero on the next Index
(Phase\-Z) pulse. At the same time, index\-enable is reset to zero to (Phase-Z) pulse. At the same time, index-enable is reset to zero to
indicate that the pulse has occurred. indicate that the pulse has occurred.
.TP .TP
@ -358,25 +349,25 @@ Parameters:
Converts from 'count' units to 'position' units. Converts from 'count' units to 'position' units.
.TP .TP
(bit r/w) index\-invert (bit r/w) index-invert
If set to True, the rising edge of the Index If set to True, the rising edge of the Index
input pin triggers the Index event (if index\-enable is True). If set input pin triggers the Index event (if index-enable is True). If set
to False, the falling edge triggers. to False, the falling edge triggers.
.TP .TP
(bit r/w) index\-mask (bit r/w) index-mask
If set to True, the Index input pin only has an If set to True, the Index input pin only has an
effect if the Index\-Mask input pin is True (or False, depending on the effect if the Index-Mask input pin is True (or False, depending on the
index\-mask\-invert pin below). index-mask-invert pin below).
.TP .TP
(bit r/w) index\-mask\-invert (bit r/w) index-mask-invert
If set to True, Index\-Mask must be False If set to True, Index-Mask must be False
for Index to have an effect. If set to False, the Index\-Mask pin must for Index to have an effect. If set to False, the Index-Mask pin must
be True. be True.
.TP .TP
(bit r/w) counter\-mode (bit r/w) counter-mode
Set to False (the default) for Quadrature. Set to False (the default) for Quadrature.
Set to True for Step/Dir (in which case Step is on the A pin and Dir is Set to True for Step/Dir (in which case Step is on the A pin and Dir is
on the B pin). on the B pin).
@ -390,7 +381,7 @@ quadrature counter needs only 3 clocks to register a change. The encoder
sample clock runs at 33 MHz on the PCI AnyIO cards and 50 MHz on the 7i43. sample clock runs at 33 MHz on the PCI AnyIO cards and 50 MHz on the 7i43.
.TP .TP
(float r/w) vel\-timeout (float r/w) vel-timeout
When the encoder is moving slower than one When the encoder is moving slower than one
pulse for each time that the driver reads the count from the FPGA (in pulse for each time that the driver reads the count from the FPGA (in
the hm2_read() function), the velocity is harder to estimate. The driver the hm2_read() function), the velocity is harder to estimate. The driver
@ -400,14 +391,14 @@ guessed. This parameter specifies how long to wait for the next pulse,
before reporting the encoder stopped. This parameter is in seconds. before reporting the encoder stopped. This parameter is in seconds.
.TP .TP
(s32 r/w) hm2_XiXX.N.encoder.MM.timer\-num (default: \-1) (s32 r/w) hm2_XiXX.N.encoder.MM.timer-num (default: -1)
Sets the hm2dpll timer instance to be used to latch encoder counts. A setting Sets the hm2dpll timer instance to be used to latch encoder counts. A setting
of \-1 does not latch encoder counts. A setting of 0 latches at the same time of -1 does not latch encoder counts. A setting of 0 latches at the same time
as the main hostmot2 write. A setting of 1..4 uses a time offset from the main as the main hostmot2 write. A setting of 1..4 uses a time offset from the main
hostmot2 write according to the dpll's timer\-us setting. hostmot2 write according to the dpll's timer-us setting.
Typically, timer\-us should be a negative number with a magnitude larger than Typically, timer-us should be a negative number with a magnitude larger than
the largest latency (e.g., \-100 for a system with mediocre latency, \-50 for a the largest latency (e.g., -100 for a system with mediocre latency, -50 for a
system with good latency). system with good latency).
If no DPLL module is present in the FPGA firmware, or if the encoder module If no DPLL module is present in the FPGA firmware, or if the encoder module
@ -420,13 +411,13 @@ reduces following errors.
(Not to be confused with the Smart Serial Interface) (Not to be confused with the Smart Serial Interface)
One pin is created for each SSI instance regardless of data format: One pin is created for each SSI instance regardless of data format:
(bit, in) hm2_XiXX.NN.ssi.MM.data\-incomplete (bit, in) hm2_XiXX.NN.ssi.MM.data-incomplete
This pin will be set "true" if the module was still transferring data when the This pin will be set "true" if the module was still transferring data when the
value was read. When this problem exists there will also be a limited number of value was read. When this problem exists there will also be a limited number of
error messages printed to the UI. This pin should be used to monitor whether error messages printed to the UI. This pin should be used to monitor whether
the problem has been addressed by config changes. the problem has been addressed by config changes.
Solutions to the problem dpend on whether the encoder read is being triggered by Solutions to the problem dpend on whether the encoder read is being triggered by
the hm2dpll phase-locked-loop timer (described above) or by the trigger\-encoders the hm2dpll phase-locked-loop timer (described above) or by the trigger-encoders
function (described below). function (described below).
The names of the pins created by the SSI module will depend entirely on the The names of the pins created by the SSI module will depend entirely on the
@ -453,7 +444,7 @@ p: (Pad). Does not create any pins, used to ignore sections of the bit stream th
b: (Boolean). b: (Boolean).
(bit, out) hm2_XiXX.N.ssi.MM.<name>. If any bits in the designated field width (bit, out) hm2_XiXX.N.ssi.MM.<name>. If any bits in the designated field width
are non-zero then the HAL pin will be "true". are non-zero then the HAL pin will be "true".
(bit, out) hm2_XiXX.N.ssi.MM.<name>\-not. An inverted version of the above, the (bit, out) hm2_XiXX.N.ssi.MM.<name>-not. An inverted version of the above, the
HAL pin will be "true" if all bits in the field are zero. HAL pin will be "true" if all bits in the field are zero.
.TP .TP
u: (Unsigned) u: (Unsigned)
@ -469,25 +460,25 @@ s: (Signed)
except symmetrical around zero. except symmetrical around zero.
.TP .TP
f: (bitField) f: (bitField)
(bit, out) hm2_XiXX.N.ssi.MM.<name>\-NN. The value of each individual bit in the (bit, out) hm2_XiXX.N.ssi.MM.<name>-NN. The value of each individual bit in the
data field. NN starts at 00 up to the number of bits in the field. data field. NN starts at 00 up to the number of bits in the field.
(bit, out) hm2_XiXX.N.ssi.MM.<name>\-NN\-not. An inverted version of the individual (bit, out) hm2_XiXX.N.ssi.MM.<name>-NN-not. An inverted version of the individual
bit values. bit values.
.TP .TP
e: (Encoder) e: (Encoder)
(s32, out) hm2_XiXX.N.ssi.MM.<name>.count. The lower 32 bits of the (s32, out) hm2_XiXX.N.ssi.MM.<name>.count. The lower 32 bits of the
total encoder counts. This value is reset both by the ...reset and the ...index\-enable total encoder counts. This value is reset both by the ...reset and the ...index-
pins. enable pins.
(s32, out) hm2_XiXX.N.ssi.MM.<name>.rawcounts. The lower 32 bits of (s32, out) hm2_XiXX.N.ssi.MM.<name>.rawcounts. The lower 32 bits of
the total encoder counts. The pin is not affected by reset and index. the total encoder counts. The pin is not affected by reset and index.
(float, out) hm2_XiXX.N.ssi.MM.<name>.position. The encoder position (float, out) hm2_XiXX.N.ssi.MM.<name>.position. The encoder position
in machine units. This is calculated from the full 64-bit buffers so will show in machine units. This is calculated from the full 64-bit buffers so will show
a true value even after the counts pins have wrapped. It is zeroed by reset and a true value even after the counts pins have wrapped. It is zeroed by reset and
index enable. index enable.
(bit, IO) hm2_XiXX.N.ssi.MM.<name>.index\-enable. When this pin is set (bit, IO) hm2_XiXX.N.ssi.MM.<name>.index-enable. When this pin is set
"true" the module will wait until the raw encoder counts next passes through an "true" the module will wait until the raw encoder counts next passes through an
integer multiple of the number of counts specified by counts\-per\-rev parameter integer multiple of the number of counts specified by counts-per-rev parameter
and then it will zero the counts and position pins, and set the index\-enable and then it will zero the counts and position pins, and set the index-enable
pin back to "false" as a signal to the system that "index" has been passed. pin back to "false" as a signal to the system that "index" has been passed.
this pin is used for spindle-synchronised motion and index-homing. this pin is used for spindle-synchronised motion and index-homing.
(bit, in) (bit, out) hm2_XiXX.N.ssi.MM.<name>.reset. When this pin is set high (bit, in) (bit, out) hm2_XiXX.N.ssi.MM.<name>.reset. When this pin is set high
@ -511,12 +502,12 @@ Parameters:
Two parameters is universally created for all SSI instances Two parameters is universally created for all SSI instances
.TP .TP
(float r/w) hm2_XiXX.N.ssi.MM.frequency\-khz (float r/w) hm2_XiXX.N.ssi.MM.frequency-khz
This parameter sets the SSI clock frequency. The units are kHz, so 500 will give This parameter sets the SSI clock frequency. The units are kHz, so 500 will give
a clock frequency of 500,000 Hz. a clock frequency of 500,000 Hz.
.TP .TP
(s32 r/w) hm2_XiXX.N.ssi.MM.timer\-num (s32 r/w) hm2_XiXX.N.ssi.MM.timer-num
This parameter allocates the SSI module to a specific hm2dpll timer instance. This parameter allocates the SSI module to a specific hm2dpll timer instance.
This pin is only of use in firmwares which contain a hm2dpll function and will This pin is only of use in firmwares which contain a hm2dpll function and will
default to 1 in cases where there is such a function, and 0 if there is not. default to 1 in cases where there is such a function, and 0 if there is not.
@ -542,7 +533,7 @@ f: (bitField): No parameters.
e: (Encoder): e: (Encoder):
(float, r/w) hm2_XiXX.N.ssi.MM.<name>.scale: (float, r.w) The encoder scale in (float, r/w) hm2_XiXX.N.ssi.MM.<name>.scale: (float, r.w) The encoder scale in
counts per machine unit. counts per machine unit.
(u32, r/w) hm2_XiXX.N.ssi.MM.<name>.counts\-per\-rev (u32, r/w) Used to emulate (u32, r/w) hm2_XiXX.N.ssi.MM.<name>.counts-per-rev (u32, r/w) Used to emulate
the index behaviour of an incemental+index encoder. This would normally be set the index behaviour of an incemental+index encoder. This would normally be set
to the actual counts per rev of the encoder, but can be any whole number of to the actual counts per rev of the encoder, but can be any whole number of
revs. Integer divisors or multimpilers of the true PPR might be useful for revs. Integer divisors or multimpilers of the true PPR might be useful for
@ -556,13 +547,13 @@ supported by LinuxCNC (encoder to PC).
One pin is created for each BiSS instance regardless of data format: One pin is created for each BiSS instance regardless of data format:
(bit, in) hm2_XiXX.NN.biss.MM.data\-incomplete (bit, in) hm2_XiXX.NN.biss.MM.data-incomplete
This pin will be set "true" if the module was still transferring data when the This pin will be set "true" if the module was still transferring data when the
value was read. When this problem exists there will also be a limited number of value was read. When this problem exists there will also be a limited number of
error messages printed to the UI. This pin should be used to monitor whether error messages printed to the UI. This pin should be used to monitor whether
the problem has been addressed by config changes. the problem has been addressed by config changes.
Solutions to the problem dpend on whether the encoder read is being triggered by Solutions to the problem dpend on whether the encoder read is being triggered by
the hm2dpll phase-locked-loop timer (described above) or by the trigger\-encoders the hm2dpll phase-locked-loop timer (described above) or by the trigger-encoders
function (described below) function (described below)
The names of the pins created by the BiSS module will depend entirely on the The names of the pins created by the BiSS module will depend entirely on the
@ -579,16 +570,16 @@ described above, except that at least one pre-configured format is provided.
A modparam of fanuc_chan_N=AA64 (case sensitive) will configure the channel for A modparam of fanuc_chan_N=AA64 (case sensitive) will configure the channel for
a Fanuc Aa64 encoder. The pins created are: a Fanuc Aa64 encoder. The pins created are:
hm2_XiXX.N.fanuc.MM.batt indicates battery state hm2_XiXX.N.fanuc.MM.batt indicates battery state
hm2_XiXX.N.fanuc.MM.batt\-not inverted version of above hm2_XiXX.N.fanuc.MM.batt-not inverted version of above
hm2_XiXX.N.fanuc.MM.comm The 0-1023 absolute output for motor commutation hm2_XiXX.N.fanuc.MM.comm The 0-1023 absolute output for motor commutation
hm2_XXiX.N.fanuc.MM.crc The CRC checksum. Currently HAL has no way to use this hm2_XXiX.N.fanuc.MM.crc The CRC checksum. Currently HAL has no way to use this
hm2_XiXX.N.fanuc.MM.encoder.count Encoder counts hm2_XiXX.N.fanuc.MM.encoder.count Encoder counts
hm2_XiXX.N.fanuc.MM.encoder.index\-enable Simulated index. Set by counts\-per\-rev parameter hm2_XiXX.N.fanuc.MM.encoder.index-enable Simulated index. Set by counts-per-rev parameter
hm2_XiXX.N.fanuc.MM.encoder.position Counts scaled by the ...scale parameter hm2_XiXX.N.fanuc.MM.encoder.position Counts scaled by the ...scale paramter
hm2_XiXX.N.fanuc.MM.encoder.rawcounts Raw counts, unaffected by reset or index hm2_XiXX.N.fanuc.MM.encoder.rawcounts Raw counts, unaffected by reset or index
hm2_XiXX.N.fanuc.MM.encoder.reset If high/true then counts and position = 0 hm2_XiXX.N.fanuc.MM.encoder.reset If high/true then counts and position = 0
hm2_XiXX.N.fanuc.MM.valid Indicates that the absolute position is valid hm2_XiXX.N.fanuc.MM.valid Indicates that the absolute position is valid
hm2_XiXX.N.fanuc.MM.valid\-not Inverted version hm2_XiXX.N.fanuc.MM.valid-not Inverted version
.SH resolver .SH resolver
Resolvers have names like Resolvers have names like
@ -610,13 +601,13 @@ is a number between 0 and 1 for each electrical rotation.
.TP .TP
(float, out) position (float, out) position
Calculated from the number of complete and partial Calculated from the number of complete and partial
revolutions since startup, reset, or index\-reset multiplied by the scale revolutions since startup, reset, or index-reset multiplied by the scale
parameter. parameter.
.TP .TP
(float, out) velocity (float, out) velocity
Calculated from the rotational velocity and the Calculated from the rotational velocity and the
velocity\-scale parameter. The default scale is electrical rotations per second. velocity-scale parameter. The default scale is electrical rotations per second.
.TP .TP
(s32, out) count (s32, out) count
@ -634,7 +625,7 @@ the bldc HAL component if the resolver was being used to commutate a motor.
Resets the position and counts pins to zero immediately. Resets the position and counts pins to zero immediately.
.TP .TP
(bit, in/out) index\-enable (bit, in/out) index-enable
When this pin is set high the position and counts When this pin is set high the position and counts
pins will be reset the next time the resolver passes through the zero position. pins will be reset the next time the resolver passes through the zero position.
At the same time the pin is driven low to indicate to connected modules that the At the same time the pin is driven low to indicate to connected modules that the
@ -652,13 +643,13 @@ The position scale, in machine units per resolver
electrical revolution. electrical revolution.
.TP .TP
(float, read/write) velocity\-scale (float, read/write) velocity-scale
The conversion factor between resolver The conversion factor between resolver
rotation speed and machine velocity. A value of 1 will typically give motor rotation speed and machine velocity. A value of 1 will typically give motor
speed in rps, a value of 0.01666667 will give (approximate) RPM. speed in rps, a value of 0.01666667 will give (approximate) RPM.
.TP .TP
(u32, read/write) index\-divisor (default 1) (u32, read/write) index-divisor (default 1)
The resolver component emulates an index at a fixed point in the sin/cos cycle. The resolver component emulates an index at a fixed point in the sin/cos cycle.
Some resolvers have multiple cycles per rev (often related to the number of Some resolvers have multiple cycles per rev (often related to the number of
pole-pairs on the attached motor). LinuxCNC requires an index once per pole-pairs on the attached motor). LinuxCNC requires an index once per
@ -669,7 +660,7 @@ LinuxCNC runs. Do not expect to re-start a thread after restarting LinuxCNC.
It is not appropriate to use this parameter for index-homing of axis drives. It is not appropriate to use this parameter for index-homing of axis drives.
.TP .TP
(float, read/write) excitation\-khz (float, read/write) excitation-khz
This pin sets the excitation frequency for This pin sets the excitation frequency for
the resolver. This pin is module-level rather than instance-level as all the resolver. This pin is module-level rather than instance-level as all
resolvers share the same excitation frequency. resolvers share the same excitation frequency.
@ -677,7 +668,7 @@ resolvers share the same excitation frequency.
actual frequency depends on the FPGA frequency, and they correspond to actual frequency depends on the FPGA frequency, and they correspond to
CLOCK_LOW/5000, CLOCK_LOW/10000 and CLOCK_LOW/20000 respectively. CLOCK_LOW/5000, CLOCK_LOW/10000 and CLOCK_LOW/20000 respectively.
The parameter will be set to the closest available of the three frequencies. The parameter will be set to the closest available of the three frequencies.
A value of \-1 (the default) indicates that the current setting should be A value of -1 (the default) indicates that the current setting should be
retained. retained.
@ -693,10 +684,10 @@ of the first 7i43 board is: hm2_7i43.0.pwmgen.03.enable (this assumes
that the firmware in that board is configured so that this HAL object that the firmware in that board is configured so that this HAL object
is available) is available)
In HM2, each pwmgen uses three output IO pins: Not\-Enable, Out0, and In HM2, each pwmgen uses three output IO pins: Not-Enable, Out0, and
Out1. Out1.
The function of the Out0 and Out1 IO pins varies with output\-type The function of the Out0 and Out1 IO pins varies with output-type
parameter (see below). parameter (see below).
The hm2 pwmgen representation is similar to the software pwmgen component. The hm2 pwmgen representation is similar to the software pwmgen component.
@ -706,9 +697,9 @@ Pins:
.TP .TP
(bit input) enable (bit input) enable
If true, the pwmgen will set its Not\-Enable pin If true, the pwmgen will set its Not-Enable pin
false and output its pulses. If 'enable' is false, pwmgen will set its false and output its pulses. If 'enable' is false, pwmgen will set its
Not\-Enable pin true and not output any signals. Not-Enable pin true and not output any signals.
.TP .TP
(float input) value (float input) value
@ -720,11 +711,11 @@ Parameters:
(float rw) scale (float rw) scale
Scaling factor to convert 'value' from arbitrary units Scaling factor to convert 'value' from arbitrary units
to duty cycle: dc = value / scale. Duty cycle has an effective range to duty cycle: dc = value / scale. Duty cycle has an effective range
of \-1.0 to +1.0 inclusive, anything outside that range gets clipped. of -1.0 to +1.0 inclusive, anything outside that range gets clipped.
The default scale is 1.0. The default scale is 1.0.
.TP .TP
(s32 rw) output\-type (s32 rw) output-type
This emulates the output_type load-time argument to This emulates the output_type load-time argument to
the software pwmgen component. This parameter may be changed at runtime, the software pwmgen component. This parameter may be changed at runtime,
but most of the time you probably want to set it at startup and then leave but most of the time you probably want to set it at startup and then leave
@ -781,13 +772,13 @@ pins are the high side drivers, the second three are their complementary low-sid
drivers. The enable bit is intended to control the servo amplifier. drivers. The enable bit is intended to control the servo amplifier.
The input bit is a fault bit, typically wired to over-current detection. When set The input bit is a fault bit, typically wired to over-current detection. When set
the PWM generator is disabled. the PWM generator is disabled.
The three phase duty-cycles are individually controllable from \-Scale to +Scale. The three phase duty-cycles are individually controllable from -Scale to +Scale.
Note that 0 corresponds to a 50% duty cycle and this is the inialization value. Note that 0 corresponds to a 50% duty cycle and this is the inialization value.
Pins: Pins:
(float input) A\-value, B\-value, C\-value: The PWM command value for each phase, (float input) A-value, B-value, C-value: The PWM command value for each phase,
limited to +/\- "scale". Defaults to zero which is 50% duty cycle on high-side and limited to +/- "scale". Defaults to zero which is 50% duty cycle on high-side and
low-sidepins (but see the "deadtime" parameter) low-sidepins (but see the "deadtime" parameter)
.TP .TP
@ -813,7 +804,7 @@ and added to off time symmetrically. For example with 20 kHz PWM (50 uSec period
50% duty cycle and zero dead time, the PWM and NPWM outputs would be square 50% duty cycle and zero dead time, the PWM and NPWM outputs would be square
waves (NPWM being inverted from PWM) with high times of 25 uS. With the same waves (NPWM being inverted from PWM) with high times of 25 uS. With the same
settings but 1 uS of deadtime, the PWM and NPWM outputs would both have high settings but 1 uS of deadtime, the PWM and NPWM outputs would both have high
times of 23 uS (25 \- (2X 1 uS), 1 uS per edge). times of 23 uS (25 - (2X 1 uS), 1 uS per edge).
The value is specified in nS and defaults to a rather conservative 5000nS. Setting The value is specified in nS and defaults to a rather conservative 5000nS. Setting
this parameter to too low a value could be both expensive and dangerous as if both this parameter to too low a value could be both expensive and dangerous as if both
gates are open at the same time there is effectively a short circuit accross the gates are open at the same time there is effectively a short circuit accross the
@ -822,17 +813,17 @@ supply.
.TP .TP
(float rw) scale (float rw) scale
Sets the half-scale of the specified 3-phase PWM generator. Sets the half-scale of the specified 3-phase PWM generator.
PWM values from \-scale to +scale are valid. Default is +/\- 1.0 PWM values from -scale to +scale are valid. Default is +/- 1.0
.TP .TP
(bit rw) fault\-invert (bit rw) fault-invert
Sets the polarity of the fault input pin. A value of 1 means Sets the polarity of the fault input pin. A value of 1 means
that a fault is triggered with the pin high, and 0 means that a fault it triggered that a fault is triggered with the pin high, and 0 means that a fault it triggered
when the pin is pulled low. Default 0, fault = low so that the PWM works with the when the pin is pulled low. Default 0, fault = low so that the PWM works with the
fault pin unconnected. fault pin unconnected.
.TP .TP
(u32 rw) sample\-time (u32 rw) sample-time
Sets the time during the cycle when an ADC pulse Sets the time during the cycle when an ADC pulse
is generated. 0 = start of PWM cycle and 1 = end. Not currently useful is generated. 0 = start of PWM cycle and 1 = end. Not currently useful
to LinuxCNC. Default 0.5. to LinuxCNC. Default 0.5.
@ -855,7 +846,7 @@ instance number. There are 'num_stepgens' instances, starting with 00.
So, for example, the HAL pin that has the current position So, for example, the HAL pin that has the current position
feedback from the first stepgen of the second 5i22 board is: feedback from the first stepgen of the second 5i22 board is:
hm2_5i22.1.stepgen.00.position\-fb (this assumes that the firmware in hm2_5i22.1.stepgen.00.position-fb (this assumes that the firmware in
that board is configured so that this HAL object is available) that board is configured so that this HAL object is available)
Each stepgen uses between 2 and 6 IO pins. The signals on these pins depends on Each stepgen uses between 2 and 6 IO pins. The signals on these pins depends on
@ -867,29 +858,29 @@ Each stepgen instance has the following pins and parameters:
Pins: Pins:
.TP .TP
(float input) position\-cmd (float input) position-cmd
Target position of stepper motion, in Target position of stepper motion, in
arbitrary position units. This pin is only used when the stepgen is in arbitrary position units. This pin is only used when the stepgen is in
position control mode (control\-type=0). position control mode (control-type=0).
.TP .TP
(float input) velocity\-cmd (float input) velocity-cmd
Target velocity of stepper motion, in Target velocity of stepper motion, in
arbitrary position units per second. This pin is only used when the arbitrary position units per second. This pin is only used when the
stepgen is in velocity control mode (control\-type=1). stepgen is in velocity control mode (control-type=1).
.TP .TP
(s32 output) counts (s32 output) counts
Feedback position in counts (number of steps). Feedback position in counts (number of steps).
.TP .TP
(float output) position\-fb (float output) position-fb
Feedback position in arbitrary position Feedback position in arbitrary position
units. This is similar to "counts/position_scale", but has finer than units. This is similar to "counts/position_scale", but has finer than
step resolution. step resolution.
.TP .TP
(float output) velocity\-fb (float output) velocity-fb
Feedback velocity in arbitrary position Feedback velocity in arbitrary position
units per second. units per second.
@ -897,19 +888,19 @@ units per second.
(bit input) enable (bit input) enable
This pin enables the step generator instance. This pin enables the step generator instance.
When True, the stepgen instance works as expected. When False, no steps When True, the stepgen instance works as expected. When False, no steps
are generated and velocity\-fb goes immediately to 0. If the stepgen is are generated and velocity-fb goes immediately to 0. If the stepgen is
moving when enable goes false it stops immediately, without obeying the moving when enable goes false it stops immediately, without obeying the
maxaccel limit. maxaccel limit.
.TP .TP
(bit input) control\-type (bit input) control-type
Switches between position control mode (0) Switches between position control mode (0)
and velocity control mode (1). Defaults to position control (0). and velocity control mode (1). Defaults to position control (0).
Parameters: Parameters:
.TP .TP
(float r/w) position\-scale (float r/w) position-scale
Converts from counts to position units. Converts from counts to position units.
position = counts / position_scale position = counts / position_scale
@ -917,14 +908,14 @@ position = counts / position_scale
(float r/w) maxvel (float r/w) maxvel
Maximum speed, in position units per second. If set Maximum speed, in position units per second. If set
to 0, the driver will always use the maximum possible velocity based to 0, the driver will always use the maximum possible velocity based
on the current step timings and position\-scale. The max velocity will on the current step timings and position-scale. The max velocity will
change if the step timings or position\-scale changes. Defaults to 0. change if the step timings or position-scale changes. Defaults to 0.
.TP .TP
(float r/w) maxaccel (float r/w) maxaccel
Maximum acceleration, in position units per second Maximum acceleration, in position units per second
per second. Defaults to 1.0. If set to 0, the driver will not limit its per second. Defaults to 1.0. If set to 0, the driver will not limit its
acceleration at all - this requires that the position\-cmd or velocity\-cmd acceleration at all - this requires that the position-cmd or velocity-cmd
pin is driven in a way that does not exceed the machine's capabilities. pin is driven in a way that does not exceed the machine's capabilities.
This is probably what you want if you're going to be using the LinuxCNC This is probably what you want if you're going to be using the LinuxCNC
trajectory planner to jog or run G-code. trajectory planner to jog or run G-code.
@ -968,23 +959,23 @@ up to 6 IO pins are individually controlled in an arbitrary sequence up to 16
phases long. phases long.
.TP .TP
(u32 r/w) table\-data\-N (u32 r/w) table-data-N
There are 4 table\-data\-N parameters, table\-data\-0 to table\-data\-3. These each There are 4 table-data-N parameters, table-data-0 to table-data-3. These each
contain 4 bytes corresponding to 4 stages in the step sequence. For example contain 4 bytes corresponding to 4 stages in the step sequence. For example
table\-data\-0 = 0x00000001 would set stepgen pin 0 (always called "Step" in table-data-0 = 0x00000001 would set stepgen pin 0 (always called "Step" in
the dmesg output) on the first phase of the step sequence, and table\-data\-4 = the dmesg output) on the first phase of the step sequence, and table-data-4 =
0x20000000 would set stepgen pin 6 ("Table5Pin" in the dmesg output) on the 16th 0x20000000 would set stepgen pin 6 ("Table5Pin" in the dmesg output) on the 16th
stage of the step sequence. stage of the step sequence.
.TP .TP
(s32 r/w) hm2_XiXX.N.stepgen.MM.timer\-num (default: \-1) (s32 r/w) hm2_XiXX.N.stepgen.MM.timer-num (default: -1)
Sets the hm2dpll timer instance to be used to latch stepgen counts. A setting Sets the hm2dpll timer instance to be used to latch stepgen counts. A setting
of \-1 does not latch encoder counts. A setting of 0 latches at the same time of -1 does not latch encoder counts. A setting of 0 latches at the same time
as the main hostmot2 write. A setting of 1..4 uses a time offset from the main as the main hostmot2 write. A setting of 1..4 uses a time offset from the main
hostmot2 write according to the dpll's timer\-us setting. hostmot2 write according to the dpll's timer-us setting.
Typically, timer\-us should be a negative number with a magnitude larger than Typically, timer-us should be a negative number with a magnitude larger than
the largest latency (e.g., \-100 for a system with mediocre latency, \-50 for a the largest latency (e.g., -100 for a system with mediocre latency, -50 for a
system with good latency). system with good latency).
If no DPLL module is present in the FPGA firmware, or if the stepgen module If no DPLL module is present in the FPGA firmware, or if the stepgen module
@ -1006,8 +997,8 @@ For full details of the smart-serial devices see \fBman sserial\fR.
.SH BSPI .SH BSPI
The BSPI (Buffered SPI) driver is unusual in that it does not create any HAL The BSPI (Buffered SPI) driver is unusual in that it does not create any HAL
pins. Instead the driver exports a set of functions that can be used by a sub-driver pins. Instead the driver exports a set of functions that can be used by a sub
for the attached hardware. Typically these would be written in the "comp" -driver for the attached hardware. Typically these would be written in the "comp"
pre-processing language: see http://linuxcnc.org/docs/html/hal_comp.html or man pre-processing language: see http://linuxcnc.org/docs/html/hal_comp.html or man
comp for further details. See man mesa_7i65 and the source of mesa_7i65.comp for comp for further details. See man mesa_7i65 and the source of mesa_7i65.comp for
details of a typical sub-driver. details of a typical sub-driver.
@ -1047,7 +1038,7 @@ pin-on-that-connector is written to the syslog when the driver loads,
and it's documented in Mesa's manual for the Anything I/O boards. and it's documented in Mesa's manual for the Anything I/O boards.
So, for example, the HAL pin that has the current inverted input value So, for example, the HAL pin that has the current inverted input value
read from GPIO 012 of the second 7i43 board is: hm2_7i43.1.gpio.012.in\-not read from GPIO 012 of the second 7i43 board is: hm2_7i43.1.gpio.012.in-not
(this assumes that the firmware in that board is configured so that this (this assumes that the firmware in that board is configured so that this
HAL object is available) HAL object is available)
@ -1209,14 +1200,14 @@ See man setsserial for the current way to set smart-serial eeprom parameters.
.SH FUNCTIONS .SH FUNCTIONS
.TP .TP
\fBhm2_\fI<BoardType>\fB.\fI<BoardNum>\fB.read\-request\fR \fBhm2_\fI<BoardType>\fB.\fI<BoardNum>\fB.read-request\fR
On boards with long turn around time for reads (at the time of writing, this On boards with long turn around time for reads (at the time of writing, this
applies only to ethernet boards), this function sends a read request. When applies only to ethernet boards), this function sends a read request. When
multiple boards are used, this can reduce the servo thread execution time. In multiple boards are used, this can reduce the servo thread execution time. In
this case, the appropriate thread order would be this case, the appropriate thread order would be
.EX .EX
addf hm2_7i80.0.read\-request addf hm2_7i80.0.read-request
addf hm2_7i80.1.read\-request addf hm2_7i80.1.read-request
addf hm2_7i80.0.read addf hm2_7i80.0.read
addf hm2_7i80.1.read addf hm2_7i80.1.read
.EE .EE
@ -1247,7 +1238,7 @@ function is if you want to do GPIO things in a faster-than-servo thread.
(This function is not available on the 7i43 due to limitations of the (This function is not available on the 7i43 due to limitations of the
EPP bus.) EPP bus.)
.TP .TP
\fBhm2_\fI<BoardType>\fB.\fI<BoardNum>\fB.trigger\-encoders\fR \fBhm2_\fI<BoardType>\fB.\fI<BoardNum>\fB.trigger-encoders\fR
This function will only appear if the firmware contains a BiSS, Fanuc or SSI This function will only appear if the firmware contains a BiSS, Fanuc or SSI
encoder module and if the firmare does not contain a hm2dpll encoder module and if the firmare does not contain a hm2dpll
module (qv) or if the modparam contains num_dplls=0. module (qv) or if the modparam contains num_dplls=0.

View file

@ -59,19 +59,19 @@ forward kinematics iteration is controlled by hal pins.
.B genhexkins.platform.\fIN\fB.z .B genhexkins.platform.\fIN\fB.z
Parameters describing the \fIN\fRth joint's coordinates. Parameters describing the \fIN\fRth joint's coordinates.
.TQ .TQ
.B genhexkins.convergence\-criterion .B genhexkins.convergence-criterion
Minimum error value that ends iterations with converged solution. Minimum error value that ends iterations with converged solution.
.TQ .TQ
.B genhexkins.limit\-iterations .B genhexkins.limit-iterations
Limit of iterations, if exceeded iterations stop with no convergence. Limit of iterations, if exceeded iterations stop with no convergence.
.TQ .TQ
.B genhexkins.max\-error .B genhexkins.max-error
Maximum error value, if exceeded iterations stop with no convergence. Maximum error value, if exceeded iterations stop with no convergence.
.TQ .TQ
.B genhexkins.last\-iterations .B genhexkins.last-iterations
Number of iterations spent for the last forward kinematics solution. Number of iterations spent for the last forward kinematics solution.
.TQ .TQ
.B genhexkins.max\-iterations .B genhexkins.max-iterations
Maximum number of iterations spent for a converged solution during current Maximum number of iterations spent for a converged solution during current
session. session.
.SS maxkins \- 5-axis kinematics example .SS maxkins \- 5-axis kinematics example
@ -88,11 +88,11 @@ links. The DH definitions are the ones used by John J Craig in
"Introduction to Robotics: Mechanics and Control" The parameters for the "Introduction to Robotics: Mechanics and Control" The parameters for the
manipulator are defined by hal pins. manipulator are defined by hal pins.
.TP .TP
.B genserkins.A\-\fIN .B genserkins.A-\fIN
.TQ .TQ
.B genserkins.ALPHA\-\fIN .B genserkins.ALPHA-\fIN
.TQ .TQ
.B genserkins.D\-\fIN .B genserkins.D-\fIN
Parameters describing the \fIN\fRth joint's geometry. Parameters describing the \fIN\fRth joint's geometry.
.SS pumakins \- kinematics for puma typed robots .SS pumakins \- kinematics for puma typed robots

View file

@ -35,7 +35,7 @@ between 0 and 1.
.SH PARAMETERS .SH PARAMETERS
.TP .TP
.B lcd.\fINN\fB.decimal\-separator\fR (u32) rw .B lcd.\fINN\fB.decimal-separator\fR (u32) rw
Sets the decimal separator used for floating point numbers. The default value is Sets the decimal separator used for floating point numbers. The default value is
46 (0x2E) which corresponds to ".". If a comma is required then set this 46 (0x2E) which corresponds to ".". If a comma is required then set this
parameter to 44 (0x2C). parameter to 44 (0x2C).
@ -87,7 +87,7 @@ default and is not strictly necessary.
"0" Pad the number to the specified width with the numeral 0. "0" Pad the number to the specified width with the numeral 0.
"+" Force display of a + symbol before positive numbers. This (like the \- sign) "+" Force display of a + symbol before positive numbers. This (like the - sign)
will appear immediately to the left of the digits for a space-padded number will appear immediately to the left of the digits for a space-padded number
and in the extreme left position for a 0-padded number. and in the extreme left position for a 0-padded number.
@ -101,7 +101,7 @@ digits. The integer data types will never fill more than 10 decimal digits.
Following the width specifier should be the decimal specifier. This can only be Following the width specifier should be the decimal specifier. This can only be
a full-stop character (.) as the comma (,) is used as the instance separator. a full-stop character (.) as the comma (,) is used as the instance separator.
Currently lcd does not access the locale information to determine the correct Currently lcd does not access the locale information to determine the correct
separator and the \fBdecimal\-separator\fR parameter should be used. separator and the \fBdecimal-separator\fR parameter should be used.
Following the decimal separator should be a number that determines how many Following the decimal separator should be a number that determines how many
places of decimals to display. This entry is ignored in the case of integer places of decimals to display. This entry is ignored in the case of integer
@ -122,7 +122,7 @@ variable format width, with a sign only shown for negative numbers. both %f and
\fB%i %d\fR (For example %+ 4d) Creates a signed (s32) HAL pin. The example would \fB%i %d\fR (For example %+ 4d) Creates a signed (s32) HAL pin. The example would
display the value at a fixed 4 characters, space padded, width including the + display the value at a fixed 4 characters, space padded, width including the +
giving a range of +999 to \-999. %i and %d create identical output. giving a range of +999 to -999. %i and %d create identical output.
\fB%u\fR (for example %08u) Creates an unsigned (u32) HAL pin. The example would be a \fB%u\fR (for example %08u) Creates an unsigned (u32) HAL pin. The example would be a
fixed 8 characters wide, padded with zeros. fixed 8 characters wide, padded with zeros.
@ -141,7 +141,7 @@ character.
\fB%b\fR This specifier has no equivalent in printf. It creates a bit (boolean) type \fB%b\fR This specifier has no equivalent in printf. It creates a bit (boolean) type
HAL pin. The b should be followed by two characters and the display will show HAL pin. The b should be followed by two characters and the display will show
the first of these when the pin is true, and the second when false. Note that the first of these when the pin is true, and the second when false. Note that
the characters follow, not precede the "b", unlike the case with other formats. the characters follow, not preceed the "b", unlike the case with other formats.
The characters may be "escaped" Hex values. For example "%b\eFF " will display a The characters may be "escaped" Hex values. For example "%b\eFF " will display a
solid black block if true, and a space if false and "%b\e7F\e7E" would display solid black block if true, and a space if false and "%b\e7F\e7E" would display
right-arrow for false and left-arrow for true. An unexpected value of 'E' right-arrow for false and left-arrow for true. An unexpected value of 'E'

View file

@ -48,7 +48,7 @@ In the optional scan-generation mode the \fBmatrix_kb.\fIN\fB.keycode\fR pin
changes to an output pin and a set of output row pins and input column pins are changes to an output pin and a set of output row pins and input column pins are
created. created.
These need to be connected to physical inputs and outputs to scan the matrix and These need to be connected to physical inputs and outputs to scan the matrix and
return values to HAL. Note the \fBnegative\-logic\fR parameter described below, return values to HAL. Note the \fBnegative-logic\fR parameter described below,
this will need to be set on the most common forms of inputs which float high this will need to be set on the most common forms of inputs which float high
when unconnected. when unconnected.
@ -62,7 +62,7 @@ Perform all requested functions. Should be run in a slow thread for effective
debouncing. debouncing.
.SH PINS .SH PINS
.TP .TP
.B matrix_kb.\fIN\fB.col\-\fICC\fB\-in\fR bit in .B matrix_kb.\fIN\fB.col-\fICC\fB-in\fR bit in
The input pin corresponding to column C. The input pin corresponding to column C.
.TP .TP
.B matrix_kb.\fIN\fB.key.r\fIR\fBc\fIC\fR bit out .B matrix_kb.\fIN\fB.key.r\fIR\fBc\fIC\fR bit out
@ -72,7 +72,7 @@ The pin corresponding to the key at row R column C of the matrix.
This pin should be connected to the scancode generator if hardware such as a This pin should be connected to the scancode generator if hardware such as a
7i73 is being used. In this mode it is an input pin. In the internally-generated 7i73 is being used. In this mode it is an input pin. In the internally-generated
scanning mode this pin is an output, but will not normally be connected. scanning mode this pin is an output, but will not normally be connected.
.B matrix_kb.\fIN\fB.row\-\fIRR\fB\-out bit out .B matrix_kb.\fIN\fB.row-\fIRR\fB-out bit out
The row scan drive pins.Should be connected to external hardware pins connected The row scan drive pins.Should be connected to external hardware pins connected
to the keypad. to the keypad.
@ -86,7 +86,7 @@ number of keys may be pressed simultaneously. Increase the value of this paramet
if such a keyboard is connected, or if phantom keystrokes are more acceptable if such a keyboard is connected, or if phantom keystrokes are more acceptable
than only two keys being active at one time. than only two keys being active at one time.
.TP .TP
.B matrix_kb.\fIN\fB.negative\-logic\fR bit r/w (default 1) only in scan mode .B matrix_kb.\fIN\fB.negative-logic\fR bit r/w (default 1) only in scan mode
When no keys are pressed a typical digital input will float high. The input will When no keys are pressed a typical digital input will float high. The input will
then be pulled low by the keypad when the corresponding poll line is low. then be pulled low by the keypad when the corresponding poll line is low.
Set this parameter to 0 if the IO in use requires one row at a time to be high, Set this parameter to 0 if the IO in use requires one row at a time to be high,

View file

@ -25,15 +25,15 @@ Pin names starting with "\fBaxis\fR" are actually joint values, but the pins and
.SH PINS .SH PINS
.TP .TP
\fBaxis.\fIN\fB.amp\-enable\-out\fR OUT BIT \fBaxis.\fIN\fB.amp-enable-out\fR OUT BIT
TRUE if the amplifier for this joint should be enabled TRUE if the amplifier for this joint should be enabled
.TP .TP
\fBaxis.\fIN\fB.amp\-fault\-in\fR IN BIT \fBaxis.\fIN\fB.amp-fault-in\fR IN BIT
Should be driven TRUE if an external fault is detected with the amplifier for this joint Should be driven TRUE if an external fault is detected with the amplifier for this joint
.TP .TP
\fBaxis.\fIN\fB.home\-sw\-in\fR IN BIT \fBaxis.\fIN\fB.home-sw-in\fR IN BIT
Should be driven TRUE if the home switch for this joint is closed Should be driven TRUE if the home switch for this joint is closed
.TP .TP
@ -41,51 +41,51 @@ Should be driven TRUE if the home switch for this joint is closed
TRUE if the joint is currently homing TRUE if the joint is currently homing
.TP .TP
\fBaxis.\fIN\fB.index\-enable\fR IO BIT \fBaxis.\fIN\fB.index-enable\fR IO BIT
Should be attached to the index\-enable pin of the joint's encoder to enable homing to index pulse Should be attached to the index-enable pin of the joint's encoder to enable homing to index pulse
.TP .TP
\fBaxis.\fIN\fB.is\-unlocked\fR IN BIT \fBaxis.\fIN\fB.is-unlocked\fR IN BIT
If the axis is a locked rotary the unlocked sensor should be connected to this pin If the axis is a locked rotary the unlocked sensor should be connected to this pin
.TP .TP
\fBaxis.\fIN\fB.jog\-counts\fR IN S32 \fBaxis.\fIN\fB.jog-counts\fR IN S32
Connect to the "counts" pin of an external encoder to use a physical jog wheel. Connect to the "counts" pin of an external encoder to use a physical jog wheel.
.TP .TP
\fBaxis.\fIN\fB.jog\-enable\fR IN BIT \fBaxis.\fIN\fB.jog-enable\fR IN BIT
When TRUE (and in manual mode), any change to "jog\-counts" will result in motion. When false, "jog\-counts" is ignored. When TRUE (and in manual mode), any change to "jog-counts" will result in motion. When false, "jog-counts" is ignored.
.TP .TP
\fBaxis.\fIN\fB.jog\-scale\fR IN FLOAT \fBaxis.\fIN\fB.jog-scale\fR IN FLOAT
Sets the distance moved for each count on "jog\-counts", in machine units. Sets the distance moved for each count on "jog-counts", in machine units.
.TP .TP
\fBaxis.\fIN\fB.jog\-vel\-mode\fR IN BIT \fBaxis.\fIN\fB.jog-vel-mode\fR IN BIT
When FALSE (the default), the jogwheel operates in position mode. The axis will move exactly jog\-scale units for each count, regardless of how long that might take. When TRUE, the wheel operates in velocity mode - motion stops when the wheel stops, even if that means the commanded motion is not completed. When FALSE (the default), the jogwheel operates in position mode. The axis will move exactly jog-scale units for each count, regardless of how long that might take. When TRUE, the wheel operates in velocity mode - motion stops when the wheel stops, even if that means the commanded motion is not completed.
.TP .TP
\fBaxis.\fIN\fB.joint\-pos\-cmd\fR OUT FLOAT \fBaxis.\fIN\fB.joint-pos-cmd\fR OUT FLOAT
The joint (as opposed to motor) commanded position. There may be several offsets between the joint and motor coordinates: backlash compensation, screw error compensation, and home offsets. The joint (as opposed to motor) commanded position. There may be several offsets between the joint and motor coordinates: backlash compensation, screw error compensation, and home offsets.
.TP .TP
\fBaxis.\fIN\fB.joint\-pos\-fb\fR OUT FLOAT \fBaxis.\fIN\fB.joint-pos-fb\fR OUT FLOAT
The joint feedback position. This value is computed from the actual motor position minus joint offsets. Useful for machine visualization. The joint feedback position. This value is computed from the actual motor position minus joint offsets. Useful for machine visualization.
.TP .TP
\fBaxis.\fIN\fB.motor\-pos\-cmd\fR OUT FLOAT \fBaxis.\fIN\fB.motor-pos-cmd\fR OUT FLOAT
The commanded position for this joint. The commanded position for this joint.
.TP .TP
\fBaxis.\fIN\fB.motor\-pos\-fb\fR IN FLOAT \fBaxis.\fIN\fB.motor-pos-fb\fR IN FLOAT
The actual position for this joint. The actual position for this joint.
.TP .TP
\fBaxis.\fIN\fB.neg\-lim\-sw\-in\fR IN BIT \fBaxis.\fIN\fB.neg-lim-sw-in\fR IN BIT
Should be driven TRUE if the negative limit switch for this joint is tripped. Should be driven TRUE if the negative limit switch for this joint is tripped.
.TP .TP
\fBaxis.\fIN\fB.pos\-lim\-sw\-in\fR IN BIT \fBaxis.\fIN\fB.pos-lim-sw-in\fR IN BIT
Should be driven TRUE if the positive limit switch for this joint is tripped. Should be driven TRUE if the positive limit switch for this joint is tripped.
.TP .TP
@ -93,39 +93,39 @@ Should be driven TRUE if the positive limit switch for this joint is tripped.
TRUE if the axis is a locked rotary and a move is commanded. TRUE if the axis is a locked rotary and a move is commanded.
.TP .TP
\fBmotion.adaptive\-feed\fR IN FLOAT \fBmotion.adaptive-feed\fR IN FLOAT
When adaptive feed is enabled with M52 P1, the commanded velocity is multiplied by this value. This effect is multiplicative with the NML-level feed override value and motion.feed\-hold. When adaptive feed is enabled with M52 P1, the commanded velocity is multiplied by this value. This effect is multiplicative with the NML-level feed override value and motion.feed-hold.
.TP .TP
\fBmotion.analog\-in\-\fINN\fR IN FLOAT \fBmotion.analog-in-\fINN\fR IN FLOAT
These pins are used by M66 Enn wait-for-input mode. These pins are used by M66 Enn wait-for-input mode.
.TP .TP
\fBmotion.analog\-out\-\fINN\fR OUT FLOAT \fBmotion.analog-out-\fINN\fR OUT FLOAT
These pins are used by M67-68. These pins are used by M67-68.
.TP .TP
\fBmotion.coord\-error\fR OUT BIT \fBmotion.coord-error\fR OUT BIT
TRUE when motion has encountered an error, such as exceeding a soft limit TRUE when motion has encountered an error, such as exceeding a soft limit
.TP .TP
\fBmotion.coord\-mode\fR OUT BIT \fBmotion.coord-mode\fR OUT BIT
TRUE when motion is in "coordinated mode", as opposed to "teleop mode" TRUE when motion is in "coordinated mode", as opposed to "teleop mode"
.TP .TP
\fBmotion.current\-vel\fR OUT FLOAT \fBmotion.current-vel\fR OUT FLOAT
Current cartesian velocity Current cartesian velocity
.TP .TP
\fBmotion.digital\-in\-\fINN\fR IN BIT \fBmotion.digital-in-\fINN\fR IN BIT
These pins are used by M66 Pnn wait-for-input mode. These pins are used by M66 Pnn wait-for-input mode.
.TP .TP
\fBmotion.digital\-out\-\fINN\fR OUT BIT \fBmotion.digital-out-\fINN\fR OUT BIT
These pins are controlled by the M62 through M65 words. These pins are controlled by the M62 through M65 words.
.TP .TP
\fBmotion.distance\-to\-go\fR OUT FLOAT \fBmotion.distance-to-go\fR OUT FLOAT
Distance remaining in the current move Distance remaining in the current move
.TP .TP
@ -133,11 +133,11 @@ Distance remaining in the current move
If this bit is driven FALSE, motion stops, the machine is placed in the "machine off" state, and a message is displayed for the operator. For normal motion, drive this bit TRUE. If this bit is driven FALSE, motion stops, the machine is placed in the "machine off" state, and a message is displayed for the operator. For normal motion, drive this bit TRUE.
.TP .TP
\fBmotion.feed\-hold\fR IN BIT \fBmotion.feed-hold\fR IN BIT
When Feed Stop Control is enabled with M53 P1, and this bit is TRUE, the feed rate is set to 0. When Feed Stop Control is enabled with M53 P1, and this bit is TRUE, the feed rate is set to 0.
.TP .TP
\fBmotion.feed\-inhibit\fR IN BIT \fBmotion.feed-inhibit\fR IN BIT
When this pin is TRUE, machine motion is inhibited (this includes jogs, When this pin is TRUE, machine motion is inhibited (this includes jogs,
programmed feeds, and programmed rapids, aka traverse moves). programmed feeds, and programmed rapids, aka traverse moves).
@ -153,108 +153,103 @@ maximum allowed acceleration rate.
Motion resumes when this pin goes FALSE. Motion resumes when this pin goes FALSE.
.TP .TP
\fBmotion.in\-position\fR OUT BIT \fBmotion.in-position\fR OUT BIT
TRUE if the machine is in position (ie, not currently moving towards TRUE if the machine is in position (ie, not currently moving towards
the commanded position). the commanded position).
.TP .TP
\fBmotion.probe\-input\fR IN BIT \fBmotion.probe-input\fR IN BIT
G38.x uses the value on this pin to determine when the probe has made contact. TRUE for probe contact closed (touching), FALSE for probe contact open. G38.x uses the value on this pin to determine when the probe has made contact. TRUE for probe contact closed (touching), FALSE for probe contact open.
.TP .TP
\fBmotion.program\-line\fR OUT S32 \fBmotion.program-line\fR OUT S32
The current program line while executing. Zero if not running or between
lines while single stepping.
.TP .TP
\fBmotion.requested\-vel\fR OUT FLOAT \fBmotion.requested-vel\fR OUT FLOAT
The current requested velocity in user units per second. This value is The requested velocity with no adjustments for feed override
the F-word setting from the G-code file, possibly reduced to accomodate
machine velocity and acceleration limits. The value on this pin does
not reflect the feed override or any other adjustments.
.TP .TP
\fBmotion.spindle\-at\-speed\fR IN BIT \fBmotion.spindle-at-speed\fR IN BIT
Motion will pause until this pin is TRUE, under the following conditions: before the Motion will pause until this pin is TRUE, under the following conditions: before the
first feed move after each spindle start or speed change; before the start of every first feed move after each spindle start or speed change; before the start of every
chain of spindle-synchronized moves; and if in CSS mode, at every rapid->feed transition. chain of spindle-synchronized moves; and if in CSS mode, at every rapid->feed transition.
.TP .TP
\fBmotion.spindle\-brake\fR OUT BIT \fBmotion.spindle-brake\fR OUT BIT
TRUE when the spindle brake should be applied TRUE when the spindle brake should be applied
.TP .TP
\fBmotion.spindle\-forward\fR OUT BIT \fBmotion.spindle-forward\fR OUT BIT
TRUE when the spindle should rotate forward TRUE when the spindle should rotate forward
.TP .TP
\fBmotion.spindle\-index\-enable\fR I/O BIT \fBmotion.spindle-index-enable\fR I/O BIT
For correct operation of spindle synchronized moves, this signal must be hooked to the index\-enable pin of the spindle encoder. For correct operation of spindle synchronized moves, this signal must be hooked to the index-enable pin of the spindle encoder.
.TP .TP
\fBmotion.spindle\-inhibit\fR IN BIT \fBmotion.spindle-inhibit\fR IN BIT
When TRUE, the spindle speed is set and held to 0. When TRUE, the spindle speed is set and held to 0.
.TP .TP
\fBmotion.spindle\-on\fR OUT BIT \fBmotion.spindle-on\fR OUT BIT
TRUE when spindle should rotate TRUE when spindle should rotate
.TP .TP
\fBmotion.spindle\-reverse\fR OUT BIT \fBmotion.spindle-reverse\fR OUT BIT
TRUE when the spindle should rotate backward TRUE when the spindle should rotate backward
.TP .TP
\fBmotion.spindle\-revs\fR IN FLOAT \fBmotion.spindle-revs\fR IN FLOAT
For correct operation of spindle synchronized moves, this signal must be hooked to the position pin of the spindle encoder. For correct operation of spindle synchronized moves, this signal must be hooked to the position pin of the spindle encoder.
.TP .TP
\fBmotion.spindle\-speed\-in\fR IN FLOAT \fBmotion.spindle-speed-in\fR IN FLOAT
Actual spindle speed feedback in revolutions per second; used for G96 (constant surface speed) and G95 (feed per revolution) modes. Actual spindle speed feedback in revolutions per second; used for G96 (constant surface speed) and G95 (feed per revolution) modes.
.TP .TP
\fBmotion.spindle\-speed\-out\fR OUT FLOAT \fBmotion.spindle-speed-out\fR OUT FLOAT
Desired spindle speed in rotations per minute Desired spindle speed in rotations per minute
.TP .TP
\fBmotion.spindle\-speed\-out\-abs\fR OUT FLOAT \fBmotion.spindle-speed-out-abs\fR OUT FLOAT
Desired spindle speed in rotations per minute, always positive regardless of spindle direction. Desired spindle speed in rotations per minute, always positive regardless of spindle direction.
.TP .TP
\fBmotion.spindle\-speed\-out\-rps\fR OUT float \fBmotion.spindle-speed-out-rps\fR OUT float
Desired spindle speed in rotations per second Desired spindle speed in rotations per second
.TP .TP
\fBmotion.spindle\-speed\-out\-rps\-abs\fR OUT float \fBmotion.spindle-speed-out-rps-abs\fR OUT float
Desired spindle speed in rotations per second, always positive regardless of spindle direction. Desired spindle speed in rotations per second, always positive regardless of spindle direction.
.TP .TP
\fBmotion.spindle\-orient\-angle\fR OUT FLOAT \fBmotion.spindle-orient-angle\fR OUT FLOAT
Desired spindle orientation for M19. Value of the M19 R word parameter plus the value of the [RS274NGC]ORIENT_OFFSET ini parameter. Desired spindle orientation for M19. Value of the M19 R word parameter plus the value of the [RS274NGC]ORIENT_OFFSET ini parameter.
.TP .TP
\fBmotion.spindle\-orient\-mode\fR OUT BIT \fBmotion.spindle-orient-mode\fR OUT BIT
Desired spindle rotation mode. Reflects M19 P parameter word. Desired spindle rotation mode. Reflects M19 P parameter word.
.TP .TP
\fBmotion.spindle\-orient\fR OUT BIT \fBmotion.spindle-orient\fR OUT BIT
Indicates start of spindle orient cycle. Set by M19. Cleared by any of M3,M4,M5. Indicates start of spindle orient cycle. Set by M19. Cleared by any of M3,M4,M5.
If spindle\-orient\-fault is not zero during spindle\-orient true, the M19 command fails with an error message. If spindle-orient-fault is not zero during spindle-orient true, the M19 command fails with an error message.
.TP .TP
\fBmotion.spindle\-is\-oriented\fR IN BIT \fBmotion.spindle-is-oriented\fR IN BIT
Acknowledge pin for spindle\-orient. Completes orient cycle. If spindle\-orient was true when spindle\-is\-oriented Acknowledge pin for spindle-orient. Completes orient cycle. If spindle-orient was true when spindle-is-oriented
was asserted, the spindle\-orient pin is cleared and the spindle\-locked pin is asserted. Also, the spindle\-brake pin is asserted. was asserted, the spindle-orient pin is cleared and the spindle-locked pin is asserted. Also, the spindle-brake pin is asserted.
.TP .TP
\fBmotion.spindle\-orient\-fault\fR IN S32 \fBmotion.spindle-orient-fault\fR IN S32
Fault code input for orient cycle. Any value other than zero will cause the orient cycle to abort. Fault code input for orient cycle. Any value other than zero will cause the orient cycle to abort.
.TP .TP
\fBmotion.spindle\-locked\fR OUT BIT \fBmotion.spindle-locked\fR OUT BIT
Spindle orient complete pin. Cleared by any of M3,M4,M5. Spindle orient complete pin. Cleared by any of M3,M4,M5.
.TP .TP
\fBmotion.teleop\-mode\fR OUT bit \fBmotion.teleop-mode\fR OUT bit
.TP .TP
\fBmotion.tooloffset.x\fR OUT FLOAT \fBmotion.tooloffset.x\fR OUT FLOAT
@ -294,49 +289,49 @@ Many of the pins below serve as debugging aids, and are subject to change or rem
TRUE when this joint is active TRUE when this joint is active
.TP .TP
\fBaxis.\fIN\fB.backlash\-corr\fR OUT FLOAT \fBaxis.\fIN\fB.backlash-corr\fR OUT FLOAT
Backlash or screw compensation raw value Backlash or screw compensation raw value
.TP .TP
\fBaxis.\fIN\fB.backlash\-filt\fR OUT FLOAT \fBaxis.\fIN\fB.backlash-filt\fR OUT FLOAT
Backlash or screw compensation filtered value (respecting motion limits) Backlash or screw compensation filtered value (respecting motion limits)
.TP .TP
\fBaxis.\fIN\fB.backlash\-vel\fR OUT FLOAT \fBaxis.\fIN\fB.backlash-vel\fR OUT FLOAT
Backlash or screw compensation velocity Backlash or screw compensation velocity
.TP .TP
\fBaxis.\fIN\fB.coarse\-pos\-cmd\fR OUT FLOAT \fBaxis.\fIN\fB.coarse-pos-cmd\fR OUT FLOAT
.TP .TP
\fBaxis.\fIN\fB.error\fR OUT BIT \fBaxis.\fIN\fB.error\fR OUT BIT
TRUE when this joint has encountered an error, such as a limit switch closing TRUE when this joint has encountered an error, such as a limit switch closing
.TP .TP
\fBaxis.\fIN\fB.f\-error\fR OUT FLOAT \fBaxis.\fIN\fB.f-error\fR OUT FLOAT
The actual following error The actual following error
.TP .TP
\fBaxis.\fIN\fB.f\-error\-lim\fR OUT FLOAT \fBaxis.\fIN\fB.f-error-lim\fR OUT FLOAT
The following error limit The following error limit
.TP .TP
\fBaxis.\fIN\fB.f\-errored\fR OUT BIT \fBaxis.\fIN\fB.f-errored\fR OUT BIT
TRUE when this joint has exceeded the following error limit TRUE when this joint has exceeded the following error limit
.TP .TP
\fBaxis.\fIN\fB.faulted\fR OUT BIT \fBaxis.\fIN\fB.faulted\fR OUT BIT
.TP .TP
\fBaxis.\fIN\fB.free\-pos\-cmd\fR OUT FLOAT \fBaxis.\fIN\fB.free-pos-cmd\fR OUT FLOAT
The "free planner" commanded position for this joint. The "free planner" commanded position for this joint.
.TP .TP
\fBaxis.\fIN\fB.free\-tp\-enable\fR OUT BIT \fBaxis.\fIN\fB.free-tp-enable\fR OUT BIT
TRUE when the "free planner" is enabled for this joint TRUE when the "free planner" is enabled for this joint
.TP .TP
\fBaxis.\fIN\fB.free\-vel\-lim\fR OUT FLOAT \fBaxis.\fIN\fB.free-vel-lim\fR OUT FLOAT
The velocity limit for the free planner The velocity limit for the free planner
.TP .TP
@ -344,39 +339,37 @@ The velocity limit for the free planner
TRUE if the joint has been homed TRUE if the joint has been homed
.TP .TP
\fBaxis.\fIN\fB.in\-position\fR OUT BIT \fBaxis.\fIN\fB.in-position\fR OUT BIT
TRUE if the joint is using the "free planner" and has come to a stop TRUE if the joint is using the "free planner" and has come to a stop
.TP .TP
\fBaxis.\fIN\fB.joint\-vel\-cmd\fR OUT FLOAT \fBaxis.\fIN\fB.joint-vel-cmd\fR OUT FLOAT
The joint's commanded velocity The joint's commanded velocity
.TP .TP
\fBaxis.\fIN\fB.kb\-jog\-active\fR OUT BIT \fBaxis.\fIN\fB.kb-jog-active\fR OUT BIT
.TP .TP
\fBaxis.\fIN\fB.neg\-hard\-limit\fR OUT BIT \fBaxis.\fIN\fB.neg-hard-limit\fR OUT BIT
The negative hard limit for the joint The negative hard limit for the joint
.TP .TP
\fBaxis.\fIN\fB.pos\-hard\-limit\fR OUT BIT \fBaxis.\fIN\fB.pos-hard-limit\fR OUT BIT
The positive hard limit for the joint The positive hard limit for the joint
.TP .TP
\fBaxis.\fIN\fB.wheel\-jog\-active\fR OUT BIT \fBaxis.\fIN\fB.wheel-jog-active\fR OUT BIT
.TP .TP
\fBmotion.motion\-enabled\fR OUT BIT \fBmotion.motion-enabled\fR OUT BIT
.TP .TP
\fBmotion.motion\-type\fR OUT S32 \fBmotion.motion-type\fR OUT S32
These values are from src/emc/nml_intf/motion_types.h These values are from src/emc/nml_intf/motion_types.h
.RS .RS
.RS .RS
.TP .TP
0: Idle (no motion)
.P
1: Traverse 1: Traverse
.P .P
2: Linear feed 2: Linear feed
@ -392,14 +385,14 @@ These values are from src/emc/nml_intf/motion_types.h
.RE .RE
.TP .TP
\fBmotion.on\-soft\-limit\fR OUT BIT \fBmotion.on-soft-limit\fR OUT BIT
.TP .TP
\fBmotion.program\-line\fR OUT S32 \fBmotion.program-line\fR OUT S32
.TP .TP
\fBmotion.teleop\-mode\fR OUT BIT \fBmotion.teleop-mode\fR OUT BIT
TRUE when motion is in "teleop mode", as opposed to "coordinated mode" TRUE when motion is in "teleop mode", as opposed to "coordinated mode"
@ -408,23 +401,23 @@ TRUE when motion is in "teleop mode", as opposed to "coordinated mode"
Many of the parameters serve as debugging aids, and are subject to change or removal at any time. Many of the parameters serve as debugging aids, and are subject to change or removal at any time.
.TP .TP
\fBmotion\-command\-handler.time\fR \fBmotion-command-handler.time\fR
.TQ .TQ
\fBmotion\-command\-handler.tmax\fR \fBmotion-command-handler.tmax\fR
.TQ .TQ
\fBmotion\-controller.time\fR \fBmotion-controller.time\fR
.TQ .TQ
\fBmotion\-controller.tmax\fR \fBmotion-controller.tmax\fR
Show information about the execution time of these HAL functions in CPU cycles Show information about the execution time of these HAL functions in CPU cycles
.TP .TP
\fBmotion.debug\-\fI*\fR \fBmotion.debug-\fI*\fR
These values are used for debugging purposes. These values are used for debugging purposes.
.TP .TP
\fBmotion.servo.last\-period\fR \fBmotion.servo.last-period\fR
The number of CPU cycles between invocations of the servo thread. Typically, this number divided by the CPU speed gives the time in seconds, and can be used to determine whether the realtime motion controller is meeting its timing constraints The number of CPU cycles between invocations of the servo thread. Typically, this number divided by the CPU speed gives the time in seconds, and can be used to determine whether the realtime motion controller is meeting its timing constraints
.SH FUNCTIONS .SH FUNCTIONS
@ -432,11 +425,11 @@ The number of CPU cycles between invocations of the servo thread. Typically, thi
Generally, these functions are both added to the servo-thread in the order shown. Generally, these functions are both added to the servo-thread in the order shown.
.TP .TP
\fBmotion\-command\-handler\fR \fBmotion-command-handler\fR
Processes motion commands coming from user space Processes motion commands coming from user space
.TP .TP
\fBmotion\-controller\fR \fBmotion-controller\fR
Runs the LinuxCNC motion controller Runs the LinuxCNC motion controller
.SH BUGS .SH BUGS

Some files were not shown because too many files have changed in this diff Show more