Created a new vismach model, doesn't show in the config picker.

More
22 Apr 2018 20:58 - 22 Apr 2018 21:48 #109454 by Wireline
I have created the attached robot model in vismach by editing existing PUMA 560 hal files and gui files (the one that uses genserkins). I would like to see if I can get it into the axis gui but it does not appear in the config picker menu at present. I am on a run-in-place development build.

Relevant files and folder structure:

/home/ross/linuxcnc-dev/src/hal/user_comps/vismach/staublirx60lgui.py
/home/ross/linuxcnc-dev/bin/staublirx60lgui
home/ross/linuxcnc-dev/configs/sim/axis/vismach/staubli/staublirx60lgui.hal and relevant model files

I do not yet have any ini, tbl, var, var.bak, xml or ngc files (looking at vismach/puma suggests these are needed in some way). Is this why the rx60 does not appear in the config picker, or is there a whole other process? I have followed the vismach wiki and linuxcnc vismach tutorial page and its scope is only limited to making the models.

I want to run in sim at the moment, but eventually it will drive the real thing.

If there is more info you need please ask.

Thanks for reading!

EDIT: I managed to get it to add it to the menu by copying the puma.ini, tbl, var, _postgui.hal and xml files and changing relevant lines. I can at least bring up the model window, but the terminal is outputting "waiting for component 'staublirx60lgui' to become ready.....". Any thoughts?
Attachments:
Last edit: 22 Apr 2018 21:48 by Wireline.

Please Log in or Create an account to join the conversation.

More
22 Apr 2018 22:35 #109464 by dgarrett
The configuration selector expects to find
user configurations in directories in:
/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:
$ 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:
$ 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:
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:
# halfile excerpt:
loadusr -Wname_of_your_vismach_component ./vismach_executable
# man halcmd for details on loadusr usage

Please Log in or Create an account to join the conversation.

More
29 Apr 2018 16:05 #109806 by Wireline
Many thanks for your reply, that will come in useful many times I am sure!

Please Log in or Create an account to join the conversation.

Time to create page: 0.069 seconds
Powered by Kunena Forum