EMC2 running on Raspberry Pi?

More
23 Aug 2012 17:37 #23584 by andypugh
mungkie wrote:

I am totally confused :blush:


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.
More
23 Aug 2012 18:46 #23587 by mungkie
This looks like relevant post???
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.
More
23 Aug 2012 21:00 #23591 by andypugh
mungkie wrote:

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.
More
23 Aug 2012 21:27 #23593 by BigJohnT
mungkie wrote:

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
More
24 Aug 2012 11:17 #23614 by mungkie
I have just checked through the source code and it seems whoever created the wiki page and the git repo is either a liar or someone I would rather not comment on.

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
More
24 Aug 2012 11:47 - 24 Aug 2012 11:48 #23615 by andypugh
mungkie wrote:

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

Is it possible that you didn't switch to the correct branch after cloning the repo?
(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:
http://www.mail-archive.com/emc-developers@lists.sourceforge.net/msg04617.html
Last Edit: 24 Aug 2012 11:48 by andypugh.
More
24 Aug 2012 13:10 #23622 by mungkie
I have just had a browse of the repos and now realise that maybe there are a few too many branches which makes this confusing.

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.
More
24 Aug 2012 13:46 - 25 Aug 2012 17:03 #23625 by mungkie
Actually I cannot edit anything as someone seems to have disabled my linuxcnc.org account, and sending request login reminder does not send anything to my email account.

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.
Last Edit: 25 Aug 2012 17:03 by mungkie.
More
28 Aug 2012 10:02 #23706 by mungkie
I thought I would make another post probably unnecessarily as I have been feeling very ill and not done anything I was hoping to.

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).
More
29 Aug 2012 09:20 #23740 by mungkie
I still don't feel up to doing anything but ssh into the RPI and got the error logs in case anyone is interested can comment on them.
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
Moderators: ArcEye
Time to create page: 0.269 seconds
Powered by Kunena Forum