Inkplate 6 RTC freezes and partial update deadlocks after deep sleep

Customer:

I received an Inkplate 6 a few days ago. Some basic functions do not seem to work. I tested with the original example code.

Are these known software problems or defects on the board? How can this be resolved?

RTC time stands still

The time set with display.rtcSetTime never changes. rtcGetTime always returns the last value that was set.

Tested with Inkplate 8.2.1 and 7.0.0. Ran Inkplate6_RTC_Timer.ino or Inkplate6_RTC_Calibration.ino - the screen is cleared and redrawn regularly, but the displayed time does not change.

RTC battery has been installed. Is this necessary?

Partial update after deep sleep leads to deadlock

Running Inkplate6_Partial_Update_With_Deep_Sleep.ino:

display.partialUpdate(true) does not return.

Without this function, the screen is completely redrawn after each wake.

Serial output with counter variable:

rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load: ,len:13864
load: ,len:3608
entry 0x400805f0
800
ets Jul 29 2019 12:21:46
rst:0x5 (DEEPSLEEP_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load: ,len:13864
load: ,len:3608
entry 0x400805f0
800
counter: 1
<-- frozen / no more cycles
Original message (German)

ich habe vor wenigen Tagen ein Inkplate 6 von Ihnen erhalten. Einige Grundfunktionen scheinen nicht zu funktionieren. Ich habe jeweils mit dem Original-Beispielcode getestet. Sind das (bekannte) Softwareprobleme oder Mängel am Board? Wie lässt sich das lösen?

RTC Zeit steht still

Die eingestellte Zeit (display.rtcSetTime) verändert sich nie, rtcGetTime liefert immer den zuletzt gesetzten Wert
Inkplate 8.2.1 und 7.0.0

Inkplate6_RTC_Timer.ino oder Inkplate6_RTC_Calibration.ino, der Bildschirm wird regelmäßig gelöscht und neu dargestellt, aber die angezeigte Zeit verändert sich nicht
RTC Batterie wurde eingesetzt. Ist das notwendig?

Partielles Update nach deep-sleep führt zu Deadlock

(Inkplate6_Partial_Update_With_Deep_Sleep.ino)

display.partialUpdate(true) kommt nicht zurück

Ohne diese Funktion wird nach jedem Aufwachen der Bildschirm vollständig neu gezeichnet.

Ausgabe mit eingeschalteter serieller Schnittstelle und Ausgabe der “counter” Variable:

rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)

configsip: 0, SPIWP:0xee

clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00

mode:DIO, clock div:1

load:0x3fff0030,len:1344

load: ,len:13864

load: ,len:3608

entry 0x400805f0

800

ets Jul 29 2019 12:21:46

rst:0x5 (DEEPSLEEP_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)

configsip: 0, SPIWP:0xee

clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00

mode:DIO, clock div:1

load:0x3fff0030,len:1344

load: ,len:13864

load: ,len:3608

entry 0x400805f0

800

counter: 1
← frozen / no more cycles

Originally submitted via email support on 19 January 2024. Migrated to the forum for community visibility.

Soldered Support:

All our devices are tested with the last uploaded sketch before leaving the production line, including all these functions, so it should not be a hardware problem. The RTC battery is not required to use the RTC.

If the display updates properly and you are using the correct board definition (I assume it is the soldered Inkplate 6), then all these problems could have the same cause. I will test the examples you provided as soon as I am able to and see if I can reproduce the issue. In the meantime, I will also consult with my colleagues—perhaps they know the answer.

Original message (German)

es tut mir leid zu hören, dass du diese Probleme hast. Jedes unserer Geräte wird in der Hardware mit dem zuletzt hochgeladenen Sketch getestet, bevor es unsere Produktionslinie verlässt, einschließlich all dieser Funktionen, daher sollte es kein Hardwareproblem sein. Die RTC-Batterie ist nicht erforderlich, um die RTC zu verwenden.

Wenn sich das Display ordnungsgemäß aktualisiert und du die richtige Board-Definition verwendest (ich nehme an, es ist das verlötete Inkplate 6), dann könnten all diese Probleme dieselbe Ursache haben. Ich werde die von dir bereitgestellten Beispiele testen, sobald ich dazu in der Lage bin, und sehen, ob ich das Problem reproduzieren kann. In der Zwischenzeit werde ich mich auch mit meinen Kollegen beraten, vielleicht kennen sie die Antwort.

Soldered Support:

I took some time today to test this and discuss it with my colleagues. The RTC example works on our Inkplate, but the partial update/deep sleep example did not work as well. This could have happened when we reset the library to use I2S. There could be a bug, and we need to find out exactly what it is. I asked if you can use an older version of the library that does not have transfer over I2S—all newer boards with a newer panel model must use it, so we simply need to provide a solution for it. I have asked to include this in our planning.

Regarding the RTC, can you tell us what time the RTC displays when configured? If it displays a garbled time, then we cannot communicate meaningfully with the RTC chip, but if it shows the time configured in the sketch and the time does not move—is it possible that the RTC crystal somehow lost connection, which would be a hardware problem? Here is a photo showing where the crystal and the RTC chip are. If you look closely, do you see any loose connections? Feel free to send us close-up photos so we can investigate as well as possible.

Original message (German)

Ich habe heute etwas Zeit genommen, um dies zu testen und mit meinen Kollegen zu besprechen. Das RTC-Beispiel funktioniert auf unserem Inkplate, aber das Beispiel für partielles Update/Tiefschlaf funktionierte nicht so gut. Dies könnte passiert sein, als wir die Bibliothek zurückgesetzt haben, um I2S zu verwenden. Es könnte einen Fehler geben, und wir müssen herausfinden, was genau es ist. Ich habe gefragt, ob Sie eine ältere Version der Bibliothek verwenden können, die keinen Transfer über I2S hat - alle neueren Boards mit einem neueren Panel-Modell müssen es verwenden, also müssen wir einfach eine Lösung dafür bereitstellen. Ich habe darum gebeten, dies in unsere Planung aufzunehmen.

Was das RTC betrifft, können Sie uns sagen, welche Zeit das RTC anzeigt, wenn es konfiguriert ist? Wenn es eine wirre Zeit anzeigt, dann können wir nicht sinnvoll mit dem RTC-Chip kommunizieren, aber wenn es die Zeit anzeigt, die im Sketch konfiguriert wird und die Zeit sich nicht bewegt - ist es möglich, dass der RTC-Kristall irgendwie die Verbindung verloren hat, was ein Hardware-Problem wäre. Hier ist ein Foto, wo der Kristall und der RTC-Chip sind, wenn Sie es aus der Nähe betrachten, sehen Sie irgendwelche lockeren Verbindungen? Fühlen Sie sich frei, uns Nahaufnahmen zu schicken, damit wir so gut wie möglich untersuchen können.

Attachment omitted in migration: image.png

Customer:

The RTC can be set and read. You get exactly the values that were set returned constantly. I tested today again with the Peripheral demo:

---- Sent utf8 encoded message:
"#X(4,23,3,2023)*\r\n" ----

---- Sent utf8 encoded message: "#W(15,22,30)*\r\n" ----

---- Sent utf8
encoded message: "#a(1)*\r\n" ----
#a(22)*

---- Sent utf8 encoded message: "#a(0)*\r\n" ----
#a(30)*

---- Sent utf8 encoded message: "#a(0)*\r\n" ----
#a(30)*

---- Sent utf8 encoded message: "#a(0)*\r\n" ----
#a(30)*

---- Sent utf8 encoded message: "#a(0)*\r\n" ----
#a(30)*

RTC and quartz are present and do not appear obviously loose to me. I do not have the ability to solder SMA components myself.

Original message (German)

vielen Dank für die schnellen Antworten. Die RTC lässt sich einstellen und abfragen. Man erhält genau die eingestellten Werte konstant zurück. Ich habe heute nochmal mit der Peripheral-Demo getestet:

---- Sent utf8 encoded message:
“#X(4,23,3,2023)*\r\n” ----

---- Sent utf8 encoded message: “#W(15,22,30)*\r\n” ----

---- Sent utf8
encoded message: "#a(1)\r\n" ----
#a(22)

---- Sent utf8 encoded message: "#a(0)\r\n" ----
#a(30)

---- Sent utf8 encoded message: "#a(0)\r\n" ----
#a(30)

---- Sent utf8 encoded message: "#a(0)\r\n" ----
#a(30)

---- Sent utf8 encoded message: "#a(0)\r\n" ----
#a(30)

RTC und Quartz sind vorhanden (Fotos anbei) und für mich nicht offensichtlich locker. Ich habe selbst keine Möglichkeit SMA Bauteile zu löten.

Attachment omitted in migration: image.png

Attachment omitted in migration: 2024-01-22 19-10-20,10 MB0375~2.jpg

Attachment omitted in migration: 2024-01-22 19-09-00,50 MB0373~2.jpg

Soldered Support:

Thank you for the clear pictures and diagnosis. This helps us rule this out as a possible source of error. I will keep your ticket open and run some tests on this as soon as possible.

Original message (German)

Vielen Dank für die klaren Bilder und die Diagnose, das hilft uns, dies als mögliche Fehlerquelle auszuschließen. Ich werde Ihr Ticket offen lassen und so bald wie möglich einige Tests dazu durchführen.

Soldered Support:

I just had another test for it. I have added partial update with deep sleep to our backlog and we need to get back to you with a more detailed solution. It probably needed to be reimplemented after we switched to I2S communication.

Regarding the RTC, could you please try it with a battery? The RTC should work directly on the Inkplate, especially with the example that was specifically made for it. If it does not work even with the battery, please let me know here and we will see what to do next.

Original message (German)

ich hatte gerade einen weiteren Test dafür und übrigens, entschuldige bitte die späte Antwort, wir sind gerade etwas beschäftigt mit einigen Projekten :slight_smile: Danke für deine Geduld.

Das partielle Update mit Tiefschlaf habe ich in unser Backlog aufgenommen und wir müssen uns nach einer detaillierteren Lösung bei dir zurückmelden. Wahrscheinlich musste es neu implementiert werden, nachdem wir auf I2S-Kommunikation umgestellt haben.

Was das RTC angeht, könntest du es bitte mit einer Batterie versuchen? Das RTC sollte auf dem Inkplate direkt funktionieren, besonders mit dem Beispiel, das speziell dafür gemacht wurde. Wenn es auch mit der Batterie nicht funktioniert, lass es mich bitte hier wissen und wir sehen dann weiter.