On Mon, Sep 18, 2017 at 6:22 AM, Christopher Havel laserhawk64@gmail.com wrote:
Hey, Luke, this might be useful to you... (I *think* I have the right thread here... lol...)
https://hackaday.com/2017/09/17/better-stepping-with-8-bit-micros/
they're using DMA - which is really what you're supposed to be doing anyway.
the entire arduino software ecosystem was never designed to actually give people proper access to the hardware. anything that's a 180mb download and requires a 200mb runtime environment to compile and upload an executable that's only 16k in size *really* isn't going to end well.
so they're stepping well outside of the "normal" boundaries - good luck to them.
personally i feel it's much better to use a faster 32-bit processor, and to stick reaaasonably within an eco-system. however.... RepRapFirmware is just... genuinely much better-designed than Marlin. it's written in c++, it takes full advantage of OO techniques (Marlin does not. at all). it's also event-driven which means that the highest priority - based on a timer - is the actual stepper moving, with other "tasks" running to handle keeping the queue full... lots more as well.
also as it's timer-based and event-driven it's *automatically* far superior to what Marlin does. if you wanted to use DMA (if it isn't already) it would be far easier to use that in RepRapFirmware than Marlin. Marlin is a hard-coded for-loop with an interrupt for handling moves, but it's bit-banged (!) and... yeah.
anyway. back to PCB work...
l.