mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-29 08:18:12 +00:00
The screen faded as the device was used: text went grey a few updates after it was drawn, while whatever had just changed stayed crisp. Only a full refresh brought it back, and the next few updates ate it again. A partial update is differential -- the controller drives only the pixels that differ between its "current" (0x24) and "previous" (0x26) RAM and leaves the rest to hold their own charge, which this panel doesn't do well. Priming the previous-image RAM with the inverse of the incoming frame makes every pixel a difference, so all of them get driven to their target, in both directions. The inverse matters: priming with flat white makes only white->black a difference, so ink is re-driven but never erased and every screen ever shown accumulates as a ghost. Confirmed on hardware, both ways round. Costs one extra full-screen RAM write (a few ms of SPI). The refresh itself is unchanged -- the waveform clocks the whole panel regardless of how many pixels it drives -- so nothing got slower. Clearing ghosts is still the periodic full refresh's job (Settings > Full rfsh), which can now stay off. The helper needs GxEPD2_BW's private _buffer/_page_height, so it goes in the patched copy of the header, which every e-ink build now includes unconditionally rather than only screenshot-enabled ones. All e-ink variants pin GxEPD2 1.6.2, the version that copy tracks. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in a an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html