There seems to be a problem only when the docs are uploaded and web-served
from wlo that - becomes &minus become –.
And the long dash doesn't work as a HAL pin name.
Signed-off-by: andypugh <andy@bodgesoc.org>
Note: this branch is force pushed, rebased to master at 890187289
================================================================
This commit refactors internal tool data handling to:
1) Update and consolidate functions in a new directory:
src/emc/tooldata
2) Define an applications interface: src/emc/tooldata/tooldata.hh
3) Support a new interface to a user-provided tool database
management program specified by [EMCIO]DB_PROGRAM
4) Use a new mmapped tooldata interface between
EMCIO and TASK while maintaining number of allowed
pockets specified by CANON_POCKETS_MAX=1001
5) Deprecate tooldata in nml messages between EMCIO and TASK
(legacy nml message method remains available using
configure --enable-toolnml until removal)
6) Minimize impact to current users of master branch and
continue to pass the suite of runtests on all supported
buildbot machines.
7) Clarify program variable names that use a sequential
index (idx) for accessing internal tooldata.
Note: some legacy variable names like:
pocketPrepped, selected_pocket,current_pocket
are still used in a few places because of their inclusion
in fielded user remap scripts or the tests suite.
These items may be renamed in the future.
================================================================
Change Summary:
1) new directory: src/emc/tooldata
tooldata.hh ------------ api
tooldata_common.cc ----- shared functions
tooldata_mmap.cc ------- mmap tooldata
tooldata_nml.cc -------- nml tooldata
tooldata_db.cc --------- database interface functions
tool_watch.cc ---------- test utility
tool_mmap_read.cc ------ test utility for mmap
3) updated docs:
docs/src/getting-started/updating-linuxcnc.txt
docs/src/config/ini-config.txt
docs/src/code/code-notes.txt
docs/src/gcode/overview.txt
docs/src/gcode/tool-compensation.txt
docs/src/remap/remap.txt
docs/man1/iocontrol*.1
docs/src/tooldatabase/tooldatabase.txt (new)
3) removed (consolidated into other files):
src/emc/task/iotaskintf.cc
src/emc/ini/initool.hh
src/emc/ini/initool.cc
src/emc/rs274ngc/tool_parse.h
src/emc/rs274ngc/tool_parse.cc
src/emc/toolstore/
4) emccanon call: removed GET_EXTERNAL_POCKETS_MAX
(superseded by CANON_POCKETS_MAX)
5) hal: params to pins:
iocontrol.N.tool-prep-index
6) gui updates (axis gui only)
Print message if both [EMCIO]TOOL_TABLE and DB_PROGRAM
are specified. Allow specifying tooleditor for a DB_PROGRAM
Issue message for db_program/tool_table ambiguities
7) simulation configs:
configs/sim/axis/db_demo/db_ran.ini
configs/sim/axis/db_demo/db_nonran.ini
================================================================
Notes:
1) Testing has been aided by the extensive set of tests
exercised by the runtests program employed to ensure
the integrity of buildbot created deb packages. However,
numerous functions are NOT tested by the runtests suite.
Examples:
a) remapped tool handling
b) user-interfaces (ui) support for tool changes
c) iov2 (ioControl_v2.cc -- no maintainer, deprecated)
2) Use of the mmapped interface between EMCIO and TASK
reduces the EMC_TOOL_STAT message size from 112224 bytes
to 224 bytes (64bit architecture)
3) The complete toolTable[] data for all (1001)
CANON_POCKETS_MAX is no longer available should someone
implement a *remote* ui with TASK and EMCIO
implemented on *separate* machines via networked (TCP)
nml messages. A single tool table instance for
the current tool in spindle is included in the
EMC_TOOL_STAT message.
The waveforms are created with https://wavedrom.com/editor.html from the json-data.
See man pages of groff_www, groff_man and groff for formatting the text.
The HTML related commands of groff_www doesn't affect the man pages in the terminal.