EMC2 running on Raspberry Pi?
- andypugh
- Offline
- Moderator
- Posts: 23536
- Thank you received: 4852
I am totally confused
Me too.
I think all the rt-preempt discussion took place on the mailing list, and I don't recall if it ever moved a motor.
It is probably worth looking through the mailing list (developer?) archives. Looke under "Community" at the top.
Please Log in or Create an account to join the conversation.
- mungkie
- Offline
- Premium Member
- Posts: 104
- Thank you received: 6
sourceforge.net/mailarchive/message.php?msg_id=29186458
I fear the wiki page is full of c**p, would be nice if it said the instructions are incomplete and do not work so people don't start wasting time possibly going down a dead end.
I will try and read everything about development, but it looks like the bitmuster stuff is an old emc version and the wikipage is an attempt to forward port the patches to the new linuxcnc development branch???
It makes me reconsider if looking at xenomai may be a better and quicker route.
Looks like I need to do a lot more research again
I am seriously starting to think about giving up on this for a while, as I am not a good programmer or developer.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23536
- Thank you received: 4852
I am seriously starting to think about giving up on this for a while, as I am not a good programmer or developer.
You missed off the "Yet".
I had never touched C before I started writing HAL drivers. And I have only very occasionally been paid to program.
Learnign new stuff is the fun part.
Please Log in or Create an account to join the conversation.
- BigJohnT
- Offline
- Administrator
- Posts: 7330
- Thank you received: 1176
I fear the wiki page is full of c**p, would be nice if it said the instructions are incomplete and do not work so people don't start wasting time possibly going down a dead end.
The wiki is user maintained, if you find something that needs changing you can change it or add to it.
wiki.linuxcnc.org/cgi-bin/wiki.pl?BasicSteps
John
Please Log in or Create an account to join the conversation.
- mungkie
- Offline
- Premium Member
- Posts: 104
- Thank you received: 6
THERE ARE NO RT_PREEMPT PATCHES OR MODIFICATIONS MADE TO THE GIT REPO AT git://gitorious.org/emc-rt-preempt/emc-rt-preempt.git linuxcnc-buesch-rt
THE WIKI ONLY LINKS TO SOME NON EXISTENT PATCHES SO BASICALLY THERE IS NOTHING AVAILABLE EXCEPT THE BITMUSTER CODE.
PATCHING THE BITMUSTER CODE TO THE NEW CODEBASE BY HAND WILL PROBABLY TAKE ABOUT 4-5 HOURS, BUT I AM SO ANNOYED BY THE WAY SOMEONE HAS WASTED MY TIME I AM GOING TO LEAVE IT A FEW WEEKS SO I CAN CALM DOWN.
WARNING TO ANYONE CONSIDERING TRYING THE RT_PREEMPT EFFORT, IGNORE THE WIKI PAGE, POSSIBLY START WITH A FRESH COPY OF THE OFFICIAL LINUXCNC GIT REPO, AND CAREFULLY READ THROUGH THE PATCHES AT www.bitmuster.org/projects/emc.html
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23536
- Thank you received: 4852
Is it possible that you didn't switch to the correct branch after cloning the repo?THERE ARE NO RT_PREEMPT PATCHES OR MODIFICATIONS MADE TO THE GIT REPO AT git://gitorious.org/emc-rt-preempt/emc-rt-preempt.git linuxcnc-buesch-rt
(I would check, but I am at work, in a foreign country, on a work laptop running Win7)
The gitorious repo was intended as a first step to incorporating the Buesch / Abel code into the main LinuxCNC repo. I am not sure what happened to that idea.
I don't think that Lars claimed anything else, you can follow the discussion here:
www.mail-archive.com/emc-developers@list...ge.net/msg04617.html
Please Log in or Create an account to join the conversation.
- mungkie
- Offline
- Premium Member
- Posts: 104
- Thank you received: 6
As far as I can workout gitorious.org/emc-rt-preempt/emc-rt-pree...shm_20120501_cleaned seems to be the most upto date version, can anyone advise on this??
It definitely seems to have new files from the bitmuster patches in the source tree.
Maybe I will try and make download and compile this evening.
Though I think maybe RPI will not be suited to linuxcnc with axis until someone gets accelerated X and python openGL ES working and possibly a new networking system.
I had a quick mess around with cyclictest and seems average RT_PREEMPT latency is 300us.
Please Log in or Create an account to join the conversation.
- mungkie
- Offline
- Premium Member
- Posts: 104
- Thank you received: 6
I also notice all my forum posts on my old login have been erased.
Any chance someone could look into this?
This was with reference to editing the wiki. actually I did not need a password anyway, but what was the point in setting a wiki password anyways?
I have no idea about using git so am not really the person to tell anyone how to do anything, despite this I have updated the wiki
wiki.linuxcnc.org/cgi-bin/wiki.pl?Debian...-Rt_Compile_LinuxCNC
Anyone have any comment please add them to the wiki.
I think I am having some mental problems as I am not quoting correct reference posts and have somehow made multiple unnecessary posts of irrelevant junk???
I think I need to take a rest from this.
Please Log in or Create an account to join the conversation.
- mungkie
- Offline
- Premium Member
- Posts: 104
- Thank you received: 6
I compiled the code that I got as per my update shown on the wiki page and it looks okay, I patched with my simple hacks for raspberry pi and it runs axis with sim 'axis' config.
This was done on friday night, I was hoping to get the hardware driver compiled and tested over the weekend but have felt really really ill unable to think or get out of bed.
At present I am hoping to try the driver compile before next weekend as I feel like I am past the worst as far as feeling ill goes.
I have a load of error logs that I saved from running the RT_PREEMPT scripts/linuxcnc and the scripts/runtests.
There were lots more errors shown in runtests than when this was run in sim mode.
Also I looked at the RT_PREEMPT code in src/rtapi/ and it looks like a good template for implementing a xenomai patch for linuxcnc so I may look at xenomai implementation after I finish hacking about the RT_PREEMPT stuff.
At present latency does not look good, but I am still guessing that the RPI has enough power to run linuxcnc reasonably, it may just be that a lot of work is required to get the performance.
Also I am reasonably sure that I am missing a lot of important peices of the puzzle as I think my driver was not performing as I had expected (a frequency meter on the driver pins showed 1.5kHz, but on the video test the max I could get was about 60rpm from a 200step stepper).
Please Log in or Create an account to join the conversation.
- mungkie
- Offline
- Premium Member
- Posts: 104
- Thank you received: 6
output from running : . ./scripts/rip-environment ; ./scripts/linuxcnc
pi@raspberrypi ~/ncnc/emc-rt-preempt $ ./scripts/linuxcnc
LINUXCNC - 2.6.0~pre
Machine configuration directory is '/home/pi/ncnc/emc-rt-preempt/configs/sim/axis'
Machine configuration file is 'axis.ini'
Starting LinuxCNC...
REALTIME SCRIPT CALLED AS USER : pi
Realtime: loading
io started
halcmd loadusr io started
Note: iopl is Currently disabled for ARM
Waiting for component 'trivkins' to become ready..
Note: iopl is Currently disabled for ARM
Waiting for component 'motmod' to become ready........MOTION: init_module() starting...
MOTION: init_hal_io() starting...
.MOTION: init_hal_io() complete, 3 axes.
MOTION: init_comm_buffers() starting...
........MOTION: init_comm_buffers() complete
MOTION: init_threads() starting...
rtapi_clock_set_period (res=1) -> 1000000
Creating new task with requested priority 98 (highest=99 lowest=1)
.About to pthread_create task 0
Created task 0
Hello world, I am task 0
rtapi task 0: Reset pagefault counter
task 0x17d70 period = 1000000 ratio=1
Setting affinity of 0
Using CPU 0
Calling pthread_setaffinity_np() for 0
pthread_setaffinity_np() for 0 done
Affinity set for 0
Task 0 finished its basic init
New maximum latency of task 0 is 48 at period 1000 us
MOTION: setting Servo cycle time to 1000000 nsecs
New maximum latency of task 0 is 51 at period 1000 us
MOTION: setting Traj cycle time to 1000000 nsecs
MOTION: init_threads() complete
MOTION: init_module() complete
New maximum latency of task 0 is 57 at period 1000 us
New maximum latency of task 0 is 62 at period 1000 us
New maximum latency of task 0 is 68 at period 1000 us
New maximum latency of task 0 is 69 at period 1000 us
New maximum latency of task 0 is 76 at period 1000 us
Note: iopl is Currently disabled for ARM
New maximum latency of task 0 is 77 at period 1000 us
Waiting for component 'ddt' to become ready......New maximum latency of task 0 is 79 at period 1000 us
.........New maximum latency of task 0 is 80 at period 1000 us
.........
Note: iopl is Currently disabled for ARM
Waiting for component 'hypot' to become ready..............
Note: iopl is Currently disabled for ARM
Waiting for component 'comp' to become ready.......
Note: iopl is Currently disabled for ARM
New maximum latency of task 0 is 82 at period 1000 us
Waiting for component 'or2' to become ready.
Note: iopl is Currently disabled for ARM
Note: iopl is Currently disabled for ARM
Note: iopl is Currently disabled for ARM
Note: iopl is Currently disabled for ARM
Waiting for component 'hal_manualtoolchange' to become ready.....
MOTION: setting Traj cycle time to 1000000 nsecs
MOTION: setting Servo cycle time to 1000000 nsecs
task pid=5517
emcTaskInit: using builtin interpreter
New maximum latency of task 0 is 85 at period 1000 us
New maximum latency of task 0 is 89 at period 1000 us
New maximum latency of task 0 is 93 at period 1000 us
New maximum latency of task 0 is 94 at period 1000 us
New maximum latency of task 0 is 103 at period 1000 us
ERROR: Missed scheduling deadline (50us) for task 0 [1 times]
Now is 6159.594469413, deadline was 6159.595366046
Absolute number of pagefaults in realtime context: 43
ERROR: Missed scheduling deadline (50us) for task 0 [1 times]
Now is 6159.594469413, deadline was 6159.595366046
Absolute number of pagefaults in realtime context: 43
Shutting down and cleaning up LinuxCNC...
Note: iopl is Currently disabled for ARM
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
lowpass: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
limit2: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
sim_spindle: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
or2: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
comp: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
hypot: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
ddt: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
motmod: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
Note: iopl is Currently disabled for ARM
trivkins: not loaded
Found zero CPUs in the system. Confused...
<commandline>:0: exit value: 255
<commandline>:0: rmmod failed, returned -1
<commandline>:0: unloadrt failed
REALTIME SCRIPT CALLED AS USER : pi
pi
Realtime: exiting rtapi
Note: iopl is Currently disabled for ARM
Found zero CPUs in the system. Confused...
Cleanup done
Please Log in or Create an account to join the conversation.