Public Access
Split Nano firmware into modules
- config.h: all constants and debug defines - command_parser.h/.cpp: CommandParser class, one method per command - settings.h/.cpp: EEPROM flip time storage - main.cpp: setup/loop and the periodic full redraw only - Full redraw now checks frameEnded() after the serial buffer is drained - Drop the SPI/Adafruit_I2CDevice include workaround (not needed) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
75f677a2eb
commit
80f3f78152
8 files changed
+429
-279
No files matched your search
+12
-1
@@ -6,6 +6,17 @@ The Nano is connected directly to the Brose panel electronics. It keeps an 84 ×
|
||||
buffer and takes drawing commands over serial (115200 baud). It has no clock or network
|
||||
logic.
|
||||
|
||||
## Files
|
||||
|
||||
| File | Contents |
|
||||
|------|----------|
|
||||
| `main.cpp` | `setup()` / `loop()`, feeds serial bytes to the parser, periodic full redraw |
|
||||
| `config.h` | All settings: debug options, display size, flip time limits, timings |
|
||||
| `command_parser.h/.cpp` | `CommandParser`: the serial protocol, one method per command |
|
||||
| `settings.h/.cpp` | Flip time stored in EEPROM |
|
||||
|
||||
The display driver itself is in [lib/BROSE9323](../../lib/BROSE9323/README.md).
|
||||
|
||||
## Behaviour
|
||||
|
||||
- **Boot:** the Nano loads the flip time from EEPROM, sets up the pins and sends `READY`.
|
||||
@@ -24,7 +35,7 @@ logic.
|
||||
|
||||
### Debug options
|
||||
|
||||
Uncomment these at the top of `main.cpp`:
|
||||
Uncomment these in `config.h`:
|
||||
|
||||
| Define | Effect |
|
||||
|--------|--------|
|
||||
|
||||
Reference in new issue
Block a user