feat(crowpanel-35): add Elecrow CrowPanel 3.5" (ESP32-S3, ILI9488 + GT911) touch target
- New crowpanel_35 variant: display, SD, board and target files, plus board JSON - Portrait mode is drawn rotated 180°; landscape stays at rotation 3 - Share the GT911 touch driver between Wio Tracker L2 and CrowPanel (WioTrackerL2Touch.cpp -> src/helpers/input/LgfxGt911Touch.cpp) - platformio envs, flasher/site entries, release and merge-bin support - Tests for the CrowPanel SD codec and merge-bin Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0132MkJ7RUV32mV9F7o4PJMm
This commit is contained in:
1 parent
f7402e628c
commit
dbecef0b6f
29 files changed
+1461
-118
No files matched your search
+11
-3
@@ -3,7 +3,11 @@
|
||||
#include "DataStore.h"
|
||||
#include <helpers/AdvertDataHelpers.h> // ADV_TYPE_NONE (blank-record skip in loadContacts)
|
||||
#if defined(ESP32)
|
||||
#if defined(HAS_CROWPANEL_35)
|
||||
#include <CrowPanel35SD.h>
|
||||
#else
|
||||
#include <SD.h>
|
||||
#endif
|
||||
#include "helpers/esp32/WdtHeavyGuard.h" // suspend core-0 idle WDT during the (SPIFFS-GC-prone) contact write
|
||||
#endif
|
||||
#if defined(HAS_TANMATSU) || defined(HAS_TDISPLAY_P4) || defined(HAS_WIO_TRACKER_L2)
|
||||
@@ -1127,9 +1131,13 @@ bool DataStore::deleteBlobByKey(const uint8_t key[], int key_len) {
|
||||
// Creates the folders, repoints _fs + the identity store, and sets the path
|
||||
// prefix so every subsequent read/write/exists/remove lands under /meshcomod.
|
||||
bool DataStore::useSdStorage() {
|
||||
if (!SD.exists("/meshcomod")) SD.mkdir("/meshcomod");
|
||||
if (!SD.exists("/meshcomod/bl")) SD.mkdir("/meshcomod/bl");
|
||||
if (!SD.exists("/meshcomod/identity")) SD.mkdir("/meshcomod/identity");
|
||||
static const char* const directories[] = { "/meshcomod", "/meshcomod/bl", "/meshcomod/identity" };
|
||||
for (const char* path : directories) {
|
||||
if (!SD.exists(path) && !SD.mkdir(path)) {
|
||||
Serial.printf("[STORE] SD data directory unavailable: %s\n", path);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
strncpy(_root, "/meshcomod", sizeof(_root) - 1);
|
||||
_root[sizeof(_root) - 1] = '\0';
|
||||
_fs = &SD;
|
||||
|
||||
Reference in new issue
Block a user