also for rip-environment.in
Provide an environmental variable for guis so that expected
gcode libraries can be found without in-gui methods.
Note, the naming legacy is very different for RIP and DEB
DEB: /usr/share/linuxcnc/ncfiles/
RIP the_git_top/nc_files/
^^^^^^^^
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
for consistency with proc used for emccalib.tcl et al:
lib/hallib/hal_procs_lib.tcl:find_file_in_path
minor: improve format of "Found file" prints
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
until hal is started.
And make default [APPLICATIONS]DELAY=0
Most existing [APPLICATION]APP= examples only need a delay for
creation of hal pins -- this commit elimates need for a delay in
these cases.
A delay _is_ needed when an [APPLICATION]APP= depends
on [HAL]POSTGUI_HALFILE connections or other gui preliminaries
such as the pins created by the touchy gui.
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
linuxcnc.in: a haltcl file can make use of args
haltcl.in: set argv [lindex $argv 1 end] was always wrong,
lrange was intent
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
1) HALLIB_DIR: new directory for system-wide hal files (*.hal,*.tcl and
supporting files).
Locations:
RIP: HALLIB = lib/hallib/
DEB: HALLIB = /usr/share/linuxcnc/hallib/
2) HALLIB_PATH: search path for locating halfiles:
HALLIB_PATH = .:HALLIB_DIR (e.g., ini directory then system library)
3) LIB: prefix to explicitly specify a system library halfile (with
no search of the ini file directory)
[HAL]
...
HALFILE = LIB:filename.[hal|tcl]
...
This patch addresses a general issue of the multiple copies (or links) of
halfiles throughout the config tree and makes it simple to explicitly specify a
library halfile so that a user does not need to copy these files when modifying
a configuration. For example, one can instruct a user with:
'Include the line HALFILE = LIB:xhc-hb04.tcl in the [HAL] stanza of
your ini file'
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
Specify with:
[APPLICATIONS] DELAY = value_in_seconds
[APPLICATIONS] APP = application name
Also: Update ini_hal_demo.ini example to simplify and
illustrate starting of an application
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
A new file type (.demo) in the configs tree is supported by the linuxcnc
script and the configuration selector (pickconfig.tcl). A .demo file
must be executable and is typically implemented as a shell script that
invokes an application with appropriate parameters.
This facility makes it possible to demonstrate apps related to linuxcnc
using pickconfig without starting linuxcnc or requiring a complete ini
file.
Thanks to Chris Morley for suggestion
Details:
Modify pickconfig to support .demo files
Use noforcecopy for .demo files which should not be copied to
a user dir
Provide .demo apps for halrun,info,parport,xhc-hb04
Provide .demo apps for gladevcp,pyvcp
New script: linuxcnc_var and removal of several scripts/*.in.
Rename latency scripts for consistency (and reduce merge overwrites).
Remove latencyplot from menu.
Moved gladevcp demo apps from root/gladevcp to configs/apps/gladevcp
The root/gladevcp/ examples were orphans and didn't work with
the configuration selector
Change .py files so persistent files are named .save instead of
.ini to avoid conflict with .ini files which the configuration
selector presumes are working configs.
Rebranding in some py files
Some clarifications within copied README files
Consolidate by-widgets dir
Update docs
New doc for configuration selector (needs formatting)
Update for configs tree rearrangement
Rename 2 non working sim .ini files to .ini.notworking
This will now expand ~user/ correctly when user's home directory isn't
/home/user, and also allows other kinds of shell expansion; for instance you
can include from a path that uses ${LINUXCNCVERSION}
Now [MOT]MOT will be searched first, then [EMCMOT]EMCMOT. The same
for [IO].
This is only a partial solution, as C(++) coded parts are still aware
only of the old (section) names
this includes the main script, some of the GUIs, the Python module,
the Tcl package, some image fies.
On a sim system, axis, tkemc, xemc all start. runtests pass.
a system with realtime wasn't yet tested.
packaging probably requires additional changes and was not yet tested.