function nnnnn not found - What is wrong?

More
27 Feb 2018 13:47 - 27 Feb 2018 17:25 #106617 by LtJo
I wrote my first HAL component realizing the logic to move stepper motors in JOG mode from my own PyVCP panel through my standalone HAL file. After small debuging the component was installed by "sudo halcompile --install filename.comp" and the whole worked. Thinking that everything is OK, based on the working component, I wrote a new one with more pins and a slightly changed function. The component has been installed as above. During the launch of the new HAL / .comp / PyVCP set, I received a 'function nnnn not found' coma. I launched HalShow, which showed the nnnn function, from the new component, and its pins as existing. Restarting HalRun with the first working set produced the result as above. Launching after the LINUX reboot gave an even worse result, because there were messages about unknown pins, being pins of my components. HALShow shows them as existing.
:~$ halrun -I -k -v -f /home/kuba/linuxcnc/mojHAL2.hal
.
/home/kuba/linuxcnc/mojHAL2.hal:1: Realtime module 'threads' loaded
/home/kuba/linuxcnc/mojHAL2.hal:3: Realtime module 'hal_parport' loaded
/home/kuba/linuxcnc/mojHAL2.hal:4: setting parameter 'parport.0.reset-time' to '5000'
/home/kuba/linuxcnc/mojHAL2.hal:4: Parameter 'parport.0.reset-time' set to 5000
/home/kuba/linuxcnc/mojHAL2.hal:5: Realtime module 'stepgen' loaded
/home/kuba/linuxcnc/mojHAL2.hal:6: Realtime module 'VelSelect' loaded
/home/kuba/linuxcnc/mojHAL2.hal:8: Component 'kuku' ready
/home/kuba/linuxcnc/mojHAL2.hal:8: Program 'pyvcp' started
/home/kuba/linuxcnc/mojHAL2.hal:11: Function 'parport.0.read' added to thread 'szybki'
/home/kuba/linuxcnc/mojHAL2.hal:12: Function 'stepgen.make-pulses' added to thread 'szybki'
/home/kuba/linuxcnc/mojHAL2.hal:13: Function 'parport.0.write' added to thread 'szybki'
/home/kuba/linuxcnc/mojHAL2.hal:14: Function 'parport.0.reset' added to thread 'szybki'
/home/kuba/linuxcnc/mojHAL2.hal:16: Function 'stepgen.capture-position' added to thread 'wolny'
/home/kuba/linuxcnc/mojHAL2.hal:17: Function 'stepgen.update-freq' added to thread 'wolny'
HAL: ERROR: function 'VelSelect' not found
/home/kuba/linuxcnc/mojHAL2.hal:18: addf failed
/home/kuba/linuxcnc/mojHAL2.hal:21: Pin 'VelSelect.JogMinus.in-00' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:22: Pin 'VelSelect.JogMinus.in-01' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:23: Pin 'VelSelect.JogMinus.in-02' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:24: Pin 'VelSelect.JogPlus.in-00' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:25: Pin 'VelSelect.JogPlus.in-01' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:26: Pin 'VelSelect.JogPlus.in-02' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:28: Pin 'parport.0.pin-01-out' linked to signal 'estop-out'
/home/kuba/linuxcnc/mojHAL2.hal:29: Pin 'parport.0.pin-02-out' linked to signal 'POLIOLstep'
/home/kuba/linuxcnc/mojHAL2.hal:30: setting parameter 'parport.0.pin-02-out-reset' to '1'
/home/kuba/linuxcnc/mojHAL2.hal:30: Parameter 'parport.0.pin-02-out-reset' set to 1
/home/kuba/linuxcnc/mojHAL2.hal:31: Pin 'parport.0.pin-03-out' linked to signal 'POLIOLdir'
/home/kuba/linuxcnc/mojHAL2.hal:32: Pin 'parport.0.pin-04-out' linked to signal 'PREPstep'
/home/kuba/linuxcnc/mojHAL2.hal:33: setting parameter 'parport.0.pin-04-out-reset' to '1'
/home/kuba/linuxcnc/mojHAL2.hal:33: Parameter 'parport.0.pin-04-out-reset' set to 1
/home/kuba/linuxcnc/mojHAL2.hal:34: Pin 'parport.0.pin-05-out' linked to signal 'PREPdir'
/home/kuba/linuxcnc/mojHAL2.hal:35: Pin 'parport.0.pin-06-out' linked to signal 'UTstep'
/home/kuba/linuxcnc/mojHAL2.hal:36: setting parameter 'parport.0.pin-06-out-reset' to '1'
/home/kuba/linuxcnc/mojHAL2.hal:36: Parameter 'parport.0.pin-06-out-reset' set to 1
/home/kuba/linuxcnc/mojHAL2.hal:37: Pin 'parport.0.pin-07-out' linked to signal 'UTdir'
/home/kuba/linuxcnc/mojHAL2.hal:38: setting parameter 'parport.0.pin-08-out-invert' to '1'
/home/kuba/linuxcnc/mojHAL2.hal:38: Parameter 'parport.0.pin-08-out-invert' set to 1
/home/kuba/linuxcnc/mojHAL2.hal:39: Pin 'Velselect.GrlEna' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:41: setting parameter 'stepgen.0.position-scale' to '500'
/home/kuba/linuxcnc/mojHAL2.hal:41: Parameter 'stepgen.0.position-scale' set to 500
/home/kuba/linuxcnc/mojHAL2.hal:42: setting parameter 'stepgen.0.steplen' to '1'
/home/kuba/linuxcnc/mojHAL2.hal:42: Parameter 'stepgen.0.steplen' set to 1
/home/kuba/linuxcnc/mojHAL2.hal:43: setting parameter 'stepgen.0.stepspace' to '0'
/home/kuba/linuxcnc/mojHAL2.hal:43: Parameter 'stepgen.0.stepspace' set to 0
/home/kuba/linuxcnc/mojHAL2.hal:44: setting parameter 'stepgen.0.dirhold' to '35000'
/home/kuba/linuxcnc/mojHAL2.hal:44: Parameter 'stepgen.0.dirhold' set to 35000
/home/kuba/linuxcnc/mojHAL2.hal:45: setting parameter 'stepgen.0.dirsetup' to '35000'
/home/kuba/linuxcnc/mojHAL2.hal:45: Parameter 'stepgen.0.dirsetup' set to 35000
/home/kuba/linuxcnc/mojHAL2.hal:46: setting parameter 'stepgen.0.maxaccel' to '750'
/home/kuba/linuxcnc/mojHAL2.hal:46: Parameter 'stepgen.0.maxaccel' set to 750
/home/kuba/linuxcnc/mojHAL2.hal:48: Pin 'VelSelect.out-02' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:50: Pin 'stepgen.0.position-fb' linked to signal 'POLIOLpos-fb'
/home/kuba/linuxcnc/mojHAL2.hal:51: Pin 'stepgen.0.step' linked to signal 'POLIOLstep'
/home/kuba/linuxcnc/mojHAL2.hal:52: Pin 'stepgen.0.dir' linked to signal 'POLIOLdir'
/home/kuba/linuxcnc/mojHAL2.hal:53: Pin 'Velselect.IndEna-00' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:55: setting parameter 'stepgen.1.position-scale' to '500'
/home/kuba/linuxcnc/mojHAL2.hal:55: Parameter 'stepgen.1.position-scale' set to 500
/home/kuba/linuxcnc/mojHAL2.hal:56: setting parameter 'stepgen.1.steplen' to '1'
/home/kuba/linuxcnc/mojHAL2.hal:56: Parameter 'stepgen.1.steplen' set to 1
/home/kuba/linuxcnc/mojHAL2.hal:57: setting parameter 'stepgen.1.stepspace' to '0'
/home/kuba/linuxcnc/mojHAL2.hal:57: Parameter 'stepgen.1.stepspace' set to 0
/home/kuba/linuxcnc/mojHAL2.hal:58: setting parameter 'stepgen.1.dirhold' to '35000'
/home/kuba/linuxcnc/mojHAL2.hal:58: Parameter 'stepgen.1.dirhold' set to 35000
/home/kuba/linuxcnc/mojHAL2.hal:59: setting parameter 'stepgen.1.dirsetup' to '35000'
/home/kuba/linuxcnc/mojHAL2.hal:59: Parameter 'stepgen.1.dirsetup' set to 35000
/home/kuba/linuxcnc/mojHAL2.hal:60: setting parameter 'stepgen.1.maxaccel' to '750'
/home/kuba/linuxcnc/mojHAL2.hal:60: Parameter 'stepgen.1.maxaccel' set to 750
/home/kuba/linuxcnc/mojHAL2.hal:62: Pin 'VelSelect.out-01' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:63: Pin 'stepgen.1.position-fb' linked to signal 'PREPpos-fb'
/home/kuba/linuxcnc/mojHAL2.hal:64: Pin 'stepgen.1.step' linked to signal 'PREPstep'
/home/kuba/linuxcnc/mojHAL2.hal:65: Pin 'stepgen.1.dir' linked to signal 'PREPdir'
/home/kuba/linuxcnc/mojHAL2.hal:66: Pin 'PREPenable' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:68: setting parameter 'stepgen.2.position-scale' to '500'
/home/kuba/linuxcnc/mojHAL2.hal:68: Parameter 'stepgen.2.position-scale' set to 500
/home/kuba/linuxcnc/mojHAL2.hal:69: setting parameter 'stepgen.2.steplen' to '12'
/home/kuba/linuxcnc/mojHAL2.hal:69: Parameter 'stepgen.2.steplen' set to 12
/home/kuba/linuxcnc/mojHAL2.hal:70: setting parameter 'stepgen.2.stepspace' to '0'
/home/kuba/linuxcnc/mojHAL2.hal:70: Parameter 'stepgen.2.stepspace' set to 0
/home/kuba/linuxcnc/mojHAL2.hal:71: setting parameter 'stepgen.2.dirhold' to '35000'
/home/kuba/linuxcnc/mojHAL2.hal:71: Parameter 'stepgen.2.dirhold' set to 35000
/home/kuba/linuxcnc/mojHAL2.hal:72: setting parameter 'stepgen.2.dirsetup' to '35000'
/home/kuba/linuxcnc/mojHAL2.hal:72: Parameter 'stepgen.2.dirsetup' set to 35000
/home/kuba/linuxcnc/mojHAL2.hal:73: setting parameter 'stepgen.2.maxaccel' to '750'
/home/kuba/linuxcnc/mojHAL2.hal:73: Parameter 'stepgen.2.maxaccel' set to 750
/home/kuba/linuxcnc/mojHAL2.hal:75: Pin 'VelSelect.out-02' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:76: Pin 'stepgen.2.position-fb' linked to signal 'UTpos-fb'
/home/kuba/linuxcnc/mojHAL2.hal:77: Pin 'stepgen.2.step' linked to signal 'UTstep'
/home/kuba/linuxcnc/mojHAL2.hal:78: Pin 'stepgen.2.dir' linked to signal 'UTdir'
/home/kuba/linuxcnc/mojHAL2.hal:79: Pin 'Velselect.IndEna-02' does not exist
/home/kuba/linuxcnc/mojHAL2.hal:81: Program 'halmeter' started
/home/kuba/linuxcnc/mojHAL2.hal:83: Realtime threads started
/home/kuba/linuxcnc/mojHAL2.hal:84: Waiting for component 'kuku'
/home/kuba/linuxcnc/mojHAL2.hal:84: Component 'kuku' finished
/home/kuba/linuxcnc/mojHAL2.hal:85: Realtime threads stopped
attaching .hal, .comp and .xml files

