Skip to content

Commit 2890c24

Browse files
committed
Fixed partial update with deep sleep on Inkplate6 and Inkplate5V2.
1 parent 119f064 commit 2890c24

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

examples/Inkplate5/Advanced/DeepSleep/Inkplate5_Partial_Update_With_Deep_Sleep/Inkplate5_Partial_Update_With_Deep_Sleep.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ void createScreen()
7676
{
7777
display.setTextSize(3); // Set font to be scaled up three times
7878
display.setCursor(35, 100);
79-
display.print("Inkplate 7 partial update with deep sleep example");
79+
display.print("Inkplate 5 partial update with deep sleep example");
8080
display.setCursor(200, 250); // Set text cursor @ X = 200, Y = 250
8181
display.print("First variable:"); // Write first variable to buffer
8282
display.print(counter, DEC);

src/Inkplate.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ void Inkplate::display(bool leaveOn)
8585
*/
8686
void Inkplate::preloadScreen()
8787
{
88-
memcpy(DMemoryNew, _partial, 60000);
88+
memcpy(DMemoryNew, _partial, E_INK_WIDTH * E_INK_HEIGHT / 8);
8989
}
9090

9191
/**

src/boards/Inkplate5V2.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,15 @@ uint32_t Inkplate::partialUpdate(bool _forced, bool leaveOn)
439439

440440
uint32_t changeCount = 0;
441441

442+
_dmaI2SDesc->size = (E_INK_WIDTH / 4) + 16;
443+
_dmaI2SDesc->length = (E_INK_WIDTH / 4) + 16;
444+
_dmaI2SDesc->sosf = 1;
445+
_dmaI2SDesc->owner = 1;
446+
_dmaI2SDesc->qe.stqe_next = 0;
447+
_dmaI2SDesc->eof = 1;
448+
_dmaI2SDesc->buf = _dmaLineBuffer;
449+
_dmaI2SDesc->offset = 0;
450+
442451
for (int i = 0; i < E_INK_HEIGHT; ++i)
443452
{
444453
for (int j = 0; j < E_INK_WIDTH / 8; ++j)

src/boards/Inkplate6.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,15 @@ uint32_t Inkplate::partialUpdate(bool _forced, bool leaveOn)
426426

427427
uint32_t changeCount = 0;
428428

429+
_dmaI2SDesc->size = (E_INK_WIDTH / 4) + 16;
430+
_dmaI2SDesc->length = (E_INK_WIDTH / 4) + 16;
431+
_dmaI2SDesc->sosf = 1;
432+
_dmaI2SDesc->owner = 1;
433+
_dmaI2SDesc->qe.stqe_next = 0;
434+
_dmaI2SDesc->eof = 1;
435+
_dmaI2SDesc->buf = _dmaLineBuffer;
436+
_dmaI2SDesc->offset = 0;
437+
429438
for (int i = 0; i < E_INK_HEIGHT; ++i)
430439
{
431440
for (int j = 0; j < E_INK_WIDTH / 8; ++j)

0 commit comments

Comments
 (0)