-
Ooh another fun one you may be interested in is how I wrote Teacup's config handling - the user has to provide a config.h with various macros defining their machine setup, and then multiple separate parts of the codebase redefine those macros and re-include the file to build various structures and constants at compile-time
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Marlin
Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
As an example, check the macropocalypse in Marlin - but the actual trigger for me to start was Reprap firmware doing a floating point divide in interrupt context while targeting AVR8 coreā¦
-
Smoothieware
Modular, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++
I originally wrote Teacup because I was horrified at numerous aspects of the state of other 3d printer firmware codebases available, but after a few years I became far more interested in Smoothie and officially relinquished leadership of Teacup to Traumflug who'd been doing far more work on it than me at the time