Public Access
Send only the changed dots of a frame to the Nano
Frames were sent as F0 plus one s command per yellow dot (thousands of characters). During scrolling that overran the Nano's serial buffer, and half-received frames redrew the whole screen. showBitmap() now sends two B commands over the changed rectangle (dots off, dots on), or one B command for a full frame, and the pacing counts the characters sent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
89001ddbc6
commit
47ef65ee7d
8 files changed
+262
-25
No files matched your search
@@ -4,6 +4,9 @@
|
||||
#include <Adafruit_GFX.h>
|
||||
|
||||
#include "dot_sequence.h"
|
||||
#ifdef ESPSERIAL
|
||||
#include "frame_commands.h"
|
||||
#endif
|
||||
|
||||
//#define FLIPDOT_PLCC_ADAPTER
|
||||
// ESPSERIAL is set per target via build_flags in platformio.ini (-D ESPSERIAL for the ESP32)
|
||||
@@ -103,6 +106,11 @@ public:
|
||||
BROSE9323(uint8_t, uint8_t, uint8_t, uint16_t ft = 280);
|
||||
#ifdef ESPSERIAL
|
||||
void begin(Stream * = &Serial);
|
||||
// Shows a full screen bitmap (drawBitmap format) and ends the frame (D, or D1 when
|
||||
// instant). changes_only: only the dots that differ from the last frame are sent
|
||||
// (frame_commands.h); otherwise the whole screen. Returns the characters sent (0:
|
||||
// nothing changed, nothing sent).
|
||||
size_t showBitmap(const uint8_t *bitmap, bool changes_only, bool instant = false);
|
||||
#endif
|
||||
void begin(void);
|
||||
// Shows the buffer: the changed dots, all with force. instant: without the refresh
|
||||
|
||||
Reference in new issue
Block a user