Another plasma component...

More
7 years 4 months ago #136341 by phillc54

AgentWD40 wrote: I changed line #73 of configurator.py to

Code:
self.copyPath = os.path.dirname(os.path.abspath(__file__))

in order to get the links to use full path names and it seems to have worked. My new config loads just fine.

Thanks, I will give that a shot later.

Cheers, Phill.

Please Log in to join the conversation.

More
7 years 4 months ago #136342 by phillc54
OK, a bit of research says that I should use:
Code:
os.path.abspath(os.path.dirname(sys.argv[0]))


Cheers, Phill.

Please Log in to join the conversation.

More
7 years 4 months ago #136343 by islander261
Guys

I know this will not be a great help here in getting all the configurator links worked out.

Given the rapid pace of Plasmac branch evolution some time ago I decided to just have my configuration be my systems .ini and .hal files plus links to all the required files to make the branch work. I had to manually build this, the configuration program took a different tack at that point in time. The plus side of spending the hour building this is that any time the branch is updated I don't need to mess with my configuration. I strongly encourage everyone to really try and make the configurator work. Especially if you cannot build a working .ini and .hal files from the examples. Please this is a last ditch effort and I am not sure others will support this.

This is about what I did:

1. I built a working machine.hal file for my hardware.
2. I added all the Plasmac connections to my machine .hal file. Not the recommended solution!
3. A major side track that I recommend you avoid until you have a working configuration is I integrated the files and .ini stanzas to support my pendant. This also required modifying the pendant .tcl file and adding a postgui.hal file.
4. Then I created a directory under my ~/plasmac/configs/ most likely if you have followed all the tuts yours is ~/linuxcnc-plasmac/configs/ directory to hold you working configuration.
5. I then copied the entire contents of the ~/linuxcnc-plasmac/configs/by_machine/plasmac/gmoccapy to my configuration directory ( if you are using axis it will be the axis directory).
6. Since I only work in one set of units I deleted all of the ones I don't use from my configuration directory.
7. Now I have a configuration directory full of broken links. The shortest term fix is just copy all the files from your ~/linuxcnc-plasma/configs/by_machine/plasmac directory and delete all links. This is VERY short sighted because all will be broken the next update.
8. The best way is to now make a new link to each file in your ~/linuxcnc-plasmac/configs/by_machine/plasmac/ directory and cut and paste it into your configuration directory.
9. Then delete each original link and rename the ones you just pasted in to the old names.
10. Now barring any cockups you should be good to go.

It should be pretty obvious now why you really want to try hard to make the configurator work.

John

Please Log in to join the conversation.

More
7 years 4 months ago #136344 by phillc54
On my Stretch machine for this bit of code:
Code:
self.copyPath = os.path.dirname(sys.argv[0]) print self.copyPath self.copyPath = os.path.abspath(os.path.dirname(sys.argv[0])) print self.copyPath self.copyPath = os.path.dirname(os.path.abspath(__file__)) print self.copyPath
I get exactly the same result which is an absolute path...

AgentWD40, what linux distribution are you running?

[code]

Please Log in to join the conversation.

More
7 years 4 months ago #136345 by AgentWD40
I'm using debian stretch and python 2.7.13. It is a relative path issue. The last two methods you've shown will work, the first will only work sometimes.

Here is a test script saved in my home directory and me running it from different directories to illustrate what's going
Code:
import sys import os a = os.path.dirname(sys.argv[0]) b = os.path.abspath(os.path.dirname(sys.argv[0])) c = os.path.dirname(os.path.abspath(__file__)) print a print b print c



[EDIT]
So it looks as though if you call the configurator from the terminal like you told me to earlier like this
Code:
~/linuxcnc-plasmac/configs/by_machine/plasmac/configurator.py
the ~ will get expanded to an absolute path before executing the script. My problem is I was cd'ing into ~ and then running
Code:
./linuxcnc-plasmac/configs/by_machine/plasmac/configurator.py
which is a relative path and so it wasn't working as expected... That's my guess anyway. But I imagine either of the last two methods would be more idiot proof for guys like me that can't follow instructions, and I wouldn't think you would need to check the working directory any longer.

Please Log in to join the conversation.

More
7 years 4 months ago #136346 by phillc54
Well, that explains why I haven't seen the problem before.

I have only ever run the configurator from a GUI file manager...

I think after a bit more research that I will use:
Code:
self.copyPath = os.path.realpath(os.path.dirname(sys.argv[0]))
as that will also eliminate any symbolic links if they exist.

Thanks for the report.

Cheers, Phill.

Please Log in to join the conversation.

More
7 years 4 months ago #136378 by bevins
Replied by bevins on topic Another plasma component...
You need to install glade? IT complains of no glade.

