From 2ea2a3a752322085d16b8696c8bdc48605c257c5 Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Sat, 20 Sep 2025 14:04:15 +0200 Subject: [PATCH] Improve CYD-4848 SPI corectness (does not fix SD card issue) --- Boards/CYD-4848S040C/Source/CYD4848S040C.cpp | 13 ++++++++----- Boards/CYD-4848S040C/Source/devices/SdCard.cpp | 4 +++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Boards/CYD-4848S040C/Source/CYD4848S040C.cpp b/Boards/CYD-4848S040C/Source/CYD4848S040C.cpp index 1252f528..6d19a855 100644 --- a/Boards/CYD-4848S040C/Source/CYD4848S040C.cpp +++ b/Boards/CYD-4848S040C/Source/CYD4848S040C.cpp @@ -1,4 +1,7 @@ #include "CYD4848S040C.h" + +#include "Tactility/kernel/SystemEvents.h" +#include "Tactility/lvgl/LvglSync.h" #include "devices/St7701Display.h" #include "devices/SdCard.h" @@ -12,7 +15,7 @@ static bool initBoot() { static DeviceVector createDevices() { return { - std::reinterpret_pointer_cast(std::make_shared()), + std::make_shared(), createSdCard() }; } @@ -59,7 +62,7 @@ const Configuration cyd_4848s040c_config = { } }, .spi { - //SD Card + // SD Card & display init spi::Configuration { .device = SPI2_HOST, .dma = SPI_DMA_CH_AUTO, @@ -68,20 +71,20 @@ const Configuration cyd_4848s040c_config = { .miso_io_num = GPIO_NUM_41, .sclk_io_num = GPIO_NUM_48, .quadwp_io_num = -1, - .quadhd_io_num = -1, + .quadhd_io_num = GPIO_NUM_42, .data4_io_num = -1, .data5_io_num = -1, .data6_io_num = -1, .data7_io_num = -1, .data_io_default_level = false, - .max_transfer_sz = 8192, + .max_transfer_sz = 1024 * 128, .flags = 0, .isr_cpu_id = ESP_INTR_CPU_AFFINITY_AUTO, .intr_flags = 0 }, .initMode = spi::InitMode::ByTactility, .isMutable = false, - .lock = nullptr + .lock = tt::lvgl::getSyncLock() } } }; diff --git a/Boards/CYD-4848S040C/Source/devices/SdCard.cpp b/Boards/CYD-4848S040C/Source/devices/SdCard.cpp index 53b1710c..e8def0e4 100644 --- a/Boards/CYD-4848S040C/Source/devices/SdCard.cpp +++ b/Boards/CYD-4848S040C/Source/devices/SdCard.cpp @@ -11,7 +11,9 @@ std::shared_ptr createSdCard() { GPIO_NUM_NC, GPIO_NUM_NC, GPIO_NUM_NC, - SdCardDevice::MountBehaviour::AtBoot + SdCardDevice::MountBehaviour::AtBoot, + tt::lvgl::getSyncLock(), + std::vector { GPIO_NUM_39 } ); auto sdcard = std::make_shared(