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
position.txt
*.9
*.glade.h

View file

@ -1 +1 @@
2.7.14
2.7.8

View file

@ -22,7 +22,7 @@
<child>
<object class="HAL_Button" id="hal_button1">
<property name="label" translatable="yes"> Pass speed as
parameter in MDI
paramter in MDI
command</property>
<property name="visible">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
usually it will be parport0
usually it will be paraport0
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.
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
existing _user_ configurations in ~/linuxcnc/configs and the
existing _user_ configurations in ~linuxcnc/configs and the
distribution's root/configs directory. It presents both
existing user configurations and sample configurations.
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]
;
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.
o twopass_compat
verify compatibility with .hal halfiles
verify compatibilty with .hal halfiles
o twopass_demo
use single haltcl file with

View file

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

View file

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

View file

@ -117,7 +117,7 @@ _compat = {
emccanon.CANON_PLANE_VW : (("u","r"),_xyz,"VW"),
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
# export the parameters into the oword procedure
def cycle_prolog(self,**words):

295
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
* 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
* gantry comp: fix typo in docs
* 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
* shuttlexpress: clean up the manpage & asciidocs
@ -1238,7 +947,7 @@ linuxcnc (1:2.6.12) unstable; urgency=low
* tests: test homing in halui/jogging
* tests: add a motion-logger test of a remap bug
* 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)
-- Sebastian Kuzminsky <seb@highlab.com> Sun, 10 Jan 2016 10:07:09 -0700

9
debian/configure vendored
View file

@ -91,7 +91,6 @@ else
fi
PYTHON_PACKAGING=dh_pysupport
PYTHON_GST=python-gst0.10,gstreamer0.10-plugins-base
case $DISTRIB_NAME in
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
TCLTK_VERSION=8.6
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.*)
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|@TCLTK_VERSION@|$TCLTK_VERSION|g" \
-e "s|@PYTHON_VERSION_NEXT@|$PYTHON_VERSION_NEXT|g" \
-e "s|@PYTHON_GST@|$PYTHON_GST|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-spanish, texlive-lang-german, netcat,
libmodbus-dev (>= 3.0), libusb-1.0-0-dev, procps, psmisc,
graphviz, inkscape,
intltool,
desktop-file-utils,
graphviz, inkscape
Standards-Version: 2.1.0
Package: @MAIN_PACKAGE_NAME@-dev
@ -28,7 +26,7 @@ Depends: g++, @KERNEL_HEADERS@,
@MAIN_PACKAGE_NAME@ (= ${binary:Version}),
yapps2-runtime
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
provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.).
@ -52,11 +50,11 @@ Depends: ${shlibs:Depends}, @KERNEL_DEPENDS@,
python@PYTHON_VERSION@-imaging-tk | python-imaging-tk,
python-gtksourceview2,
python-vte,
@PYTHON_GST@,
python-gst0.10, gstreamer0.10-plugins-base,
python-xlib, python-gtkglext1, python-configobj,
tclreadline, procps, psmisc, module-init-tools | kmod, tclx,
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
provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.).
@ -66,7 +64,7 @@ Provides: linuxcnc-doc
Architecture: all
Depends: ${misc:Depends}
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
provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.).
@ -78,7 +76,7 @@ Provides: linuxcnc-doc
Architecture: all
Depends: ${misc:Depends}
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
provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.).
@ -90,7 +88,7 @@ Provides: linuxcnc-doc
Architecture: all
Depends: ${misc:Depends}
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
provides motion control for CNC machine tools and robotic
applications (milling, cutting, routing, etc.).

134
debian/copyright vendored
View file

