Initiale Bereitstellung

Initiale Bereitstellung der aktuellen Version auf Gitea
This commit is contained in:
raw-designs
2026-07-10 18:13:43 +02:00
commit 453644816f
4952 changed files with 2613188 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
// =====================================================================================
// display_hal.h - Board-/Panel-/Touch-Anbindung (ST7701 + GT911) + LVGL-Glue
// =====================================================================================
// Einziger board-spezifischer Teil. Baut auf der HERSTELLER-LVGL-PORTIERUNG des
// JC4880P443C-I-W auf (1-Demo/arduino_examples/lvgl_v9_sw_rotation):
// - MIPI-DSI ST7701 (480x800), GT911-Touch (I2C SDA=7/SCL=8), Backlight GPIO23
// - LVGL laeuft in einem EIGENEN FreeRTOS-Task -> UI-Zugriffe von aussen muessen
// mit hal_lock()/hal_unlock() (= lvgl_port_lock/unlock) geschuetzt werden.
//
// Schalter JC_USE_REAL_PANEL:
// 0 = Stub-Modus (kompiliert OHNE Hersteller-BSP; eigenes minimal-LVGL, rendert ins
// Leere). Zum Testen von Protokoll/UART/Logik am Schreibtisch.
// 1 = echte Hardware: erwartet die Hersteller-BSP-Dateien IM SKETCH-ORDNER:
// pins_config.h, lvgl_port_v9.h/.c, src/lcd/*, src/touch/*
// (aus arduino_examples/lvgl_v9_sw_rotation kopieren). Siehe README.md.
// =====================================================================================
#pragma once
#include "protocol_client.h"
#ifndef JC_USE_REAL_PANEL
#define JC_USE_REAL_PANEL 0
#endif
// Initialisiert LVGL + Panel + Touch und baut das Dashboard auf (ui_init unter Lock).
void hal_init(ProtocolClient* client);
// In loop() aufrufen. Realer Panel-Modus: leer (LVGL hat eigenen Task).
// Stub-Modus: ruft lv_timer_handler().
void hal_loop();
// LVGL-Mutex (im realen Modus zwingend vor jedem UI-Zugriff aus fremden Tasks).
void hal_lock();
void hal_unlock();
// Display-Hintergrundbeleuchtung setzen (0..100 %). Stub-Modus: ohne Wirkung.
void hal_backlight(int percent);