> On 20 Nov 2017, at 20:07, Charles Steinkuehler <[email protected]> > wrote: > >> On 11/20/2017 11:36 AM, John Morris wrote: >> >>> On 11/20/2017 04:09 AM, Chris Albertson wrote: >>> I just found this other project. It is a g-code interpreter that >>> runs on RPi3 boards and other ARMs like that. >>> >>> What is interesting is that it is written in 100% python and they >>> get very good real time step generation using the standard non-real >>> time kernel. Yes python step generation and standard Linux >>> >>> How? >>> >>> The method is so simple I'm mad at myself for not thinking of it. >>> They use an ARM DMA channel to copy bits to GPIO. If you set up >>> bits in RAM correctly the DMA copies them using hardware with zero >>> software overhead, the bits are clocked with the system crystal >>> clock. Nearly zero jitter. The method is portable across any ARM A >>> type. >>> >>> DMA seem an obvious solution. I think the idea could be adapted to >>> MK. >>> >>> This appears to be new, code put in git hub 2017 >>> https://github.com/Nikolay-Kha/PyCNC >> >> Clever indeed. It would be neat to see a HAL comp using that scheme. > > This is a classic technique used to generate high precision pulse > trains. In the old (pre-DMA) days we'd also use a serial ports to > output pulses with accurate timings. Particularly the fancy ports > with a small FIFO made it a lot easier to get good results than raw > bit-twiddling with the CPU. :) > > If anyone wants to write a HAL module for this it would be a welcome > addition. It could give the RPi reasonable stepgen performance.
So is there no need for an Realtime kernel? How can one be sure that the HAL realtime thread is finished on time? -- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/machinekit. For more options, visit https://groups.google.com/d/optout.
