Public Access
- Shared BROSE9323 driver in lib/, ESPSERIAL selected via build_flags - Nano firmware in src/nano, ESP32 firmware in src/esp32 - Move WiFi/MQTT credentials to gitignored secrets.h (template provided) - Pin home-assistant-integration to 2.1.0 from the registry - Add esp32_usb environment for first flash / recovery - Add READMEs and CLAUDE.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
1.1 KiB
Markdown
26 lines
1.1 KiB
Markdown
# BROSE9323 driver
|
|
|
|
An `Adafruit_GFX` driver for Brose flipdot panels, shared by both firmware targets.
|
|
The constructor is `BROSE9323(width, height, panel_width, flip_time_us = 280)`. This
|
|
project uses `BROSE9323 display(84, 19, 28)`.
|
|
|
|
## Build modes
|
|
|
|
| Flag | Used by | Behaviour |
|
|
|------|---------|-----------|
|
|
| *(none)* | Nano | Drives the panel through GPIO. Keeps an old and a new frame buffer and flips only the dots that changed. |
|
|
| `-D ESPSERIAL` | ESP32 | Holds no buffer. `drawPixel`, `fillScreen`, `display` and `setTiming` are sent as serial commands to the Stream passed to `begin(&Serial)`. |
|
|
| `-D FLIPDOT_PLCC_ADAPTER` | Nano (optional) | Uses the pin mapping of the PLCC adapter board. |
|
|
|
|
The flags are set per environment in `platformio.ini` through `build_flags`. Don't
|
|
`#define` them in the header.
|
|
|
|
## Notes
|
|
|
|
- In direct mode (`setDirect(true)`) every pixel is flipped right away, without a call to
|
|
`display()`.
|
|
- `print()` maps German umlauts (ÄäÖöÜüß) to the code page 437 glyphs used by the GFX
|
|
font.
|
|
- On an ATmega168 the old buffer is left out to save RAM. Every `display()` call then
|
|
flips all dots.
|