* origin/2.8:
interpmodule: add interpreter.active_spindle property
add a test that uses remap to introspect about interpreter spindle state
fixup remap stdglue, interpreter.speed is an array now
fixup remap docs, interpreter.speed is an array now
fix remap/gettings-started config: speed is a tuple, not a float
interpmodule: fix `speed` property
Headers and titles have "Code" start with a capital, always with hyphen.
Somewhat unfortunate, for some files I also removed blanks at the ends of lines, which makes reading this patch more difficult than it meant to be.
Found via `codespell -q 3 -S *.po,*.ts,./share,./docs/man/es,./configs/attic,*_fr.*,*_es.* -L ans,ba,bulle,componentes,doubleclick,dout,dum,fo,halp,ihs,inout,parm,parms,ser,te,ue,wille,wont`
now screens can read raw tool number and offset number.
fix error/message handling; can't use:
try;
except Exception as e:
remap always errors.
use something similar to:
try:
except:
self.set_errormsg("Remap aborted")
return INTERP_ERROR
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.
automatically adjust it's self for metric/imperial machines.
Don't use INI [TOOL_CHANGE] as linuxcnc already has a mechanism
to set tool change position.
always set G90 before executing G53 moves.
This is a common modification to linuxcnc.
maybe if we have a 'standard' remap it will make things easier.
This is based on Versaprobe remap.
Param 4999 holds whether the machine in imperial.
param 5000 holds the workpiece height in absolute machine units.
The ini holds the rest of the required imforation.
To make things essier it would be nice to have a couple params
always available, such as what units the machine is based on
work in progress but it does work.
A toolsetter component for sim testing would be helpful too.
Better error handling of remaps, particular finding the files to import,
would really help people.
It it fails it would be nice to know where it looked...
rename SELECT_POCKET to SELECT_TOOL
iocontrol now gets the pocket number
of the selected tool from the tooltable.
Signed-off-by: Rene Hopf <renehopf@mac.com>
The functionality to return `INTERP_EXECUTE_FINISH` in a python
remap function has always existed, but was broken until PR #135.
The fix revealed a bug in the standard remap `change_epilog()`
function, which was not written as a python generator function.
Thanks to @dhwiezel for discovering and reporting this bug. Fixes
#217.
Signed-off-by: John Morris john@zultron.com
allow support of remap examples in deb install
create:
nc_files/common_nc_subs
nc_files/python-stdglue
and relocate directory contents from configs/sim/axis/remap/
2013-12-09 13:53:53 -07:00
Renamed from configs/sim/axis/remap/python-stdglue/stdglue.py (Browse further)