With pleasure, I present...
____ __ __
/\ | / \ |\ | / \
/ \ |____ | | | \ | \___
/----\ | | | | \ | \
/ \ |____ \ __ / | \| ___/
...because C++ isn't so bad after all.
This firmware started out as an exercise: An object-oriented redesign of Sprinter Firmware. However, it ended up becoming something more ambitious. Now, the code is complete enough to work, at least in theory, and I would really appreciate it if the devs among you would give it a lookover and tell me what you think. It should compile with the Arduino IDE, and work fine, however I have had very little testing on an actual printer, more on a pile of circuits and motors hooked up to my PC, so if you do put it on a printer don't leave it unattended.
Supported Electronics:
RAMPS 1.0 - 1.4
Gen7
Gen6
Features:
Dual extruder support
Inactivity timeout
Full 4D/stepper extruder control
Written in heavily commented, object-oriented C++ for ease of development & expansion
Full on-device gcode checksum verification
User-defined pin and thermistor tables, or can use Sprinter's library of temp tables
Can control an ATX power supply
Should fit on an ATMega 328p or above (can't test because my build environment is different)
Planned Features:
Gen3 Support
Movement acceleration
Runtime config (maybe EEPROM, maybe not...)
Many gcodes that I haven't added (M109, G4, etc)
More to come, I'm open to suggestions
Download:
Github repo
Thanks a ton in advance for your time and attention. If you have bug reports, feature requests, or anything else, just post here.