Interesting that comments are here just as I am thinking about looking at this again over christmas.
I never seem to get time to actually catch up with this project as everytime I look things have changed, and I am waiting for some kernel improvements .
I am sure the stepgen driver I wrote will not get into the upcoming linuxcnc release, there are so many things that need to get done the major one being the RT_PREEMPT kernel. I have read that apparently both the rpi and RT_PREEMPT patches will become mainline for kernel 3.12, so I am waiting for that.
The current 3.12 and 3.10 kernels seem to have very poor RT performance, I don't really have the knowledge to trace the problems, but average cyclictest always seems around 60us but spikes of 2000 or even 5000us can easily be created by running midori.
I have a feeling that there maybe problems with DMA usage in the rpi kernel with busy waits, I really don't know and it seem more hardware will be using the DMA engine in future kernels and the new fbturbo X server also, so not sure how the DMA may conflict with that?.
I will definitly be releasing a full updated and debuggered driver at some point soon, but I feel like the target is still moving too fast for it to be worth putting in large amount of effort.
The driver on the SD image that was released is basically the same as the one shown on this post
linuxcnc.org/index.php/english/forum/18-...y-pi?start=140#32939
I am hoping to add GPIO inputs and variable period settable at load time, I will release the code, but I am also considering creating a kickstarter project so I can buy myself some test equipment to work on the driver with.
I am also looking at cross platform gui options
linuxcnc.org/index.php/english/forum/41-...uture?start=10#41846
I imagine there could be problems with the driver if RT_PREEMPT has a latency greater than 2000us, and if there is cumulative latency then the code will need to implement some sort of catchup procedure.
It will all probably get done eventually, but this is just a hobby project so I am guessing it could take at least a year. If of course I realise its all not possible I will post details if anyone else wants to try and fix my mistakes :laugh: :lol: