fix(P4): Nach Kaltstart einmal selbst neu starten (1.6.22)
Der DSI-Ab- und Wiederaufbau aus 1.6.21 hat nicht geholfen, sondern das Bild um einen Schritt verschlechtert: Einschalten - gar nichts, erster Reset - nur Beleuchtung, zweiter Reset - Bild. Ein Neuaufbau im laufenden Betrieb ist einem echten Chip-Reset also nicht gleichwertig. WS7_DSI_RESTART steht wieder auf 0, der Schalter bleibt dokumentiert. Stattdessen der Weg, den die Messungen stützen: Nach einem Kaltstart startet der P4 sich genau einmal selbst neu, sobald der erste Hochlauf durch ist. Ein Reset hat in jedem Versuch zuverlässig geholfen. - Bedingung ist esp_reset_reason() == ESP_RST_POWERON, beim zweiten Durchlauf greift sie nicht mehr - keine Schleife möglich. - Der Frühstart-Zähler der Absturzsicherung wird vorher zurückgesetzt, damit der gewollte Neustart nicht in den Update-Modus führt. - Schalter WS7_COLD_BOOT_RESTART, kostet ~3 s beim Einschalten. Das ist eine Umgehung, keine Erklärung: Warum das Panel den ersten Anlauf nicht annimmt, bleibt offen - der Hochlauf meldet durchgehend Erfolg. Beide Panel-Varianten mit arduino-cli gegengebaut. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P7JsiDJ1QbNFLDz5chf8Jt
This commit is contained in:
co-authored by
Claude Opus 5
parent
1def9e45dc
commit
8db8e166a2
@@ -164,9 +164,17 @@
|
||||
// Unterschied dabei: Die DSI-Verbindung geht einmal weg und neu auf, waehrend Bridge und
|
||||
// Panel schon versorgt und eingestellt sind. Genau das holt der zweite Aufbau nach.
|
||||
// Kostet WS7_DSI_RESTART_MS zusaetzliche Startzeit.
|
||||
#define WS7_DSI_RESTART 1
|
||||
#define WS7_DSI_RESTART 0
|
||||
#define WS7_DSI_RESTART_MS 200
|
||||
|
||||
// Nach einem Kaltstart einmal selbst neu starten, sobald der erste Hochlauf durch ist.
|
||||
// Das Panel kommt beim ersten Anlauf nach dem Einschalten nicht zuverlaessig hoch;
|
||||
// ein echter Chip-Reset behebt es zuverlaessig, der Ab- und Wiederaufbau der
|
||||
// DSI-Strecke im Betrieb dagegen nicht. Kostet rund drei Sekunden beim Einschalten.
|
||||
// Eine Schleife ist ausgeschlossen: Beim zweiten Durchlauf ist der Startgrund kein
|
||||
// Kaltstart mehr.
|
||||
#define WS7_COLD_BOOT_RESTART 1
|
||||
|
||||
#define WS7_TEST_PATTERN 0
|
||||
|
||||
#elif JC_PANEL_TYPE == JC_PANEL_70
|
||||
|
||||
Reference in New Issue
Block a user