File Attachment:

File Name: mojHAL2.hal
File Size:3 KB

File Attachment:

File Name: mojPYVC.xml
File Size:2 KB

File Attachment:

File Name: VelSelect.comp
File Size:1 KB

File Attachment:

File Name: mojHALpos.hal
File Size:3 KB

File Attachment:

File Name: MojJogPos.comp
File Size:1 KB

File Attachment:

File Name: mojPYVCpos.xml
File Size:2 KB
Last edit: 27 Feb 2018 17:25 by LtJo.

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

More
27 Feb 2018 17:29 #106635 by rodw
You would not normally run halcompile (or install linuxcnc) as the root user which is what the sudo does.
I'm guessing your linuxcnc version is denied access to your comps due to a permissions issue
The problem is now you will need to delete the installed compiled file as root before dropping the sudo in your command so you might need to do a bit of sleuthing to clean it up.
Been there, done that!

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

More
27 Feb 2018 19:39 - 27 Feb 2018 19:40 #106652 by LtJo
I do not understand what you mean because my .ko files are compiled and installed in the right directory and have the same access rights as other real-time components.
Something must be wrong with HalCompile, because I copied the example of the ddt component to the ddtX.comp file as a ddtX component, I compiled and installed it using the 'sudo halcompile --install ddtX.comp' command as in manual. The attempt to use the .hal file ended with the following messages:
Realtime module 'ddtX' loaded
HAL: ERROR: function 'ddtX' not found
Last edit: 27 Feb 2018 19:40 by LtJo.

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

More
27 Feb 2018 20:14 #106656 by rodw
I don't believe you should use sudo.
use halcompile --install ddtX.comp
instead

It may be different for a deb install but I have been caught with a RIP config compiled from source and it was a bit messy to fix due to mixed permissions.

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

More
05 Mar 2018 21:16 #106974 by andypugh
I am pretty sure the problem is in the function name in the HAL file
addf VelSelect wolny

Try
addf VelSelect.0 wolny
The following user(s) said Thank You: Nico2017, lrak

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

Time to create page: 0.072 seconds
Powered by Kunena Forum