Also it pulled 2.9. this normal?
Code:
Machine configuration file is 'imperial_plasmac.ini' Starting LinuxCNC... twopass:invoked with <> options twopass:found /home/denis/linuxcnc-plasmac/lib/hallib/basic_sim.tcl twopass:found ./plasmac.hal setup_kins: cmd=loadrt trivkins coordinates=xyyz twopass:pass0: loadusr -W hal_manualtoolchange Note: Using POSIX realtime setup_kins: cmd=loadrt trivkins coordinates=xyyz APP: ./test/plasmac_test.py found: </home/denis/linuxcnc-plasmac/configs/by_machine/plasmac/gmoccapy/./test/plasmac_test.py> Traceback (most recent call last): File "/home/denis/linuxcnc-plasmac/bin/gmoccapy", line 36, in <module> import gladevcp.makepins # needed for the dialog"s calculator widget File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/__init__.py", line 1, in <module> from hal_pythonplugin import * File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/hal_pythonplugin.py", line 20, in <module> from led import HAL_LED File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/led.py", line 6, in <module> import gtk.glade ImportError: No module named glade Shutting down and cleaning up LinuxCNC... task: 13 cycles, min=0.000009, max=0.010076, avg=0.007050, 0 latency excursions (> 10x expected cycle time of 0.010000s) Note: Using POSIX realtime LinuxCNC terminated with an error. You can find more information in the log: /home/denis/linuxcnc_debug.txt and /home/denis/linuxcnc_print.txt as well as in the output of the shell command 'dmesg' and in the terminal denis@plasma01:~/linuxcnc-plasmac/src$ Traceback (most recent call last): File "/home/denis/linuxcnc-plasmac/configs/by_machine/plasmac/gmoccapy/./test/plasmac_test.py", line 28, in <module> import gladevcp.makepins File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/__init__.py", line 1, in <module> from hal_pythonplugin import * File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/hal_pythonplugin.py", line 20, in <module> from led import HAL_LED File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/led.py", line 6, in <module> import gtk.glade ImportError: No module named glade

Please Log in to join the conversation.

More
7 years 4 months ago #136380 by AgentWD40

bevins wrote: You need to install glade? IT complains of no glade.

I think we've worked it out. The issue was in the way the configurator was creating shortcuts to the config files. If it wasn't executed correctly it would create shortcuts that didn't point to the right place and understandably confuse LinuxCNC.

Also it pulled 2.9. this normal?

Yup! As of a few days ago were working on 2.9 instead of 2.8.

Please Log in to join the conversation.

More
7 years 4 months ago #136381 by bevins
Replied by bevins on topic Another plasma component...

AgentWD40 wrote:

bevins wrote: You need to install glade? IT complains of no glade.

I think we've worked it out. The issue was in the way the configurator was creating shortcuts to the config files. If it wasn't executed correctly it would create shortcuts that didn't point to the right place and understandably confuse LinuxCNC.

Also it pulled 2.9. this normal?

Yup! As of a few days ago were working on 2.9 instead of 2.8.


Still no go. Glade installed and I can start it fine.
Code:
Machine configuration file is 'imperial_plasmac.ini' Starting LinuxCNC... twopass:invoked with <> options twopass:found /home/denis/linuxcnc-plasmac/lib/hallib/basic_sim.tcl twopass:found ./plasmac.hal setup_kins: cmd=loadrt trivkins coordinates=xyyz twopass:pass0: loadusr -W hal_manualtoolchange Note: Using POSIX realtime setup_kins: cmd=loadrt trivkins coordinates=xyyz APP: ./test/plasmac_test.py found: </home/denis/linuxcnc-plasmac/configs/by_machine/plasmac/gmoccapy/./test/plasmac_test.py> Traceback (most recent call last): File "/home/denis/linuxcnc-plasmac/bin/gmoccapy", line 36, in <module> import gladevcp.makepins # needed for the dialog"s calculator widget File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/__init__.py", line 1, in <module> from hal_pythonplugin import * File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/hal_pythonplugin.py", line 20, in <module> from led import HAL_LED File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/led.py", line 6, in <module> import gtk.glade ImportError: No module named glade Shutting down and cleaning up LinuxCNC... task: 12 cycles, min=0.000010, max=0.010071, avg=0.007441, 0 latency excursions (> 10x expected cycle time of 0.010000s) Note: Using POSIX realtime LinuxCNC terminated with an error. You can find more information in the log: /home/denis/linuxcnc_debug.txt and /home/denis/linuxcnc_print.txt as well as in the output of the shell command 'dmesg' and in the terminal denis@plasma01:~/linuxcnc-plasmac/src$ Traceback (most recent call last): File "/home/denis/linuxcnc-plasmac/configs/by_machine/plasmac/gmoccapy/./test/plasmac_test.py", line 28, in <module> import gladevcp.makepins File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/__init__.py", line 1, in <module> from hal_pythonplugin import * File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/hal_pythonplugin.py", line 20, in <module> from led import HAL_LED File "/home/denis/linuxcnc-plasmac/lib/python/gladevcp/led.py", line 6, in <module> import gtk.glade ImportError: No module named glade denis@plasma01:~/linuxcnc-plasmac/src$

Please Log in to join the conversation.

More
7 years 4 months ago #136383 by AgentWD40

bevins wrote: Still no go. Glade installed and I can start it fine.


Oh, sorry. Disregard my previous reply. I thought you were replying to yesterday's issue. For some reason when I was looking at your post on mobile it didn't show your code block.

[edit]
It looks like it's complaining that the gtk.glade module for python is missing.

Maybe try
Code:
sudo apt-get install python-gtk2 python-glade2
to install it ?

Please Log in to join the conversation.

Time to create page: 0.438 seconds
Powered by Kunena Forum