This change involves significant refactoring and improvements:
Adding controls to the logger base class that controls auto-flush behavior
Add the ability to check the logger base to determine if an overrun has occurred since the last flush
Change the circular buffer implementation to something that is suitable for use on both AVR + Teensy, and has APIs that we can use to flush our circular buffer contents to SD cards by unwrapping the buffer for the user
Log from interrupt, which requires disabling auto-flush and echo behavior
Add a new logging strategy that demonstrates per-module log level support
Add a new logging strategy that demonstrates how to make a "robust" logger that will log to EEPROM if there is an error initializing the SD card (such as a missing card)
Add examples that demonstrate the use of these new features and strategies
This change involves significant refactoring and improvements: