The configuration selector expects to find
user configurations in directories in:
Code:
/home/username/linuxcnc/configs
(equivalently: ~/linuxcnc/configs)
This expectation is based on using a deb install. For a deb
install, the configuration selector will copy selected
configs and important related file links when one of the 'Sample
Configurations' is selected and the user responds
affirmatively to the prompt 'Would you like to copy ... ?'
For Run-In-Place usage, the configuration selector does not
(by default) copy files from the source tree but the user
can copy them manually. The reason for not copying files is
because RIP builds are generally intended for code
development where sample configs are located in-the-git-tree.
So, you can copy configuration files so that the
configuration selector can find them using commands like:
Code:
$ mkdir -p ~/linuxcnc/configs/ # create dir and its parent if required
# copy your entire config from the git tree:
$ cp -r /home/ross/linuxcnc-dev/configs/sim/axis/vismach/staubli ~/linuxcnc/configs/
An alternate approach that will copy files when using a RIP
build but with behavior like that for a deb install is to
first set the environmental variable debug_pickconfig:
Code:
$ source your_root_dir/scripts/rip-environment # source is like '.' but more readable
$ export debug_pickconfig=1
$ linuxcnc
# pick your config from the git tree of 'Sample Configurations'
# and then allow the configuration selector
# to copy it to ~/linuxcnc/configs where it will appear under
# 'My Configurations' on future invocations of linuxcnc.
# Do all future configuraton work in the created directory
# named: ~/linuxcnc/configs/staubli
The variable 'debug_pickconfig' is not documented as it is
primarily used for debugging pickconfig.tcl in a RIP environment
to check that it will work when used in a deb install.
Vismach programs are typically loaded with the 'loadusr'
command in a halfile like:
Code:
loadusr -Wpumagui pumagui
where, in this example, the first 'pumagui' is the
hal component name and the second 'pumagui' is the
name of the executable program.
The loadusr command (by default) expects to find any
executable by searching all the directories
specified by the environmental variable: PATH.
You can place your custom vismach program in a system
directory (/usr/bin for example) but root usage (sudo)
is required to place it and to maintain it.
An alternate method (that requires no root usage nor
additions to system directories) is to place your executable
in the configuration directory and specify the file with
explicit naming relative to that directory. Example:
Code:
# halfile excerpt:
loadusr -Wname_of_your_vismach_component ./vismach_executable
# man halcmd for details on loadusr usage