@ -1,8 +1,21 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: LinuxCNC
Upstream-Contact: emc-developers@lists.sourceforge.net
Source: https://github.com/linuxcnc/linuxcnc
Comment:
This package was debianized by Alex Joni on
Sat, 01 Jan 2006,
also debianized by Paul Corner on
Thur, 14 Oct 2004
Copyright:
LinuxCNC 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.
****************************************************************
Notice: Most of LinuxCNC is covered by the GNU General Public
License. Some portions are covered by the GNU Lesser
General Public License (mostly interface definitions).
Both licenses are included in their entirety below.
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
@ -10,112 +23,7 @@ Comment:
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: the LinuxCNC developers
License: GPL-2+
******************************************************************
Files: src/hal/classicladder/*
Copyright: the LinuxCNC developers
License: LGPL-2.1+
Files: src/hal/utils/yapps.py
Copyright: 1999-2003 Amit J. Patel <amitp@cs.stanford.edu>
License: MIT
Files: src/libnml/*
Copyright: the LinuxCNC developers
License: LGPL-2
Files: src/libnml/inifile*
Copyright: the LinuxCNC developers
License: GPL-2
Files: src/rtapi/*
Copyright: the LinuxCNC developers
License: LGPL-2.1+
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; 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.
The complete text of GPL version 2 can be found in the file
/usr/share/common-licenses/GPL-2 on Debian systems.

View file

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

View file

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

View file

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

View file

@ -1,5 +1,6 @@
[Desktop Entry]
Version=1.0
Version=
Encoding=UTF-8
Name=French Getting Started Guide
Type=Application
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
StartupNotify=false
Categories=X-CNC;
Keywords=cnc;linuxcnc;
GenericName[en_US]=

View file

@ -1,5 +1,6 @@
[Desktop Entry]
Version=1.0
Version=
Encoding=UTF-8
Name=Getting Started Guide
Type=Application
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
StartupNotify=false
Categories=X-CNC;
Keywords=cnc;linuxcnc;
GenericName[en_US]=

View file

@ -1,5 +1,6 @@
[Desktop Entry]
Version=1.0
Version=
Encoding=UTF-8
Name=French HAL Manual
Type=Application
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.
StartupNotify=false
Categories=X-CNC;
Keywords=cnc;linuxcnc;
GenericName[en_US]=

View file

@ -1,12 +1,14 @@
[Desktop Entry]
Version=1.0
Version=
Encoding=UTF-8
Name=French Integrator Manual
Type=Application
Exec=/usr/bin/see /usr/share/doc/linuxcnc/LinuxCNC_Integrator_Manual_fr.pdf
Icon=linuxcncicon
X-GNOME-DocPath=
Terminal=false
Comment=Installation and Configuration Manual (French)
Comment=Configuration Information
StartupNotify=false
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]
Version=1.0
Encoding=UTF-8
Version=
Type=Application
Exec=/usr/bin/latency-test
Icon=linuxcncicon
@ -9,4 +10,3 @@ Name=Latency Test
Comment=Test your computers's latency
StartupNotify=false
Categories=X-CNC;
Keywords=cnc;linuxcnc;

View file

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

View file

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

View file

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

View file

@ -1,5 +1,6 @@
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Version=
Type=Application
Exec=/usr/bin/linuxcnc
Icon=linuxcncicon
@ -9,4 +10,3 @@ Name=LinuxCNC
Comment=Configuration Launcher
StartupNotify=false
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_Manual_Pages.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
dh_testdir
dh_testroot
dh_prep
dh_clean -k
dh_installdirs
# start the install
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 src; export DESTDIR=`pwd`/../debian/tmp; $(MAKE) $@)
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
NOTE TIP IMPORTANT WARNING CAUTION
Tables
======
[options="header, width="80%"]
|=======
|1 |2 |A
|3 |4 |B
|5 |6 |C
|=======
Escaping a character
====================
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><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><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><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><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/
cat9/
man1/hy_gt_vfd.1
man1/linuxcnc.1
man9/abs.9

View file

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

View file

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

View file

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

View file

@ -23,53 +23,53 @@
.SH NAME
gladevcp \- Virtual Control Panel for LinuxCNC based on Glade, Gtk and HAL widgets
.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
.TP
\fB\-g\fR \fIWxH+X+Y\fR
\fB-g\fR \fIWxH+X+Y\fR
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.
Size / position use pixel units. Position is referenced from top left.
.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
not specified, the basename of the ui file is used.\fR
.TP
\fB\-u\fR \fIhandler\fR
\fB-u\fR \fIhandler\fR
Instructs gladevcp to inspect the Python script \fIhandler\fR for event handlers,
and connect them to signals in the ui file.\fR
.TP
\fB\-U\fR \fIuseroption\fR
\fB-U\fR \fIuseroption\fR
gladevcp collects all \fIuseroption\fR strings and passes them to the handler init()
method as a list of strings without further inspection.\fR
.TP
\fB\-x\fR \fIXID\fR
\fB-x\fR \fIXID\fR
Reparent gladevcp into an existing window \fIXID\fR instead of
creating a new top level window.\fR
.TP
\fB\-H\fR \fIhalfile\fR
gladevcp runs \fIhalfile\fR - a list of HAL commands - by executing \fIhalcmd \-c halfile\fR
\fB-H\fR \fIhalfile\fR
gladevcp runs \fIhalfile\fR - a list of HAL commands - by executing \fIhalcmd -c halfile\fR
after the HAL component is finalized.\fR
.TP
\fB\-d\fR
\fB-d\fR
enable debug output.
.TP
\fB\-R\fR \fIgtkrcfile\fR
\fB-R\fR \fIgtkrcfile\fR
explicitly load a gtkrc file.\fR
.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.
.TP
\fB\-m\fR \fIMAXIMUM\fR
force panel window to maxumize. Together with the \fI\-g geometry\fR option
\fB-m\fR \fIMAXIMUM\fR
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
.TP
\fB\-R\fR
\fB-R\fR
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.

View file

@ -26,7 +26,7 @@
.TH gs2_vfd "1" "January 1, 2009" "GS2 VFD" "LinuxCNC Documentation"
.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
.B gs2_vfd
@ -42,44 +42,44 @@ component. This component reads and writes to the GS2 via a modbus connection.
.SH OPTIONS
.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
.B
.IP \-d,\ \-\-device\ <path>
.IP -d,\ --device\ <path>
(default /dev/ttyS0) Set the name of the serial device node to use.
.B
.IP \-v,\ \-\-verbose
.IP -v,\ --verbose
Turn on verbose mode.
.B
.IP \-g,\ \-\-debug
.IP -g,\ --debug
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
in hex on the terminal.
.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>.
.B
.IP \-p,\ \-\-parity\ [even,odd,none]
.IP -p,\ --parity\ [even,odd,none]
(default odd) Set serial parity to even, odd, or none.
.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
.B
.IP \-s,\ \-\-stopbits\ [1,2]
.IP -s,\ --stopbits\ [1,2]
(default 1) Set serial stop bits to 1 or 2
.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.
.B
.IP \-A,\ \-\-accel\-seconds\ <n>
.IP -A,\ --accel-seconds\ <n>
(default 10.0) Seconds to accelerate the spindle from 0 to Max RPM.
.B
.IP \-D,\ \-\-decel\-seconds\ <n>
.IP -D,\ --decel-seconds\ <n>
(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
controlled deceleration.
.B
.IP \-R,\ \-\-braking\-resistor
.IP -R,\ --braking-resistor
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
over-voltage stall prevention (see GS2 modbus Parameter 6.05), allowing
@ -90,74 +90,74 @@ braking resistor.
.SH PINS
.B
.IP <name>.DC\-bus\-volts\ (float,\ out)
.IP <name>.DC-bus-volts\ (float,\ out)
from the VFD
.B
.IP <name>.at\-speed\ (bit,\ out)
.IP <name>.at-speed\ (bit,\ out)
when drive is at commanded speed
.B
.IP <name>.err\-reset\ (bit,\ in)
.IP <name>.err-reset\ (bit,\ in)
reset errors sent to VFD
.B
.IP <name>.firmware\-revision\ (s32,\ out)
.IP <name>.firmware-revision\ (s32,\ out)
from the VFD
.B
.IP <name>.frequency\-command\ (float,\ out)
.IP <name>.frequency-command\ (float,\ out)
from the VFD
.B
.IP <name>.frequency\-out\ (float,\ out)
.IP <name>.frequency-out\ (float,\ out)
from the VFD
.B
.IP <name>.is\-stopped\ (bit,\ out)
.IP <name>.is-stopped\ (bit,\ out)
when the VFD reports 0 Hz output
.B
.IP <name>.load\-percentage\ (float,\ out)
.IP <name>.load-percentage\ (float,\ out)
from the VFD
.B
.IP <name>.motor\-RPM\ (float,\ out)
.IP <name>.motor-RPM\ (float,\ out)
from the VFD
.B
.IP <name>.output\-current\ (float,\ out)
.IP <name>.output-current\ (float,\ out)
from the VFD
.B
.IP <name>.output\-voltage\ (float,\ out)
.IP <name>.output-voltage\ (float,\ out)
from the VFD
.B
.IP <name>.power\-factor\ (float,\ out)
.IP <name>.power-factor\ (float,\ out)
from the VFD
.B
.IP <name>.scale\-frequency\ (float,\ out)
.IP <name>.scale-frequency\ (float,\ out)
from the VFD
.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
.B
.IP <name>.spindle\-fwd\ (bit,\ in)
.IP <name>.spindle-fwd\ (bit,\ in)
1 for FWD and 0 for REV sent to VFD
.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
.B
.IP <name>.spindle\-rev\ (bit,\ in)
.IP <name>.spindle-rev\ (bit,\ in)
1 for ON and 0 for OFF, only on when running
.B
.IP <name>.status\-1\ (s32,\ out)
.IP <name>.status-1\ (s32,\ out)
Drive Status of the VFD (see the GS2 manual)
.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).
.SH PARAMETERS
.B
.IP <name>.error\-count\ (s32,\ RW)
.IP <name>.error-count\ (s32,\ RW)
.B
.IP <name>.loop\-time\ (float,\ RW)
.IP <name>.loop-time\ (float,\ RW)
how often the modbus is polled (default 0.1)
.B
.IP <name>.nameplate\-HZ\ (float,\ RW)
.IP <name>.nameplate-HZ\ (float,\ RW)
Nameplate Hz of motor (default 60)
.B
.IP <name>.nameplate\-RPM\ (float,\ RW)
.IP <name>.nameplate-RPM\ (float,\ RW)
Nameplate RPM of motor (default 1730)
.B
.IP <name>.retval\ (s32,\ RW)
@ -166,8 +166,8 @@ the return value of an error in HAL
.IP <name>.tolerance\ (float,\ RW)
speed tolerance (default 0.01)
.B
.IP <name>.ack\-delay\ (s32,\ RW)
number of read/write cycles before checking at\-speed (default 2)
.IP <name>.ack-delay\ (s32,\ RW)
number of read/write cycles before checking at-speed (default 2)
.SH SEE ALSO
\fIGS2 Driver\fR in the LinuxCNC documentation for a full description of the \fBGS2\fR syntax

View file

@ -7,7 +7,7 @@
.SH NAME
hal_input \- control HAL pins with any Linux input device, including USB HID devices
.SH SYNOPSIS
\fIloadusr\fR \fBhal_input\fR \fI[\-KRAL] inputspec ...\fR
\fIloadusr\fR \fBhal_input\fR \fI[-KRAL] inputspec ...\fR
.SH DESCRIPTION
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
@ -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
\fIinputspec\fR is used. Any number of \fIinputspec\fRs may be used.
.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
feature to \fBinclude\fR. Features that are not specified are excluded.
For instance, to export keyboard LEDs to HAL without exporting keys, use
.RS 12
hal_input \-L \fIkeyboard\fR ...
hal_input -L \fIkeyboard\fR ...
.RE
.SH DEVICE FEATURES SUPPORTED
.IP \(bu 4
EV_KEY (buttons and keys). Subset \-K
EV_KEY (buttons and keys). Subset -K
.IP \(bu 4
EV_ABS (absolute analog inputs). Subset \-A
EV_ABS (absolute analog inputs). Subset -A
.IP \(bu 4
EV_REL (relative analog inputs). Subset \-R
EV_REL (relative analog inputs). Subset -R
.IP \(bu 4
EV_LED (LED outputs). Subset \-L
EV_LED (LED outputs). Subset -L
.SH HAL PINS AND PARAMETERS
.SS For buttons
.TP
.B input.\fIN\fB.btn\-\fIname\fR bit out
.B input.\fIN\fB.btn-\fIname\fR bit out
.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.
.SS For keys
.TP
.B input.\fIN\fB.key\-\fIname\fB
.B input.\fIN\fB.key-\fIname\fB
.TQ
.B input.\fIN\fB.key\-\fIname\fB\-not
.B input.\fIN\fB.key-\fIname\fB-not
Created for each key on the device.
.SS For absolute axes
.TP
.B input.\fIN\fB.abs\-\fIname\fB\-counts\fR s32 out
.B input.\fIN\fB.abs-\fIname\fB-counts\fR s32 out
.TQ
.B input.\fIN\fB.abs\-\fIname\fB\-position\fR float out
.B input.\fIN\fB.abs-\fIname\fB-position\fR float out
.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
.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
.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
.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
.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
.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
\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
\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
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
system. The values of \fBmin\fR and \fBmax\fR are those reported by the
operating system.
.SS For relative axes
.TP
.B input.\fIN\fB.rel\-\fIname\fB\-counts\fR s32 out
.B input.\fIN\fB.rel-\fIname\fB-counts\fR s32 out
.TQ
.B input.\fIN\fB.rel\-\fIname\fB\-position\fR float out
.B input.\fIN\fB.rel-\fIname\fB-position\fR float out
.TQ
.B input.\fIN\fB.rel\-\fIname\fB\-reset\fR bit in
.B input.\fIN\fB.rel-\fIname\fB-reset\fR bit in
.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
.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
.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
.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,
\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
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
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
@ -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.
.SS For LEDs
.TP
.B input.\fIN\fB.led\-\fIname\fR bit out
.B input.\fIN\fB.led-\fIname\fR bit out
.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.
.SH PERMISSIONS AND UDEV
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.
.SH OPTIONS
.TP
\fB\-I\fR
\fB-I\fR
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.
.TP
\fB\\-f\fR [\fIfile\fR]
\fB\-f\fR [\fIfile\fR]
Ignore commands on command line, take input from \fIfile\fR
instead. If \fIfile\fR is not specified, take input from
\fIstdin\fR.
.TP
\fB\-i \fIinifile\fR
\fB-i \fIinifile\fR
Use variables from \fIinifile\fR for substitutions. See \fBSUBSTITUTION\fR
below.
.TP
\fB\\-k\fR
\fB\-k\fR
Keep going after failed command(s). The default is to stop
and return failure if any command fails.
.TP
\fB\\-q\fR
\fB\-q\fR
display errors only (default)
.TP
\fB\\-Q\fR
\fB\-Q\fR
display nothing, execute commands silently
.TP
\fB\\-s\fR
\fB\-s\fR
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
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
a list of pins connected to the signal, showing both the direction and the pin name.
.TP
\fB\-R\fR
\fB-R\fR
Release the HAL mutex. This is useful for recovering when a HAL component has crashed
while holding the HAL mutex.
.TP
\fB\\-v\fR
\fB\-v\fR
display results of each command
.TP
\fB\\-V\fR
\fB\-V\fR
display lots of debugging junk
.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
.SH COMMANDS
Commands tell \fBhalcmd\fR what to do. Normally \fBhalcmd\fR
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.
Anything following '\fB#\fR' on a line is a comment.
.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:
.RS
.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.
.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.
.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
\fB\-i\fR to ignore the program return value (with \-w)
\fB-i\fR to ignore the program return value (with -w)
.RE
.TP
\fBwaitusr\fR \fIname\fR
(\fIwait\fR for \fIUs\fRe\fIr\fRspace component) Waits for user
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
before cleaning up and exiting.
.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",
"\fBsig\fR" (signals), "\fBparam\fR" (parameters), "\fBfunct\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.
.TP
\fBitem\fR
@ -289,7 +289,7 @@ This is equivalent to \fBshow all [item]\fR.
\fBsave\fR [\fIitem\fR]
Prints HAL items to \fIstdout\fR in the form of HAL commands.
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:
"\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
'shell glob'.
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
are restricted to the given data type
Names are printed on a single line, space separated.
@ -385,7 +385,7 @@ Environment variables have the following formats:
\fB$(ENVVAR)\fR
.SS Inifile Variables
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
\fB[SECTION]VAR\fR followed by end-of-line or whitespace
.IP

View file

@ -29,39 +29,39 @@ halcompile \- Build, compile and install LinuxCNC HAL components
.PD 0
.RS 5
.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
.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
.PP
\fBhalcompile\fR \fB\-\-compile\fR \fB\-\-userspace\fR cfile...
\fBhalcompile\fR \fB--compile\fR \fB--userspace\fR cfile...
.RE
.PP
\fIsudo\fR \fBhalcompile\fR \fB\-\-install\fR \fB\-\-userspace\fR cfile...
\fIsudo\fR \fBhalcompile\fR \fB--install\fR \fB--userspace\fR cfile...
.PP
\fIsudo\fR \fBhalcompile\fR \fB\-\-install\fR \fB\-\-userspace\fR pyfile...
\fIsudo\fR \fBhalcompile\fR \fB--install\fR \fB--userspace\fR pyfile...
.PD
.SH DESCRIPTION
\fBhalcompile\fR performs many different functions:
.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
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
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
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
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
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
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
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
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"
\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
.SH SYNOPSIS
.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
\fBhalmeter\fR is used to observe HAL (Hardware Abstraction
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
window starts out blank and the user must select an item to observe.
.TP
\fB\\-s\fR
\fB\-s\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
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.
.TP
\fB\\-g\fR
geometry position. allows one to specify the initial starting position
\fB\-g\fR
geometry position. allows one to specify the intial starting position
and optionally the width of the meter. Referenced from top left of screen
in pixel units.
Handy when you want to load a lot of meters in a script with out them
displaying on top of each other.
.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)
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
free for other commands.
.TP
\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.
\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.
The "Select" button can be used to display other items. Runs in background.
.TP
\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.
\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.
The displayed item cannot be changed. Runs in background.
.TP
\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.
\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.
places it 100 pixels to the left and 500 pixels down from top of screen.
The displayed item cannot be changed. Runs in background.
.TP
\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.
\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.
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 displayed item cannot be changed. Runs in background.

View file

@ -31,13 +31,13 @@
.SH NAME
halrun \- manipulate the LinuxCNC HAL from the command line
.SH SYNOPSIS
.B halrun \fI\-h\fR
.B halrun \fI-h\fR
.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
.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
.B halrun \fI\-U\fR
.B halrun \fI-U\fR
.SH DESCRIPTION
\fBhalrun\fR is a convenience script used to manipulate the HAL (Hardware
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.
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.
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
interpreter corresponding to the filename extension (\fBhalcmd\fR
or \fBhaltcl\fR). After processing, the realtime environment
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
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
.TP
\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).
When a .tcl file is specified, the only valid options are:
\-i inifile
\-f filename[.tcl|.hal] (alternate means of specifying a file)
-i inifile
-f filename[.tcl|.hal] (alternate means of specifying a file)
.TP
\fB\-I\fR
\fB-I\fR
Run an interactive \fBhalcmd\fR session
.TP
\fB\-T\fR
\fB-T\fR
Run an interactive \fBhaltcl\fR session.
.TP
\fB\-U\fR
\fB-U\fR
Forcibly cause the realtime environment to exit. It releases the HAL mutex,
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
\fB\\-h\fR
\fB\-h\fR
display a brief help screen and exit
.SH EXAMPLES
.SH HISTORY

View file

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

View file

@ -44,7 +44,7 @@ can write it to the HAL pins.
.SH OPTIONS
.TP
.BI "\-c " CHAN
.BI "-c " CHAN
instructs
.B halstreamer
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
order and separated by whitespace. Floats must be formatted as required by
.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)
and
.BR strtoul (3),

View file

@ -30,10 +30,10 @@
.TH HALTCL "1" "2012-01-31" "LinuxCNC Documentation" "HAL User's Manual"
.SH NAME
haltcl \- manipulate the LinuxCNC HAL from the command line using a tcl
interpreter.
interpeter.
.SH SYNOPSIS
.B haltcl [\fI\-i inifile\fR] [\fIfilename\fR\]
.B haltcl [\fI-i inifile\fR] [\fIfilename\fR\]
.PP
.SH DESCRIPTION
@ -44,7 +44,7 @@ complex HAL configurations to be set up with a single command.
.SH OPTIONS
.TP
\fB\-i\fR \fIinifile\fR
\fB-i\fR \fIinifile\fR
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
elements for each ITEM in the section.
@ -59,7 +59,7 @@ elements for each ITEM in the section.
SECTION_A(ITEM_2) = 2
SECTION_B(ITEM_1) = 10
.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
\fBfilename\fR
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 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

View file

@ -28,14 +28,14 @@
halui \- observe HAL pins and command LinuxCNC through NML
.SH SYNOPSIS
.B halui
[\fB\-ini <path-to-ini>\fR]
[\fB-ini <path-to-ini>\fR]
.SH DESCRIPTION
\fBhalui\fR is used to build a User Interface using hardware knobs
and switches. It exports a big number of pins, and acts accordingly
when these change.
.SH OPTIONS
.TP
\fB\-ini name\fR
\fB-ini name\fR
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
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
.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
.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
.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
.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
.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
.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
.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
.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
.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
.TP
.B halui.tool.number\fR u32 out \fR
@ -87,13 +87,13 @@ current selected tool
.SS spindle
.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
.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
.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
.TP
.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
a rising edge on this pin increases the current spindle speed by 100
.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
.TP
.B halui.spindle.reverse\fR bit in \fR
a rising edge on this pin makes the spindle go reverse
.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
.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
.TP
.B halui.spindle.start\fR bit in \fR
@ -125,54 +125,54 @@ a rising edge on this pin stops the spindle
.SS spindle override
.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.
.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
.TP
.B halui.spindle\-override.decrease\fR bit in \fR
pin for decreasing the SO (\-=scale)
.B halui.spindle-override.decrease\fR bit in \fR
pin for decreasing the SO (-=scale)
.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
.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)
.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
.TP
.B halui.spindle\-override.value\fR float out \fR
.B halui.spindle-override.value\fR float out \fR
current FO value
.SS program
.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
.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
.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
.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
.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
.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
.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
.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
.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
.TP
.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
pin for requesting auto mode
.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
.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
.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
.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
.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
.TP
.B halui.mode.joint\fR bit in \fR
@ -225,16 +225,16 @@ pin for requesting coordinated jog mode
.SS mdi \fR(optional)
.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
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
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
.TP
.B halui.mist.is\-on\fR bit out \fR
.B halui.mist.is-on\fR bit out \fR
pin for mist is on
.TP
.B halui.mist.off\fR bit in \fR
@ -243,45 +243,32 @@ pin for stopping mist
.B halui.mist.on\fR bit in \fR
pin for starting mist
.SS max\-velocity
.SS max-velocity
.TP
.B halui.max\-velocity.count\-enable\fR bit in \fR (default: \fBTRUE\fR)
When True, modify max velocity when halui.max\-velocity.counts changes.
.B halui.max-velocity.count-enable\fR bit in \fR (default: \fBTRUE\fR)
When TRUE, modify max velocity when counts changes.
.TP
.B halui.max\-velocity.counts\fR s32 in \fR
When .count\-enable is True, halui changes the max velocity in response
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.
.B halui.max-velocity.counts\fR s32 in \fR
counts from an encoder for example to change maximum velocity
.TP
.B halui.max\-velocity.direct\-value\fR bit in \fR
When this pin is True, halui commands the max velocity directly to
(.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).
.B halui.max-velocity.decrease\fR bit in \fR
pin for decreasing the maximum velocity (-=scale)
.TP
.B halui.max\-velocity.increase\fR bit in \fR
A positive edge (a False to True transition) on this pin increases the
max velocity by the value of the .scale pin. (Note that halui always
responds to this pin, independent of the .count\-enable pin.)
.B halui.max-velocity.direct-value\fR bit in \fR
pin for using a direct value for max velocity
.TP
.B halui.max\-velocity.decrease\fR bit in \fR
A positive edge (a False to True transition) on this pin decreases the
max velocity by the value of the .scale pin. (Note that halui always
responds to this pin, independent of the .count\-enable pin.)
.B halui.max-velocity.increase\fR bit in \fR
pin for increasing the maximum velocity (+=scale)
.TP
.B halui.max\-velocity.scale\fR float in \fR
This pin controls the scale of changes to the max velocity. Each unit
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.
.B halui.max-velocity.scale\fR float in \fR
pin for setting the scale on changing the maximum velocity
.TP
.B halui.max\-velocity.value\fR float out \fR
Current value for maximum velocity, in machine\-units per second.
.B halui.max-velocity.value\fR float out \fR
Current value for maximum velocity
.SS machine
.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
.TP
.B halui.machine.off\fR bit in \fR
@ -292,7 +279,7 @@ pin for setting machine On
.SS lube
.TP
.B halui.lube.is\-on\fR bit out \fR
.B halui.lube.is-on\fR bit out \fR
pin for lube is on
.TP
.B halui.lube.off\fR bit in \fR
@ -303,28 +290,28 @@ pin for starting lube
.SS joint
.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
.TP
.B halui.joint.N.home\fR bit in \fR
pin for homing joint N
.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
.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
.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
.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
.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
.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
.TP
.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
The number of the currently selected joint (default: joint 0).
.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
.TP
.B halui.joint.selected.home\fR bit in \fR
pin for homing the selected joint
.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
.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
.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
.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
.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
.TP
.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
pin for setting jog analog deadband (jog analog inputs smaller/slower than this are ignored)
.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.
.TP
.B halui.jog.N.analog\fR float in \fR
pin for jogging the axis N using an float value (e.g. joystick)
.TP
.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
.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
.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
.TP
.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
.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
.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
.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
.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
.TP
.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
.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
.TP
.B halui.flood.is\-on\fR bit out \fR
.B halui.flood.is-on\fR bit out \fR
pin for flood is on
.TP
.B halui.flood.off\fR bit in \fR
@ -417,48 +404,48 @@ pin for starting flood
.SS feed override
.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.
.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
.TP
.B halui.feed\-override.decrease\fR bit in \fR
pin for decreasing the FO (\-=scale)
.B halui.feed-override.decrease\fR bit in \fR
pin for decreasing the FO (-=scale)
.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
.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)
.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
.TP
.B halui.feed\-override.value\fR float out \fR
.B halui.feed-override.value\fR float out \fR
current Feed Override value
.SS rapid override
.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.
.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
.TP
.B halui.rapid\-override.decrease\fR bit in \fR
pin for decreasing the Rapid Override (\-=scale)
.B halui.rapid-override.decrease\fR bit in \fR
pin for decreasing the Rapid Override (-=scale)
.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
.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)
.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
.TP
.B halui.rapid\-override.value\fR float out \fR
.B halui.rapid-override.value\fR float out \fR
current Rapid Override value
.SS estop
@ -466,7 +453,7 @@ current Rapid Override value
.B halui.estop.activate\fR bit in \fR
pin for setting Estop (LinuxCNC internal) On
.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
.TP
.B halui.estop.reset\fR bit in \fR
@ -474,19 +461,19 @@ pin for resetting Estop (LinuxCNC internal) Off
.SS axis
.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
.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
.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
.SS home
.TP
.B halui.home\-all\fR bit in \fR
pin for requesting home\-all
.B halui.home-all\fR bit in \fR
pin for requesting home-all
(only available when a valid homing sequence is specified)
.SH "SEE ALSO"

View file

@ -25,7 +25,7 @@
.TH hy_vfd "1" "April 25, 2015" "Huanyang VFD" "LinuxCNC Documentation"
.SH NAME
\fBhy_vfd\fR \- HAL userspace component for Huanyang VFDs
\fBhy_vfd\fR - HAL userspace component for Huanyang VFDs
.SH SYNOPSIS
.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
port).
.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
.br
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.
This is the motor's maximum current, in Amps.
.B
.IP PD143
.br
Set register PD143 (Number of Motor Poles) according to motor name plate.
.B
.IP PD144
.br
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.
.SH OPTIONS
.B
.IP \-d,\ \-\-device\ <path>
.IP -d,\ --device\ <path>
(default /dev/ttyS0) Set the name of the serial device node to use.
.B
.IP \-g,\ \-\-debug
.IP -g,\ --debug
Turn on debug messages. Note that if there are serial errors, this may
become annoying. Debug mode will cause all serial communication messages
to be printed in hex on the terminal.
.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
set to <string>, and all pin and parameter names will begin with <string>.
.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. This must match the setting in register PD165 of the
Huanyang VFD.
.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
the setting in register PD165 of the Huanyang VFD.
.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. This must match the setting in register PD164 of
the Huanyang VFD.
.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
in register PD165 of the HuanyangVFD.
.B
.IP \-t,\ \-\-target\ <n>
.IP -t,\ --target\ <n>
(default 1) Set HYCOMM target (slave) number. This must match the device
number you set on the Hyanyang VFD in register PD163.
.B
.IP \-F,\ \-\-max\-frequency\ <n>
.IP -F,\ --max-frequency\ <n>
(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
in the hy_vfd driver). If not specified, read the max frequency to use
from register PD005 of the VFD.
.B
.IP \-f,\ \-\-min\-frequency\ <n>
.IP -f,\ --min-frequency\ <n>
(default: read from VFD) If specified, program register PD011 of the
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 to use from register PD011 of the VFD.
.B
.IP \-V,\ \-\-motor\-voltage\ <n>
.IP -V,\ --motor-voltage\ <n>
(default: read from VFD) If specified, program register PD141 of the VFD
with the specified max motor voltage of <n> Volts. If not specified,
read the max motor voltage from register PD141 of the VFD.
.B
.IP \-I,\ \-\-motor\-current\ <n>
.IP -I,\ --motor-current\ <n>
(default: read from VFD) If specified, program register PD142 of the
VFD with the specified max motor current of <n> Amps. If not specified,
read the max motor current from register PD142 of the VFD.
.B
.IP \-S,\ \-\-motor\-speed\ <n>
.IP -S,\ --motor-speed\ <n>
(default: compute from value read from VFD P144) This command-line
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
(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,
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.
.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
.B
.IP <name>.enable
@ -201,13 +186,13 @@ and reported on the corresponding HAL pin.
.IP <name>.Tmp
(float, out)
.B
.IP <name>.spindle\-forward
.IP <name>.spindle-forward
(bit, in)
.B
.IP <name>.spindle\-reverse
.IP <name>.spindle-reverse
(bin, in)
.B
.IP <name>.spindle\-on
.IP <name>.spindle-on
(bin, in)
.B
.IP <name>.CNTR
@ -216,78 +201,71 @@ and reported on the corresponding HAL pin.
.IP <name>.CNST
(float, out)
.B
.IP <name>.CNST\-run
.IP <name>.CNST-run
(bit, out)
.B
.IP <name>.CNST\-jog
.IP <name>.CNST-jog
(bit, out)
.B
.IP <name>.CNST\-command\-rf
.IP <name>.CNST-command-rf
(bit, out)
.B
.IP <name>.CNST\-running
.IP <name>.CNST-running
(bit, out)
.B
.IP <name>.CNST\-jogging
.IP <name>.CNST-jogging
(bit, out)
.B
.IP <name>.CNST\-running\-rf
.IP <name>.CNST-running-rf
(bit, out)
.B
.IP <name>.CNST\-bracking
.IP <name>.CNST-bracking
(bit, out)
.B
.IP <name>.CNST\-track\-start
.IP <name>.CNST-track-start
(bit, out)
.B
.IP <name>.speed\-command
.IP <name>.speed-command
(float, in)
.B
.IP <name>.spindle\-speed\-fb
.IP <name>.spindle-speed-fb
(float, out) Current spindle speed as reported by Huanyang VFD.
.B
.IP <name>.spindle\-at\-speed\-tolerance
.IP <name>.spindle-at-speed-tolerance
(float, in) Spindle speed error tolerance. If the actual spindle
speed is within .spindle\-at\-speed\-tolerance of the commanded speed,
then the .spindle\-at\-speed pin will go True. The
default .spindle\-at\-speed\-tolerance is 0.02, which means the actual
speed is within .spindle-at-speed-tolerance of the commanded speed,
then the .spindle-at-speed pin will go True. The
default .spindle-at-speed-tolerance is 0.02, which means the actual
speed must be within 2% of the commanded spindle speed.
.B
.IP <name>.spindle\-at\-speed
.IP <name>.spindle-at-speed
(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
.IP <name>.frequency\-command
.IP <name>.frequency-command
(float, out)
.B
.IP <name>.max\-freq
.IP <name>.max-freq
(float, out)
.B
.IP <name>.base\-freq
.IP <name>.freq-lower-limit
(float, out)
.B
.IP <name>.freq\-lower\-limit
.IP <name>.rated-motor-voltage
(float, out)
.B
.IP <name>.rated\-motor\-voltage
.IP <name>.rated-motor-current
(float, out)
.B
.IP <name>.rated\-motor\-current
.IP <name>.rated-motor-rev
(float, out)
.B
.IP <name>.rated\-motor\-rev
(float, out)
.B
.B
.IP <name>.motor\-poles
(u32, out)
.B
.IP <name>.hycomm\-ok
.IP <name>.hycomm-ok
(bit, out)
.SH PARAMETERS
.B
.IP <name>.error\-count
.IP <name>.error-count
(s32, RW)
.B
.IP <name>.retval

View file

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

View file

@ -3,7 +3,7 @@
linuxcncrsh \- text-mode interface for commanding LinuxCNC over the network
.SH SYNOPSIS
.B
linuxcncrsh [OPTIONS] [\-\- LINUXCNC_OPTIONS]
linuxcncrsh [OPTIONS] [-- LINUXCNC_OPTIONS]
.br
.SH DESCRIPTION
\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
.P
.B
\-p,\-\-port PORT_NUMBER
-p,--port PORT_NUMBER
.RS
Specify the port for linuxcncrsh to listen on. Defaults to 5007 if omitted.
.RE
.P
.B
\-n,\-\-name SERVER_NAME
-n,--name SERVER_NAME
.RS
Sets the server name that linuxcncrsh will use to identify itself during
handshaking with a new client. Defaults to EMCNETSVR if omitted.
.RE
.P
.B
\-w,\-\-connectpw PASSWORD
-w,--connectpw PASSWORD
.RS
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
@ -37,7 +37,7 @@ the client. Defaults to EMC if omitted.
.RE
.P
.B
\-e,\-\-enablepw PASSWORD
-e,--enablepw PASSWORD
.RS
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
@ -46,9 +46,9 @@ EMCTOO if omitted.
.RE
.P
.B
\-s,\-\-sessions MAX_SESSIONS
-s,--sessions MAX_SESSIONS
.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.
.RE
.P
@ -56,10 +56,10 @@ In addition to the options listed above, linuxcncrsh accepts an optional
special LINUXCNC_OPTION at the end:
.P
.B
\-ini LINUXCNC_INI_FILE
-ini LINUXCNC_INI_FILE
.RS
LinuxCNC .ini file to use. The \-ini option \fBmust\fP be preceded by two
dashes: "\-\-". Defaults to emc.ini if omitted.
LinuxCNC .ini file to use. The -ini option \fBmust\fP be preceeded by two
dashes: "--". Defaults to emc.ini if omitted.
.RE
.SH Starting linuxcncrsh
.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:
.RS
.P
.B loadusr linuxcncrsh [OPTIONS] [\-\- LINUXCNC_OPTIONS]
.B loadusr linuxcncrsh [OPTIONS] [-- LINUXCNC_OPTIONS]
.RE
.P
To start it from the terminal, run linuxcncrsh manually like this:
.RS
.P
.B linuxcncrsh [OPTIONS] [\-\- LINUXCNC_OPTIONS]
.B linuxcncrsh [OPTIONS] [-- LINUXCNC_OPTIONS]
.RE
.SH Connecting
.P
@ -96,11 +96,11 @@ Once LinuxCNC is up and linuxcncrsh is running, you can connect to it using
.RS
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 option).
--port option).
.RE
.SH Network protocol
.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.
.P
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
.RS
<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:
.RS
\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
enabled to perform control functions. With get, any parameter is ignored,
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
a password and disables control functions for this connection.
.RE
@ -402,7 +402,7 @@ override as specified.
\fBspindle_override <percent>\fR
.RS
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.
.RE
.P
@ -489,7 +489,7 @@ the linuxcnc working directory (the directory of the active .ini file).
.RS
With set, runs the opened program. If no StartLine is specified, runs
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
.P
\fBpause\fR
@ -677,7 +677,7 @@ Connected to 127.0.0.1
.br
Escape character is '^]'.
.br
\fBhello EMC user\-typing\-at\-telnet 1.0\fR
\fBhello EMC user-typing-at-telnet 1.0\fR
.br
HELLO ACK EMCNETSVR 1.1
.br

View file

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

View file

@ -1,25 +1,11 @@
.TH milltask 1 "September 30, 2014" "" "The Enhanced Machine Controller"
.SH NAME
\fBmilltask\fR \- Userspace task controller for LinuxCNC
milltask \- Userspace task controller for LinuxCNC
.SH DESCRIPTION
\fBmilltask\fR is an internal process of LinuxCNC. It is generally not
invoked directly but by an inifile setting: \fB[TASK]TASK=milltask\fR.
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.
milltask is an internal process of LinuxCNC. It is generally not invoked directly.
It creates the pins shown as owned by the "inihal" component, which allow
runtime modification of certain values from the inifile.
.SH PINS
.SS Per-axis pins
.TP
@ -75,14 +61,4 @@ Allows adjustment of \fB[TRAJ]ARC_BLEND_GAP_CYCLES
Allows adjustment of \fB[TRAJ]ARC_BLEND_RAMP_FREQ
.SH NOTES
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.
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.

View file

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

View file

@ -23,15 +23,15 @@
.SH NAME
pyvcp \- Virtual Control Panel for LinuxCNC
.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
.TP
\fB\-g\fR \fIWxH+X+Y\fR
\fB-g\fR \fIWxH+X+Y\fR
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.
Size / position use pixel units. Position is referenced from top left.
.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
not specified, the basename of the xml file is used.\fR
.SH "SEE ALSO"

View file

@ -26,7 +26,7 @@ returns to center when released.
.SH UDEV
The shuttlexpress module needs read permission to the ShuttleXpress
/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:
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0020", MODE="0444"
@ -52,25 +52,25 @@ notice the first click.
.SH Pins
.TP
(bit out) \fIshuttlexpress.0.button\-0\fR
(bit out) \fIshuttlexpress.0.button-0\fR
.TP
(bit out) \fIshuttlexpress.0.button\-0\-not\fR
(bit out) \fIshuttlexpress.0.button-0-not\fR
.TP
(bit out) \fIshuttlexpress.0.button\-1\fR
(bit out) \fIshuttlexpress.0.button-1\fR
.TP
(bit out) \fIshuttlexpress.0.button\-1\-not\fR
(bit out) \fIshuttlexpress.0.button-1-not\fR
.TP
(bit out) \fIshuttlexpress.0.button\-2\fR
(bit out) \fIshuttlexpress.0.button-2\fR
.TP
(bit out) \fIshuttlexpress.0.button\-2\-not\fR
(bit out) \fIshuttlexpress.0.button-2-not\fR
.TP
(bit out) \fIshuttlexpress.0.button\-3\fR
(bit out) \fIshuttlexpress.0.button-3\fR
.TP
(bit out) \fIshuttlexpress.0.button\-3\-not\fR
(bit out) \fIshuttlexpress.0.button-3-not\fR
.TP
(bit out) \fIshuttlexpress.0.button\-4\fR
(bit out) \fIshuttlexpress.0.button-4\fR
.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
counter-clockwise-most one.
@ -81,18 +81,18 @@ notice the first click.
Accumulated counts from the jog wheel (the inner wheel).
.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).
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.
.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).
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
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.)

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
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
\fBOnePulse\fR Pulse input to 1 for each pushbutton press
.br
@ -55,7 +55,7 @@ LinuxCNC must be running
A named item can specify a \fBpin\fR, \fBparam\fR, or \fBsignal\fR.
The named item must be writable:
.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
\fBparam RW\fR
.br
@ -76,5 +76,5 @@ Example for ini file usage:
.br
ini.traj_arc_blend_enable \\
.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
.B
.IP \-n\ \-\-name\ <halname>
.IP -n\ --name\ <halname>
set the HAL component name
.B
.IP \-d\ \-\-debug
.IP -d\ --debug
Turn on debugging messages. Also toggled by sending a USR1 signal to the
vfdb_vfd process.
.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. Also toggled by sending a USR2 signal
to the vfdb_vfd process.
.B
.IP \-I\ \-\-ini\ <inifilename>
.IP -I\ --ini\ <inifilename>
take configuration from this ini
file. Defaults to environment variable INI_FILE_NAME. Most vfdb_vfd
configuration comes from the ini file, not from command-line arguments.
.B
.IP \-S\ \-\-section\ <section\ name>
.IP -S\ --section\ <section\ name>
take configuration from this
section in the ini file. Defaults to 'VFD-B'.
.B
.IP \-r\ \-\-report\-device
.IP -r\ --report-device
report device propertiers on console at startup
.SH INI CONFIG VARIABLES
@ -132,107 +132,107 @@ and is generally printed on the motor's name plate.
.SH PINS
.B
.IP <name>.at\-speed\ (bit,\ out)
.IP <name>.at-speed\ (bit,\ out)
True when drive is at commanded speed (see
.I
speed\-tolerance
speed-tolerance
below)
.B
.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).
.B
.IP <name>.frequency\-command\ (float,\ out)
Current target frequency in HZ as set through speed\-command (which is in
.IP <name>.frequency-command\ (float,\ out)
Current target frequency in HZ as set through speed-command (which is in
RPM), from the VFD.
.B
.IP <name>.frequency\-out\ (float,\ out)
.IP <name>.frequency-out\ (float,\ out)
Current output frequency of the VFD.
.B
.IP <name>.inverter\-load\-percentage\ (float,\ out)
.IP <name>.inverter-load-percentage\ (float,\ out)
Current load report from VFD.
.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).
.B
.IP <name>.is\-stopped\ (bit,\ out)
.IP <name>.is-stopped\ (bit,\ out)
True when the VFD reports 0 Hz output.
.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
is disabled. This might be useful for spindle orientation.
.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
the motors nameplate values. For instance, if
.I nameplate\-HZ
.I nameplate-HZ
is 50, and
.I nameplate\-RPM
.I nameplate-RPM
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. To increase the upper frequency limit, the UL and FH
parameters must be changed on the panel. See the VFD-B manual for
instructions how to set the maximum frequency.
.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.
.B
.IP <name>.motor\-RPM\ (float,\ out)
.IP <name>.motor-RPM\ (float,\ out)
Estimated current RPM value, from the VFD.
.B
.IP <name>.motor\-RPS\ (float,\ out)
.IP <name>.motor-RPS\ (float,\ out)
Estimated current RPS value, from the VFD.
.B
.IP <name>.output\-voltage\ (float,\ out)
.IP <name>.output-voltage\ (float,\ out)
From the VFD.
.B
.IP <name>.output\-current\ (float,\ out)
.IP <name>.output-current\ (float,\ out)
From the VFD.
.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.
.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.
.B
.IP <name>.max\-speed\ (bit,\ in)
Ignore the loop-time parameter and run Modbus at maximum
.IP <name>.max-speed\ (bit,\ in)
Ignore the loop-time paramater and run Modbus at maximum
speed, at the expense of higher CPU usage. Suggested use
during spindle positioning.
.B
.IP <name>.status\ (s32,\ out)
Drive Status of the VFD (see the VFD manual). A bitmap.
.B
.IP <name>.error\-count\ (s32,\ out)
.IP <name>.error-count\ (s32,\ out)
Total number of transactions returning a Modbus error.
.B
.IP <name>.error\-code\ (s32,\ out)
.IP <name>.error-code\ (s32,\ out)
Most recent Error Code from VFD.
.B
.IP <name>.frequency\-limit\ (float,\ out)
.IP <name>.frequency-limit\ (float,\ out)
Upper limit read from VFD setup.
.B
.SH PARAMETERS
.B
.IP <name>.loop\-time\ (float,\ RW)
.IP <name>.loop-time\ (float,\ RW)
How often the Modbus is polled (default interval 0.1 seconds).
.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
.I nameplate\-RPM
) for a target RPM value as given by speed\-command.
.I nameplate-RPM
) for a target RPM value as given by speed-command.
.B
.IP <name>.nameplate\-RPM\ (float,\ RW)
.IP <name>.nameplate-RPM\ (float,\ RW)
Nameplate RPM of motor (default 1410)
.B
.IP <name>.rpm\-limit\ (float,\ RW)
.IP <name>.rpm-limit\ (float,\ RW)
Do-not-exceed soft limit for motor RPM (defaults to
.I nameplate\-RPM
.I nameplate-RPM
).
.B
.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
.B
.IP \-n\ \-\-name\ <halname>
.IP -n\ --name\ <halname>
set the HAL component name
.B
.IP \-d\ \-\-debug
.IP -d\ --debug
Turn on debugging messages. Also toggled by sending a USR1 signal to the vfs11_vfd process.
.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.
Also toggled by sending a USR2 signal to the vfs11_vfd process.
.B
.IP \-I\ \-\-ini\ <inifilename>
.IP -I\ --ini\ <inifilename>
take configuration from this ini
file. Defaults to environment variable INI_FILE_NAME.
.B
.IP \-S\ \-\-section\ <section\ name>
.IP -S\ --section\ <section\ name>
take configuration from this
section in the ini file. Defaults to 'VFS11'.
.B
.IP \-r\ \-\-report\-device
.IP -r\ --report-device
report device propertiers on console at startup
.SH PINS
.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.
.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
.I err\-reset
.I err-reset
(see below) to clear the alarm.
.B
.IP <name>.at\-speed\ (bit,\ out)
.IP <name>.at-speed\ (bit,\ out)
when drive is at commanded speed (see
.I
speed\-tolerance
speed-tolerance
below)
.B
.IP <name>.current\-load\-percentage\ (float,\ out)
.IP <name>.current-load-percentage\ (float,\ out)
reported from the VFD
.B
.IP <name>.dc\-brake\ \ (bit,\ in)
engage the DC brake. Also turns off spindle\-on.
.IP <name>.dc-brake\ \ (bit,\ in)
engage the DC brake. Also turns off spindle-on.
.B
.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).
.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.
.B
.IP <name>.estop\ (bit,\ in)
put the VFD into emergency-stopped status. No operation possible until cleared with
.I
err\-reset
err-reset
or powercycling.
.B
.IP <name>.frequency\-command\ (float,\ out)
current target frequency in HZ as set through speed\-command (which is in RPM), from the VFD
.IP <name>.frequency-command\ (float,\ out)
current target frequency in HZ as set through speed-command (which is in RPM), from the VFD
.B
.IP <name>.frequency\-out\ (float,\ out)
.IP <name>.frequency-out\ (float,\ out)
current output frequency of the VFD
.B
.IP <name>.inverter\-load\-percentage\ (float,\ out)
.IP <name>.inverter-load-percentage\ (float,\ out)
current load report from VFD
.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
.I
err\-reset
to reboot the VFD and clear the e\-stop status.
err-reset
to reboot the VFD and clear the e-stop status.
.B
.IP <name>.is\-stopped\ (bit,\ out)
.IP <name>.is-stopped\ (bit,\ out)
true when the VFD reports 0 Hz output
.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.
.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
.I nameplate\-HZ
.I nameplate-HZ
is 50, and
.I nameplate\-RPM_
.I nameplate-RPM_
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.
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
.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.
.B
.IP <name>.motor\-RPM\ (float,\ out)
.IP <name>.motor-RPM\ (float,\ out)
estimated current RPM value, from the VFD
.B
.IP <name>.output\-current\-percentage\ (float,\ out)
.IP <name>.output-current-percentage\ (float,\ out)
from the VFD
.B
.IP <name>.output\-voltage\-percentage\ (float,\ out)
.IP <name>.output-voltage-percentage\ (float,\ out)
from the VFD
.B
.IP <name>.output\-voltage\ (float,\ out)
.IP <name>.output-voltage\ (float,\ out)
from the VFD
.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
.B
.IP <name>.spindle\-fwd\ (bit,\ in)
.IP <name>.spindle-fwd\ (bit,\ in)
1 for FWD and 0 for REV, sent to VFD
.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
.B
.IP <name>.spindle\-rev\ (bit,\ in)
.IP <name>.spindle-rev\ (bit,\ in)
1 for ON and 0 for OFF, only on when running
.B
.IP <name>.max\-speed\ (bit,\ in)
ignore the loop\-time parameter and run Modbus at maximum
.IP <name>.max-speed\ (bit,\ in)
ignore the loop-time paramater and run Modbus at maximum
speed, at the expense of higher CPU usage. Suggested use
during spindle positioning.
.B
.IP <name>.status\ (s32,\ out)
Drive Status of the VFD (see the TOSVERT VF-S11 Communications Function Instruction Manual, register FD01). A bitmap.
.B
.IP <name>.trip\-code\ (s32,\ out)
.IP <name>.trip-code\ (s32,\ out)
trip code if VF-S11 is in tripped state.
.B
.IP <name>.error\-count\ (s32,\ RW)
.IP <name>.error-count\ (s32,\ RW)
total number of transactions returning a Modbus error
.B
.SH PARAMETERS
.B
.IP <name>.frequency\-limit\ (float,\ RO)
.IP <name>.frequency-limit\ (float,\ RO)
upper limit read from VFD setup.
.B
.IP <name>.loop\-time\ (float,\ RW)
.IP <name>.loop-time\ (float,\ RW)
how often the Modbus is polled (default interval 0.1 seconds)
.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
.I nameplate\-RPM
) for a target RPM value as given by speed\-command.
.I nameplate-RPM
) for a target RPM value as given by speed-command.
.B
.IP <name>.nameplate\-RPM\ (float,\ RW)
.IP <name>.nameplate-RPM\ (float,\ RW)
Nameplate RPM of motor (default 1410)
.B
.IP <name>.rpm\-limit\ (float,\ RW)
.IP <name>.rpm-limit\ (float,\ RW)
do-not-exceed soft limit for motor RPM (defaults to
.I nameplate\-RPM
.I nameplate-RPM
).
.B
.IP <name>.tolerance\ (float,\ RW)

View file

@ -1,6 +1,6 @@
.TH XHC-HB04 "1" "2015-03-06" "LinuxCNC Documentation" "HAL User's Manual"
.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
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.
.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
but Run-In-Place (RIP) builds may need a udev rules file. This file
should be created (using sudo and a text editor) as:
.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"
.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
identify the button codes produced for each button press and to verify
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
exists, pendant operation can be verified using the \-I option to specify
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
the file.
Usage:
$ xhc\-hb04 [options]
$ xhc-hb04 [options]
.SH Options
.TP
\fB\-h\fR list command line options and exit
\fB-h\fR list command line options and exit
.TP
\fB\-I button\-cfg\-file\fR (see below for file format)
\fB-I button-cfg-file\fR (see below for file format)
.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
\fB\-x\fR wait for pendant detection before creating HAL pins.
\fB-x\fR wait for pendant detection before creating HAL pins.
.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
1: 1,10,100,1000 (default)
2: 1,5,10,20
@ -69,15 +69,15 @@ $ xhc\-hb04 [options]
5: 1,10,50,100,1000
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
known button configurations:
.nf
/usr/share/linuxcnc/hallib/xhc\-hb04\-layout1.cfg
/usr/share/linuxcnc/hallib/xhc\-hb04\-layout2.cfg
/usr/share/linuxcnc/hallib/xhc-hb04-layout1.cfg
/usr/share/linuxcnc/hallib/xhc-hb04-layout2.cfg
or for a RIP build:
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-layout1.cfg
rip_base_dir/lib/hallib/xhc-hb04-layout2.cfg
.fi
layout1 describes the 16 button pendant,
@ -88,193 +88,193 @@ but should use a file suffix of .cfg.
.nf
File format:
[XHC\-HB04]
BUTTON=X1:button\-thename1
BUTTON=X2:button\-thename2
BUTTON=X3:button\-thename3
[XHC-HB04]
BUTTON=X1:button-thename1
BUTTON=X2:button-thename2
BUTTON=X3:button-thename3
etc.
.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.
.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:
\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)
.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
in the xhc\-hb04 (loadusr) command.
in the xhc-hb04 (loadusr) command.
.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
in the xhc\-hb04 (loadusr) command.
in the xhc-hb04 (loadusr) command.
.SH Input Pins (to the pendant LCD display)
.TP
(float in) \fIxhc\-hb04.[xyza].pos\-absolute\fR Absolule position 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
fraction digits (+XXXX.XXX), require: \-9999.999 <= value <= 9999.999.
(float in) \fIxhc-hb04.[xyza].pos-absolute\fR Absolule position 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
fraction digits (+XXXX.XXX), require: -9999.999 <= value <= 9999.999.
.TP
(float in) \fIxhc\-hb04.[xyza].pos\-relative\fR Relative position 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
fraction digits (+XXXX.XXX), require: \-9999.999 <= value <= 9999.999.
(float in) \fIxhc-hb04.[xyza].pos-relative\fR Relative position 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
fraction digits (+XXXX.XXX), require: -9999.999 <= value <= 9999.999.
.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
order to display as percent, require: 0 <= pinvalue <= 655
(typically connect to: halui.feed\-override.value)
(typically connect to: halui.feed-override.value)
.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
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
(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
order to display as percent, require: 0 <= pinvalue <= 655)
(typically connect to: halui.spindle\-override.value)
(typically connect to: halui.spindle-override.value)
.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
and multiplied by 60 in order to display as RPMs,
require: 0 <= pinvalue <= 1092 (65520 RPM) (typically connect to:
motion.spindle\-speed\-out\-rps\-abs)
motion.spindle-speed-out-rps-abs)
.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)
.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.
.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.
.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.
.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.
(typically connect to: halui.spindle\-override\-count\-enable)
(typically connect to: halui.spindle-override-count-enable)
.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.
(typically connect to: halui.feed\-override\-count\-enable)
(typically connect to: halui.feed-override-count-enable)
.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.
.TP
(bit out) \fIxhc\-hb04.require_pendant\fR True if driver started with
the \-x option.
(bit out) \fIxhc-hb04.require_pendant\fR True if driver started with
the -x option.
.TP
(s32 out) \fIxhc\-hb04.stepsize\fR Current stepsize in the stepsize sequence
as controlled by the stepsize\-up and/or stepsize\-down pins.
(s32 out) \fIxhc-hb04.stepsize\fR Current stepsize in the stepsize sequence
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
(s32 out) \fIxhc\-hb04.jog.counts\fR Number of counts of the wheel since
start\-up (50 counts per wheel revolution).
(typically connect to axis.N.jog\-counts (lowpass filtering may be helpful))
(s32 out) \fIxhc-hb04.jog.counts\fR Number of counts of the wheel since
start-up (50 counts per wheel revolution).
(typically connect to axis.N.jog-counts (lowpass filtering may be helpful))
.TP
(s32 out) \fIxhc\-hb04.jog.counts\-neg\fR The value of the
xhc\-hb04.jog.counts multipled by \-1.
(s32 out) \fIxhc-hb04.jog.counts-neg\fR The value of the
xhc-hb04.jog.counts multipled by -1.
.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.
(typically connect to axis.N.jog\-scale)
(typically connect to axis.N.jog-scale)
.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
(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
(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
(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
(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
(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)
The output bit type pins are TRUE when the button is pressed.
.nf
ROW 1
(bit out) xhc\-hb04.button\-reset
(bit out) xhc\-hb04.button\-stop
(bit out) xhc-hb04.button-reset
(bit out) xhc-hb04.button-stop
ROW 2
(bit out) xhc\-hb04.button\-goto\-zero
(bit out) xhc\-hb04.button\-rewind
(bit out) xhc\-hb04.button\-start\-pause
(bit out) xhc\-hb04.button\-probe\-z
(bit out) xhc-hb04.button-goto-zero
(bit out) xhc-hb04.button-rewind
(bit out) xhc-hb04.button-start-pause
(bit out) xhc-hb04.button-probe-z
ROW 3
(bit out) xhc\-hb04.button\-spindle
(bit out) xhc\-hb04.button\-half
(bit out) xhc\-hb04.button\-zero
(bit out) xhc\-hb04.button\-safe\-z
(bit out) xhc-hb04.button-spindle
(bit out) xhc-hb04.button-half
(bit out) xhc-hb04.button-zero
(bit out) xhc-hb04.button-safe-z
ROW 4
(bit out) xhc\-hb04.button\-home
(bit out) xhc\-hb04.button\-macro\-1
(bit out) xhc\-hb04.button\-macro\-2
(bit out) xhc\-hb04.button\-macro\-3
(bit out) xhc-hb04.button-home
(bit out) xhc-hb04.button-macro-1
(bit out) xhc-hb04.button-macro-2
(bit out) xhc-hb04.button-macro-3
ROW 5
(bit out) xhc\-hb04.button\-step
(bit out) xhc\-hb04.button\-mode
(bit out) xhc\-hb04.button\-macro\-6
(bit out) xhc\-hb04.button\-macro\-7
(bit out) xhc-hb04.button-step
(bit out) xhc-hb04.button-mode
(bit out) xhc-hb04.button-macro-6
(bit out) xhc-hb04.button-macro-7
.fi
.SH Synthesized button pins
Additional buttons are synthesized for buttons named
\fBzero\fR, \fBgoto\-zero\fR, and \fBhalf\fR. These synthesized
buttons are active when the button is pressed AND the selector\-switch
\fBzero\fR, \fBgoto-zero\fR, and \fBhalf\fR. These synthesized
buttons are active when the button is pressed AND the selector-switch
is set to the corresponding axis [xyza].
.nf
(bit out) xhc\-hb04.button\-zero\-[xyza]
(bit out) xhc\-hb04.button\-goto\-zero\-[xyza]
(bit out) xhc\-hb04.button\-half\-[xyza]
(bit out) xhc-hb04.button-zero-[xyza]
(bit out) xhc-hb04.button-goto-zero-[xyza]
(bit out) xhc-hb04.button-half-[xyza]
.fi
.SH DEBUGGING
For debugging USB activity, use environmental variable LIBUSB_DEBUG:
.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
.SH Sim Configs
The distribution includes several simulation configurations in
the directory:
.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:
rip_base_dir/configs/sim/axis/xhc\-hb04/
rip_base_dir/configs/sim/axis/xhc-hb04/
.fi
.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 a number of ini file settings. The script uses an additional
HAL component (xhc_hb04_util) to provide common functionality and
includes support for a standard method for the start-pause button.
.PP
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)
3) implement per-axis filtering coeficients
4) implement per-axis acceleration for mpg jogging
@ -285,7 +285,7 @@ The settings available include:
9) option to require pendant on startup
.PP
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
3) connect buttons to motion.* pins
.PP
@ -295,14 +295,14 @@ directory for usage.
.PP
\fBNote:\fR The sim configs use the axis gui but the scripts are
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.
Instructions are included in README file in the directory named above.
.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:
.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 sig pendant: (show all pendant signals)
.fi

View file

@ -40,7 +40,7 @@ Elementwise equality and inequality operator
.TP
.B PM_CARTESIAN operator+(PM_CARTESIAN \fIv1\fB, PM_CARTESIAN\fIv2\fB)
.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
.TP
.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
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
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.
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.
.SH DESCRIPTION
\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)
.IP \fIbase_hi\fR
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
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
@ -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
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
is detected, port\->base_hi is 0.
is detected, port->base_hi is 0.
.SH PARPORT STRUCTURE
.in +4n
.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.
.SH RETURN VALUE
Returns 0 on success, or a negative errno value on failure.
Returns a HAL status code.
.SH SEE ALSO
\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.
.TP
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
typedef ... \fBhal_u32_t\fR;
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().
.SH RETURN VALUE
Returns 0 on success and \-1 on failure.
Returns 0 on success and -1 on failure.
.SH SEE ALSO
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)
.SH DESCRIPTION
\fBhm2_bspi_set_read_function\fR registers a function in an external driver
to be called every time that the main Hostmot2
driver calls the generic "process_tram_read" function.
The names of the available channels are printed with rtapi_print_msg during the
\fBhm2_bspi_set_read_function\fR Registers a function in an external driver
(typically written in "comp") to be called every time that the main Hostmot2
driver calls the generic "process_tram_read" functionsread.
The names of the available channels are printed to standard output during the
driver loading process and take the form:
.RS
hm2_<board name>.<board index>.bspi.<index>
.RE
For example hm2_5i23.0.bspi.0.
hm2_<board name>.<board index>.bspi.<index> 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
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
\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
driver written in comp this will always be "inst" in the function call and the
call should be anywhere in the EXTRA_SETUP code.
.SH RETURN VALUE
Returns 0 on success and \-1 on failure.
Returns 0 on success and -1 on failure.
.SH SEE ALSO
\fBhm2_bspi_setup_chan(3hm2)\fR,
\fBhm2_bspi_write_chan(3hm2)\fR,
\fBhm2_tram_add_bspi_frame(3hm2)\fR,
\fBhm2_allocate_bspi_tram(3hm2)\fR,
src/hal/drivers mesa_7i65.comp in the LinuxCNC source distribution.
man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame
man hm2_allocate_bspi_tram.
See src/hal/drivers mesa_7i65.comp for an example usage.

View file

@ -11,35 +11,27 @@ of a hostmot2 buffered SPI driver.
int hm2_bspi_set_write_function(char *name, void *func, void *subdata)
.SH DESCRIPTION
\fBhm2_bspi_set_write_function\fR registers a function in an external driver
to be called every time that the main Hostmot2
\fBhm2_bspi_set_write_function\fR Registers a function in an external driver
(typically written in "comp") to be called every time that the main Hostmot2
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:
.RS
hm2_<board name>.<board index>.bspi.<index>
.RE
For example hm2_5i23.0.bspi.0.
hm2_<board name>.<board index>.bspi.<index> 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
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
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).
function must /fBnot/fP use the FUNCTION() convenience macro, and the argument
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
driver written in comp this will always be "inst" in the function call.
If using comp then the call to this function should be anywhere in the
If using comp then the call to this function should be anywhare in the
EXTRA_SETUP code.
.SH RETURN VALUE
Returns 0 on success and \-1 on failure.
Returns 0 on success and -1 on failure.
.SH SEE ALSO
\fBhm2_bspi_setup_chan(3hm2)\fR,
\fBhm2_bspi_read_chan(3hm2)\fR,
\fBhm2_tram_add_bspi_frame(3hm2)\fR,
\fBhm2_allocate_bspi_tram(3hm2)\fR,
src/hal/drivers mesa_7i65.comp in the LinuxCNC source distribution.
man hm2_bspi_setup_chan, man hm2_bspi_write_chan, man hm2_tram_add_bspi_frame
man hm2_allocate_bspi_tram.
See src/hal/drivers mesa_7i65.comp for an example usage.

View file

@ -34,7 +34,7 @@ sense-inverted, it should be set to 1 for devices which do not return data (such
as DACs).
.SH RETURN VALUE
Returns 0 on success and \-1 on failure.
Returns 0 on success and -1 on failure.
.SH SEE ALSO
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).
.SH RETURN VALUE
Returns 0 on success and \-1 on failure.
Returns 0 on success and -1 on failure.
.SH SEE ALSO
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.
.SH RETURN VALUE
Returns 0 on success and \-1 on failure.
Returns 0 on success and -1 on failure.
.SH SEE ALSO
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.
.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
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.
.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
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.
To write only to the tx_mode DriveEnable bit call this function with the bitrate
unchanged and \-1 as the rx_mode
To change bitrate without altering mode settings send \-1 to both modes.
unchanged and -1 as the rx_mode
To change bitrate without altering mode settings send -1 to both modes.
.SH RETURN VALUE
Returns0 on success and \-1 on failure
Returns0 on success and -1 on failure
.SH SEE ALSO
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.
.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
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
is available, otherwise it returns the requested period. If the requested
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,
subsequent calls with non-zero \fInsec\fR return \fB\-EINVAL\fR and have no
\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
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
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
be done like this:
.RS
deltat = (long int)(end_time \- start_time);
deltat = (long int)(end_time - start_time);
.RE
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
@ -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.
Computing
.RS
deltat = (end_clocks \- start_clocks) / cpu_khz:
deltat = (end_clocks - start_clocks) / cpu_khz:
.RE
gives the duration measured in milliseconds. Computing
.RS
deltat = (end_clocks \- start_clocks) * 1000000 / cpu_khz:
deltat = (end_clocks - start_clocks) * 1000000 / cpu_khz:
.RE
gives the duration measured in nanoseconds for deltas less than about 9
trillion clocks (e.g., 3000 seconds at 3GHz).

View file

@ -61,20 +61,20 @@ hal_export_funct(3hal)
.SH Interpretation of license strings
\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
GNU General Public License v2 or later
GNU Public License v2 or later
.IP \fB"GPL\ v2"\fR
GNU General Public License v2
GNU Public License v2
.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
GNU General Public License v2 or BSD license choice
GNU Public License v2 or BSD license choice
.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
GNU General Public License v2 or Mozilla license choice
GNU Public License v2 or Mozilla license choice
.IP \fB"Proprietary"\fR
Non-free products
.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)
.IP \fIbase_hi\fR
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
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
@ -58,7 +58,7 @@ exits with \fBrtapi_exit\fR.
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
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
.in +4n
.nf

View file

@ -27,6 +27,9 @@ and going for \fIsize\fR bytes.
.SH REALTIME CONSIDERATIONS
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
\fBrtapi_request_region\fR returns NULL if the allocation fails, and a non-NULL
value otherwise.

View file

@ -8,14 +8,14 @@ rtapi_task_self \- Retrieve ID of current task
void rtapi_task_self()
.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).
.SH REALTIME CONSIDERATIONS
May be called from init/cleanup code, and from within realtime tasks.
.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
\fBrtapi_task_new(3rtapi)\fR

View file

@ -37,24 +37,24 @@ cycle to characterize the process. From this, \fBPgain/Igain/Dgain\fR or
.P
During auto tuning, the \fBcommand\fR input should not change. The limit
cycle is setup around the commanded position. No initial tuning values are
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
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
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
be larger than the limit cycle amplitude in order to avoid a following error.
.P
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
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\-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.
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
\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
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
\fBtune\-mode\fR to false.
\fBtune-mode\fR to false.
.SH NAMING
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
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
.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.
.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,
and all internal integrators, etc, are reset.
.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
performed.
.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.
.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
step change on the command. Not normally needed.
.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,
\fBPgain/Igain/FF1\fR are calculated.
.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.
\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.
.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.
\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
portion of the maximum motor current being used. The smaller the value, the
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
\fBFF2\fR to produce the second order feed-forward term of the output.
.TP
\fBpid.\fIN\fB.ultimate\-gain\fR float ro (only if debug=1)
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.
\fBpid.\fIN\fB.ultimate\-period\fR float ro (only if debug=1)
Determined from process characterization. \fBultimate\-period\fR is the period
\fBpid.\fIN\fB.ultimate-gain\fR float ro (only if debug=1)
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.
\fBpid.\fIN\fB.ultimate-period\fR float ro (only if debug=1)
Determined from process characterization. \fBultimate-period\fR is the period
of the limit cycle.
.SH BUGS

View file

@ -17,32 +17,32 @@ These pins and parameters are created by the realtime \fBclassicladder_rt\fR mod
.SH PINS
.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
.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
Output from classicladder
.TP
\fBclassicladder.0.s32in\-\fINN\fB\fR IN s32
\fBclassicladder.0.s32in-\fINN\fB\fR IN s32
Integer input from classicladder
These s32 signal pins map to \fB%IW\fINN\fR variables in classicladder
.TP
\fBclassicladder.0.s32out\-\fINN\fB\fR OUT s32
\fBclassicladder.0.s32out-\fINN\fB\fR OUT s32
Integer output from classicladder
These s32 signal pins map to \fB%QW\fINN\fR variables in classicladder
.TP
\fBclassicladder.0.floatin\-\fINN\fB\fR IN float
\fBclassicladder.0.floatin-\fINN\fB\fR IN float
Integer input from 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
.TP
\fBclassicladder.0.floatout\-\fINN\fB\fR OUT float
\fBclassicladder.0.floatout-\fINN\fB\fR OUT float
Float output from 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
.TP
\fBclassicladder.0.ladder\-state\fR RO s32
\fBclassicladder.0.ladder-state\fR RO s32
Tells you if the program is running or not
.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).
.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
\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]
.SH DESCRIPTION
\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.
\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
quadrature, some lathes have a sensor that generates a simple pulse
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"
(phase\-Z) pulse is received.
(phase-Z) pulse is received.
This is of course only useful for a unidirectional spindle, as it
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.
.SH FUNCTIONS
.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.
.TP
.B \fBcounter.update\-counters\fR
Samples the phase\-A and phase\-Z inputs and updates internal counters.
.B \fBcounter.update-counters\fR
Samples the phase-A and phase-Z inputs and updates internal counters.
.SH PINS
.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
rising edge.
.TP
.B \fBcounter.\fIN\fB.phase\-Z\fR bit in
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
.B \fBcounter.\fIN\fB.phase-Z\fR bit in
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
internal counter is reset to zero.
.TP
.B \fBcounter.\fIN\fB.index\-enable\fR bit io
.B \fBcounter.\fIN\fB.index-enable\fR bit io
.TQ
.B \fBcounter.\fIN\fB.reset\fR bit io
.TQ
@ -61,11 +61,11 @@ internal counter is reset to zero.
.B \fBcounter.\fIN\fB.velocity\fR float out
These pins function according to the canonical digital encoder interface.
.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.
.TP
.B \fBcounter.\fIN\fB.rawcounts\fR signed ro
The internal counts value, updated from \fBupdate\-counters\fR and reflected
in the output pins at the next call to \fBcapture\-position\fR.
The internal counts value, updated from \fBupdate-counters\fR and reflected
in the output pins at the next call to \fBcapture-position\fR.
.SH SEE ALSO
\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.
.P
\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
each rising edge of \fBphase\-A\fR. This mode may be useful for counting
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
a unidirectional spindle with a single input line, though the noise-resistant
characteristics of quadrature are lost.
.SH FUNCTIONS
.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
the quadrature waveforms. Must be called as frequently as possible,
preferably twice as fast as the maximum desired count rate. Operates
on all channels at once.
.TP
\fBencoder.capture\-position\fR (uses floating point)
Captures the raw counts from \fBupdate\-counters\fR and performs scaling
\fBencoder.capture-position\fR (uses floating point)
Captures the raw counts from \fBupdate-counters\fR and performs scaling
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.
.SH NAMING
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
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
.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
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
default), it counts in quadrature mode.
.TP
\fBencoder.\fIN\fB.counts\fR s32 out
Position in encoder counts.
.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
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.
.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
estimated as nonzero and \fBpostition\-interpolated\fR will be interpolated.
The units of \fBmin\-speed\-estimate\fR are the same as the units of
estimated as nonzero and \fBpostition-interpolated\fR will be interpolated.
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
time for \fBvelocity\fR to go to 0 after encoder pulses have stopped arriving.
.TP
\fBencoder.\fIN\fB.phase\-A\fR bit in
\fBencoder.\fIN\fB.phase-A\fR bit in
Quadrature input for encoder channel \fIN\fR.
.TP
\fBencoder.\fIN\fB.phase\-B\fR bit in
\fBencoder.\fIN\fB.phase-B\fR bit in
Quadrature input.
.TP
\fBencoder.\fIN\fB.phase\-Z\fR bit in
\fBencoder.\fIN\fB.phase-Z\fR bit in
Index pulse input.
.TP
\fBencoder.\fIN\fB.position\fR float out
Position in scaled units (see \fBposition\-scale\fR)
Position in scaled units (see \fBposition-scale\fR)
.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
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.
.TP
\fBencoder.\fIN\fB.position\-scale\fR float i/o
Scale factor, in counts per length unit. For example, if \fBposition\-scale\fR
\fBencoder.\fIN\fB.position-scale\fR float i/o
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
units.
.TP
\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
by \fBreset\fR or the index pulse.
.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
greatly reduces quantization noise as compared to simply differentiating the
\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
\fBencoder.\fIN\fB.x4\-mode\fR bit i/o
Enables times\-4 mode. When true (the default), the counter counts each edge
\fBencoder.\fIN\fB.x4-mode\fR bit i/o
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
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
\fBencoder.\fIN\fB.latch\-input\fR bit in
\fBencoder.\fIN\fB.latch-input\fR bit in
.TQ
\fBencoder.\fIN\fB.latch\-falling\fR bit in (default: \fBTRUE\fR)
\fBencoder.\fIN\fB.latch-falling\fR bit in (default: \fBTRUE\fR)
.TQ
\fBencoder.\fIN\fB.latch\-rising\fR bit in (default: \fBTRUE\fR)
\fBencoder.\fIN\fB.latch-rising\fR bit in (default: \fBTRUE\fR)
.TQ
\fBencoder.\fIN\fB.counts\-latched\fR s32 out
\fBencoder.\fIN\fB.counts-latched\fR s32 out
.TQ
\fBencoder.\fIN\fB.position\-latched\fR float out
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
\fBlatch\-falling\fR.
\fBencoder.\fIN\fB.position-latched\fR float out
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
\fBlatch-falling\fR.
.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
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
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.
.SH PARAMETERS

View file

@ -27,32 +27,32 @@ If neither \fBnum_chan=\fR nor \fBnames=\fR are specified, the default value is
.SH FUNCTIONS
.TP
.B encoder\-ratio.sample
.B encoder-ratio.sample
Read all input pins. Must be called at twice the maximum desired count rate.
.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.
.SH NAMING
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
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
.TP
.B encoder\-ratio.\fIN\fB.master\-A\fR bit in
.B encoder-ratio.\fIN\fB.master-A\fR bit in
.TQ
.B encoder\-ratio.\fIN\fB.master\-B\fR bit in
.B encoder-ratio.\fIN\fB.master-B\fR bit in
.TQ
.B encoder\-ratio.\fIN\fB.slave\-A\fR bit in
.B encoder-ratio.\fIN\fB.slave-A\fR bit in
.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
.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
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.
@ -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
master.
.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)
.SH PARAMETERS
.TP
.B encoder\-ratio.N.master\-ppr\fR unsigned rw
.B encoder-ratio.N.master-ppr\fR unsigned rw
.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
.TP
.B encoder\-ratio.N.master\-teeth\fR unsigned rw
.B encoder-ratio.N.master-teeth\fR unsigned rw
.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.
.SH SEE ALSO

View file

@ -61,10 +61,10 @@ None.
.SH PARAMETERS
.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
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
mapping at loadrt-time, and having that output correct is nice.

View file

@ -9,15 +9,15 @@
.SH NAME
gladevcp \- displays Virtual control Panels built with GTK / GLADE
.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
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 makes HAL pins and sets up updating for them.
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 \-H option passes an input file for halcmd to be run after the gladevcp component is initialized. This is used in Axis when
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
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.

View file

@ -45,7 +45,8 @@ with the 7i43 will not be supported any time soon, since USB has poor
real-time qualities.
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 \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
.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
.TP
\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
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.
@ -88,7 +88,7 @@ static address:
auto eth1
iface eth1 inet static
address 192.168.1.1
hardware\-irq\-coalesce\-rx\-usecs 0
hardware-irq-coalesce-rx-usecs 0
.EE
.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
each request, and checking the value with each read response. When a lost
packet is detected, the
.B packet\-error
.B packet-error
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
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
.B mux2(9)
component for each feedback signal, using
.B packet\-error
.B packet-error
as the mux2
.B sel
input.
@ -129,16 +129,16 @@ In addition to the pins documented in
creates additional pins:
.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,
and FALSE at other times.
.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
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
(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,
and FALSE at other times.
@ -148,23 +148,23 @@ In addition to the parameters documented in
creates additional parameters:
.TP
(s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-error\-decrement
The amount deducted from \fIpacket\-error\-level\fR in a cycle without
(s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-error-decrement
The amount deducted from \fIpacket-error-level\fR in a cycle without
detected read or write errors, without going below zero.
.TP
(s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet\-error\-increment
The amount added to \fIpacket\-error\-level\fR in a cycle without
detected read or write errors, without going above packet\-error\-limit.
(s32, rw) hm2_\fI<BoardType>\fR.\fI<BoardNum>\fR.packet-error-increment
The amount added to \fIpacket-error-level\fR in a cycle without
detected read or write errors, without going above packet-error-limit.
.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
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.
.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.
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
@ -176,18 +176,18 @@ high can cause realtime delay errors.
.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
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
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.
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.
"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.
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

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

View file

@ -119,7 +119,6 @@ The valid entries in the format string are:
[num_3pwmgens=\fIN\fB]
[num_stepgens=\fIN\fB]
[stepgen_width=\fIN\fB]
[num_sserials=\fIN\fB]
[sserial_port_\fI0\fB=\fI00000000\fB]
[num_leds=\fIN\fB]
[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.
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
supplied by the hostmot2\-firmware packages, available from linuxcnc.org and can
normally be installed by entering the command "sudo apt\-get install
hostmot2\-firmware\-5i23" to install the support files for the 5i23 for example.
supplied by the hostmot2-firmware packages, available from linuxcnc.org and can
normally be installed by entering the command "sudo apt-get install
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
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
valid and reasonable to load these cards with no config string at all.
.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
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
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.
.TP
\fBnum_encoders\fR [optional, default: \-1]
Only enable the first N encoders. If N is \-1, all encoders are enabled.
\fBnum_encoders\fR [optional, default: -1]
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
encoders available in the firmware, the board will fail to register.
.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
rates and bit lengths)
.TP
\fBnum_resolvers\fR [optional, default: \-1]
Only enable the first N resolvers. If N = \-1 then all resolvers are enabled.
\fBnum_resolvers\fR [optional, default: -1]
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
which works with any encoder). At the time of writing the Hostmot2 Resolver
function only works with the Mesa 7i49 card.
.TP
\fBnum_pwmgens\fR [optional, default: \-1]
Only enable the first N pwmgens. If N is \-1, all pwmgens are enabled.
\fBnum_pwmgens\fR [optional, default: -1]
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
pwmgens available in the firmware, the board will fail to register.
.TP
\fBnum_3pwmgens\fR [optional, default: \-1]
Only enable the first N Three-phase pwmgens. If N is \-1, all 3pwmgens
\fBnum_3pwmgens\fR [optional, default: -1]
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
number of pwmgens available in the firmware, the board will fail to register.
.TP
\fBnum_stepgens\fR [optional, default: \-1]
Only enable the first N stepgens. If N is \-1, all stepgens are enabled.
\fBnum_stepgens\fR [optional, default: -1]
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
stepgens available in the firmware, the board will fail to register.
.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
applies to all stepgen instances. Unused, masked pins will be available as GPIO.
.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]
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
@ -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
actively disable any channel that is to be used for GPIO.
.TP
\fBnum_bspis\fR [optional, default: \-1]
Only enable the first N Buffered SPI drivers. If N is \-1 then all the drivers
\fBnum_bspis\fR [optional, default: -1]
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.
.TP
\fBnum_leds\fR [optional, default: \-1]
Only enable the first N of the LEDs on the FPGA board. If N is \-1, then HAL
\fBnum_leds\fR [optional, default: -1]
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.
.TP
\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
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
"read" function runs. This can be applied to the three absolute
encoder types, quadrature encoders and stepgen. In the case of the absolute
encoders this allows the system to trigger a data transmission just prior to
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.
"read" function runs. This can currently only be applied to the three absolute
encoder types and is intended to ensure that the data is ready when needed, and
as fresh as possible.
Pins:
.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
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
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
maximum variation between read times. \-100 will suffice for most systems, and
\-50 will work on systems with good performance and latency.
maximum variation between read times. -100 will suffice for most systems, and
-50 will work on systems with good performance and latency.
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
at 500kHz then subtract an additional 50/500kHz = 100uS to get a starting value
of \-200.
of -200.
.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
be set to the nominal frequency of the thread in which the PLL is running and
wil not normally need to be changed.
.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
it is likely that the PLL has failed to achieve lock and adjustments will need
to be made.
.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
between insensitivity to single-cycle variations and being resilient to changes
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.
.TP
(bit in/out) index\-enable
(bit in/out) index-enable
When this pin is set to True, the count
(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.
.TP
@ -358,25 +349,25 @@ Parameters:
Converts from 'count' units to 'position' units.
.TP
(bit r/w) index\-invert
(bit r/w) index-invert
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.
.TP
(bit r/w) index\-mask
(bit r/w) index-mask
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
index\-mask\-invert pin below).
effect if the Index-Mask input pin is True (or False, depending on the
index-mask-invert pin below).
.TP
(bit r/w) index\-mask\-invert
If set to True, Index\-Mask must be False
for Index to have an effect. If set to False, the Index\-Mask pin must
(bit r/w) index-mask-invert
If set to True, Index-Mask must be False
for Index to have an effect. If set to False, the Index-Mask pin must
be True.
.TP
(bit r/w) counter\-mode
(bit r/w) counter-mode
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
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.
.TP
(float r/w) vel\-timeout
(float r/w) vel-timeout
When the encoder is moving slower than one
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
@ -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.
.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
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
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
the largest latency (e.g., \-100 for a system with mediocre latency, \-50 for a
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
system with good latency).
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)
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
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
the problem has been addressed by config changes.
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).
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).
(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".
(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.
.TP
u: (Unsigned)
@ -469,25 +460,25 @@ s: (Signed)
except symmetrical around zero.
.TP
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.
(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.
.TP
e: (Encoder)
(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
pins.
total encoder counts. This value is reset both by the ...reset and the ...index-
enable pins.
(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.
(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
a true value even after the counts pins have wrapped. It is zeroed by reset and
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
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
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
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.
(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
.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
a clock frequency of 500,000 Hz.
.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 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.
@ -542,7 +533,7 @@ f: (bitField): No parameters.
e: (Encoder):
(float, r/w) hm2_XiXX.N.ssi.MM.<name>.scale: (float, r.w) The encoder scale in
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
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
@ -556,13 +547,13 @@ supported by LinuxCNC (encoder to PC).
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
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
the problem has been addressed by config changes.
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)
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 Fanuc Aa64 encoder. The pins created are:
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_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.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.index-enable Simulated index. Set by counts-per-rev 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.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\-not Inverted version
hm2_XiXX.N.fanuc.MM.valid-not Inverted version
.SH resolver
Resolvers have names like
@ -610,13 +601,13 @@ is a number between 0 and 1 for each electrical rotation.
.TP
(float, out) position
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.
.TP
(float, out) velocity
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
(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.
.TP
(bit, in/out) index\-enable
(bit, in/out) index-enable
When this pin is set high the position and counts
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
@ -652,13 +643,13 @@ The position scale, in machine units per resolver
electrical revolution.
.TP
(float, read/write) velocity\-scale
(float, read/write) velocity-scale
The conversion factor between resolver
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.
.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.
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
@ -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.
.TP
(float, read/write) excitation\-khz
(float, read/write) excitation-khz
This pin sets the excitation frequency for
the resolver. This pin is module-level rather than instance-level as all
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
CLOCK_LOW/5000, CLOCK_LOW/10000 and CLOCK_LOW/20000 respectively.
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.
@ -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
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.
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).
The hm2 pwmgen representation is similar to the software pwmgen component.
@ -706,9 +697,9 @@ Pins:
.TP
(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
Not\-Enable pin true and not output any signals.
Not-Enable pin true and not output any signals.
.TP
(float input) value
@ -720,11 +711,11 @@ Parameters:
(float rw) scale
Scaling factor to convert 'value' from arbitrary units
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.
.TP
(s32 rw) output\-type
(s32 rw) output-type
This emulates the output_type load-time argument to
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
@ -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.
The input bit is a fault bit, typically wired to over-current detection. When set
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.
Pins:
(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
(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
low-sidepins (but see the "deadtime" parameter)
.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
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
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
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
@ -822,17 +813,17 @@ supply.
.TP
(float rw) scale
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
(bit rw) fault\-invert
(bit rw) fault-invert
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
when the pin is pulled low. Default 0, fault = low so that the PWM works with the
fault pin unconnected.
.TP
(u32 rw) sample\-time
(u32 rw) sample-time
Sets the time during the cycle when an ADC pulse
is generated. 0 = start of PWM cycle and 1 = end. Not currently useful
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
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)
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:
.TP
(float input) position\-cmd
(float input) position-cmd
Target position of stepper motion, 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
(float input) velocity\-cmd
(float input) velocity-cmd
Target velocity of stepper motion, in
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
(s32 output) counts
Feedback position in counts (number of steps).
.TP
(float output) position\-fb
(float output) position-fb
Feedback position in arbitrary position
units. This is similar to "counts/position_scale", but has finer than
step resolution.
.TP
(float output) velocity\-fb
(float output) velocity-fb
Feedback velocity in arbitrary position
units per second.
@ -897,19 +888,19 @@ units per second.
(bit input) enable
This pin enables the step generator instance.
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
maxaccel limit.
.TP
(bit input) control\-type
(bit input) control-type
Switches between position control mode (0)
and velocity control mode (1). Defaults to position control (0).
Parameters:
.TP
(float r/w) position\-scale
(float r/w) position-scale
Converts from counts to position units.
position = counts / position_scale
@ -917,14 +908,14 @@ position = counts / position_scale
(float r/w) maxvel
Maximum speed, in position units per second. If set
to 0, the driver will always use the maximum possible velocity based
on the current step timings and position\-scale. The max velocity will
change if the step timings or position\-scale changes. Defaults to 0.
on the current step timings and position-scale. The max velocity will
change if the step timings or position-scale changes. Defaults to 0.
.TP
(float r/w) maxaccel
Maximum acceleration, in position units per second
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.
This is probably what you want if you're going to be using the LinuxCNC
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.
.TP
(u32 r/w) table\-data\-N
There are 4 table\-data\-N parameters, table\-data\-0 to table\-data\-3. These each
(u32 r/w) table-data-N
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
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 =
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 =
0x20000000 would set stepgen pin 6 ("Table5Pin" in the dmesg output) on the 16th
stage of the step sequence.
.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
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
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
the largest latency (e.g., \-100 for a system with mediocre latency, \-50 for a
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
system with good latency).
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
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
for the attached hardware. Typically these would be written in the "comp"
pins. Instead the driver exports a set of functions that can be used by a sub
-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
comp for further details. See man mesa_7i65 and the source of mesa_7i65.comp for
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.
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
HAL object is available)
@ -1209,14 +1200,14 @@ See man setsserial for the current way to set smart-serial eeprom parameters.
.SH FUNCTIONS
.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
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
this case, the appropriate thread order would be
.EX
addf hm2_7i80.0.read\-request
addf hm2_7i80.1.read\-request
addf hm2_7i80.0.read-request
addf hm2_7i80.1.read-request
addf hm2_7i80.0.read
addf hm2_7i80.1.read
.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
EPP bus.)
.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
encoder module and if the firmare does not contain a hm2dpll
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
Parameters describing the \fIN\fRth joint's coordinates.
.TQ
.B genhexkins.convergence\-criterion
.B genhexkins.convergence-criterion
Minimum error value that ends iterations with converged solution.
.TQ
.B genhexkins.limit\-iterations
.B genhexkins.limit-iterations
Limit of iterations, if exceeded iterations stop with no convergence.
.TQ
.B genhexkins.max\-error
.B genhexkins.max-error
Maximum error value, if exceeded iterations stop with no convergence.
.TQ
.B genhexkins.last\-iterations
.B genhexkins.last-iterations
Number of iterations spent for the last forward kinematics solution.
.TQ
.B genhexkins.max\-iterations
.B genhexkins.max-iterations
Maximum number of iterations spent for a converged solution during current
session.
.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
manipulator are defined by hal pins.
.TP
.B genserkins.A\-\fIN
.B genserkins.A-\fIN
.TQ
.B genserkins.ALPHA\-\fIN
.B genserkins.ALPHA-\fIN
.TQ
.B genserkins.D\-\fIN
.B genserkins.D-\fIN
Parameters describing the \fIN\fRth joint's geometry.
.SS pumakins \- kinematics for puma typed robots

View file

@ -35,7 +35,7 @@ between 0 and 1.
.SH PARAMETERS
.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
46 (0x2E) which corresponds to ".". If a comma is required then set this
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.
"+" 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
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
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
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
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
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
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
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 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
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'

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
created.
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
when unconnected.
@ -62,7 +62,7 @@ Perform all requested functions. Should be run in a slow thread for effective
debouncing.
.SH PINS
.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.
.TP
.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
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.
.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
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
than only two keys being active at one time.
.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
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,

View file

@ -25,15 +25,15 @@ Pin names starting with "\fBaxis\fR" are actually joint values, but the pins and
.SH PINS
.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
.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
.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
.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
.TP
\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
\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
.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
.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.
.TP
\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.
\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.
.TP
\fBaxis.\fIN\fB.jog\-scale\fR IN FLOAT
Sets the distance moved for each count on "jog\-counts", in machine units.
\fBaxis.\fIN\fB.jog-scale\fR IN FLOAT
Sets the distance moved for each count on "jog-counts", in machine units.
.TP
\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.
\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.
.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.
.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.
.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.
.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.
.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.
.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.
.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.
.TP
\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.
\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.
.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.
.TP
\fBmotion.analog\-out\-\fINN\fR OUT FLOAT
\fBmotion.analog-out-\fINN\fR OUT FLOAT
These pins are used by M67-68.
.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
.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"
.TP
\fBmotion.current\-vel\fR OUT FLOAT
\fBmotion.current-vel\fR OUT FLOAT
Current cartesian velocity
.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.
.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.
.TP
\fBmotion.distance\-to\-go\fR OUT FLOAT
\fBmotion.distance-to-go\fR OUT FLOAT
Distance remaining in the current move
.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.
.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.
.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,
programmed feeds, and programmed rapids, aka traverse moves).
@ -153,108 +153,103 @@ maximum allowed acceleration rate.
Motion resumes when this pin goes FALSE.
.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
the commanded position).
.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.
.TP
\fBmotion.program\-line\fR OUT S32
The current program line while executing. Zero if not running or between
lines while single stepping.
\fBmotion.program-line\fR OUT S32
.TP
\fBmotion.requested\-vel\fR OUT FLOAT
The current requested velocity in user units per second. This value is
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.
\fBmotion.requested-vel\fR OUT FLOAT
The requested velocity with no adjustments for feed override
.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
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.
.TP
\fBmotion.spindle\-brake\fR OUT BIT
\fBmotion.spindle-brake\fR OUT BIT
TRUE when the spindle brake should be applied
.TP
\fBmotion.spindle\-forward\fR OUT BIT
\fBmotion.spindle-forward\fR OUT BIT
TRUE when the spindle should rotate forward
.TP
\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.
\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.
.TP
\fBmotion.spindle\-inhibit\fR IN BIT
\fBmotion.spindle-inhibit\fR IN BIT
When TRUE, the spindle speed is set and held to 0.
.TP
\fBmotion.spindle\-on\fR OUT BIT
\fBmotion.spindle-on\fR OUT BIT
TRUE when spindle should rotate
.TP
\fBmotion.spindle\-reverse\fR OUT BIT
\fBmotion.spindle-reverse\fR OUT BIT
TRUE when the spindle should rotate backward
.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.
.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.
.TP
\fBmotion.spindle\-speed\-out\fR OUT FLOAT
\fBmotion.spindle-speed-out\fR OUT FLOAT
Desired spindle speed in rotations per minute
.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.
.TP
\fBmotion.spindle\-speed\-out\-rps\fR OUT float
\fBmotion.spindle-speed-out-rps\fR OUT float
Desired spindle speed in rotations per second
.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.
.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.
.TP
\fBmotion.spindle\-orient\-mode\fR OUT BIT
\fBmotion.spindle-orient-mode\fR OUT BIT
Desired spindle rotation mode. Reflects M19 P parameter word.
.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.
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
\fBmotion.spindle\-is\-oriented\fR IN BIT
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.
\fBmotion.spindle-is-oriented\fR IN BIT
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.
.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.
.TP
\fBmotion.spindle\-locked\fR OUT BIT
\fBmotion.spindle-locked\fR OUT BIT
Spindle orient complete pin. Cleared by any of M3,M4,M5.
.TP
\fBmotion.teleop\-mode\fR OUT bit
\fBmotion.teleop-mode\fR OUT bit
.TP
\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
.TP
\fBaxis.\fIN\fB.backlash\-corr\fR OUT FLOAT
\fBaxis.\fIN\fB.backlash-corr\fR OUT FLOAT
Backlash or screw compensation raw value
.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)
.TP
\fBaxis.\fIN\fB.backlash\-vel\fR OUT FLOAT
\fBaxis.\fIN\fB.backlash-vel\fR OUT FLOAT
Backlash or screw compensation velocity
.TP
\fBaxis.\fIN\fB.coarse\-pos\-cmd\fR OUT FLOAT
\fBaxis.\fIN\fB.coarse-pos-cmd\fR OUT FLOAT
.TP
\fBaxis.\fIN\fB.error\fR OUT BIT
TRUE when this joint has encountered an error, such as a limit switch closing
.TP
\fBaxis.\fIN\fB.f\-error\fR OUT FLOAT
\fBaxis.\fIN\fB.f-error\fR OUT FLOAT
The actual following error
.TP
\fBaxis.\fIN\fB.f\-error\-lim\fR OUT FLOAT
\fBaxis.\fIN\fB.f-error-lim\fR OUT FLOAT
The following error limit
.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
.TP
\fBaxis.\fIN\fB.faulted\fR OUT BIT
.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.
.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
.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
.TP
@ -344,39 +339,37 @@ The velocity limit for the free planner
TRUE if the joint has been homed
.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
.TP
\fBaxis.\fIN\fB.joint\-vel\-cmd\fR OUT FLOAT
\fBaxis.\fIN\fB.joint-vel-cmd\fR OUT FLOAT
The joint's commanded velocity
.TP
\fBaxis.\fIN\fB.kb\-jog\-active\fR OUT BIT
\fBaxis.\fIN\fB.kb-jog-active\fR OUT BIT
.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
.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
.TP
\fBaxis.\fIN\fB.wheel\-jog\-active\fR OUT BIT
\fBaxis.\fIN\fB.wheel-jog-active\fR OUT BIT
.TP
\fBmotion.motion\-enabled\fR OUT BIT
\fBmotion.motion-enabled\fR OUT BIT
.TP
\fBmotion.motion\-type\fR OUT S32
\fBmotion.motion-type\fR OUT S32
These values are from src/emc/nml_intf/motion_types.h
.RS
.RS
.TP
0: Idle (no motion)
.P
1: Traverse
.P
2: Linear feed
@ -392,14 +385,14 @@ These values are from src/emc/nml_intf/motion_types.h
.RE
.TP
\fBmotion.on\-soft\-limit\fR OUT BIT
\fBmotion.on-soft-limit\fR OUT BIT
.TP
\fBmotion.program\-line\fR OUT S32
\fBmotion.program-line\fR OUT S32
.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"
@ -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.
.TP
\fBmotion\-command\-handler.time\fR
\fBmotion-command-handler.time\fR
.TQ
\fBmotion\-command\-handler.tmax\fR
\fBmotion-command-handler.tmax\fR
.TQ
\fBmotion\-controller.time\fR
\fBmotion-controller.time\fR
.TQ
\fBmotion\-controller.tmax\fR
\fBmotion-controller.tmax\fR
Show information about the execution time of these HAL functions in CPU cycles
.TP
\fBmotion.debug\-\fI*\fR
\fBmotion.debug-\fI*\fR
These values are used for debugging purposes.
.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
.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.
.TP
\fBmotion\-command\-handler\fR
\fBmotion-command-handler\fR
Processes motion commands coming from user space
.TP
\fBmotion\-controller\fR
\fBmotion-controller\fR
Runs the LinuxCNC motion controller
.SH BUGS

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