Sorry i missed you post earlier -
Actually good i waited because now that i'm actually familiar with the firmware, i can better answer you.
Digitalmagic wrote:What is the clear advantage of the ORDuino, compared with RAMPS 1.4 stack?
There are many advantages but mostly they concern reliability and peripheral hardware capabilities and ratings. Check out the new flyer to get the whole scoop
Its the same processor as the Arduino Mega, running at 16MHz.
Digitalmagic wrote:My goal is hires and fast printing, to make it short.
To do this, I only can see powerful MCU, and optimized firmware.
You're absolutely right about that.
From messing about in the firmware recently, its seems apparent to me that the biggest bottleneck by far right now is the serial link and protocol handling in there.
That could be easily fixed but it would mean forking the firmware code project irreversibly away from Arduino-compatibility.
I am seriously considering doing it because of the code performance improvement, as much as a safety/stability angle as raw print speed.
but only after the basic port is done and reintegrated in the main codebase so people can still choose either.
The new fork would run on FreeRTOS.
It would be converted to a fully-preemptive, hard real-time project with most if not all of the time-critical code (and communications) running directly in small ISR's or in independent tasks triggered by them.
On Cortex i typically run at 200uS-500uS time-slices but i suspect in a 16Mhz AVR that will need to be closer to 5-10mS, dependent on potential code porting issues.
you could probably still compile it under the Arduino environment but i couldn't fathom why anyone would want to.
I'll probably build it in Eclipse (Open-source environment, same as Linux & Android) or at least in AVR Studio 7 (Free download, based on Visual Studio) if i must.
This porting effort will be a stepping stone towards a later revision of the board that will be 100% Cortex - probably M4 (or M3) running at 180 to 200+ MHz.
Obviously, its name will have to be totally different
Among its many powerful features, you can count: direct fast USB device AND host (USB key driver) 10/100 ethernet, color TFT LCD support, DSP features ( think 5-axis coordinated motion, circular, b-spline smoothing, slicing raw .stl on the fly)... plus built-in motor drivers, incremental encoder, fast nybble-mode SDIO controller ...etc..etc...etc... sorry no ETA yet on that version though. Don't expect it till end of summer, early fall.
Also, and partly due to weird issues ive been having with reprogramming the AVR's through the FTI USB interface IC, i am changing that to a tiny cortex processor (half the price as the FTDI IC to boot!) which has ROM-based USB drivers which i have used before and i know work well. on top of that, being totally configurable and expandable, will enable nice feature later, like : press a button to tell the cortex IC to wipe the AVR, show up as a USB hard drive when you plug it in, and drag & drop both a new firmware for the cortex to reprogram itself, and a new firmware to program into the AVR. That way even if you have a virgin board straight out of the oven you can have it loaded and running any firmware, Arduino or not, in minutes with no special hardware or PC utilities.