From 886aa70c391518ad54e489a9a7ef636c9d1e1992 Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Sun, 8 Feb 2026 21:49:30 +0100 Subject: [PATCH] Migrate WT32-SC01-Plus device --- .../Source/Configuration.cpp | 31 ++----------------- .../Source/devices/SdCard.cpp | 7 ++++- .../wireless-tag,wt32-sc01-plus.dts | 12 +++++++ 3 files changed, 20 insertions(+), 30 deletions(-) diff --git a/Devices/wireless-tag-wt32-sc01-plus/Source/Configuration.cpp b/Devices/wireless-tag-wt32-sc01-plus/Source/Configuration.cpp index e1ce2c8c..b33fbb08 100644 --- a/Devices/wireless-tag-wt32-sc01-plus/Source/Configuration.cpp +++ b/Devices/wireless-tag-wt32-sc01-plus/Source/Configuration.cpp @@ -1,9 +1,8 @@ #include "devices/Display.h" #include "devices/SdCard.h" -#include +#include #include -#include #include using namespace tt::hal; @@ -21,31 +20,5 @@ static bool initBoot() { extern const Configuration hardwareConfiguration = { .initBoot = initBoot, - .createDevices = createDevices, - .spi { - // SD card - spi::Configuration { - .device = SPI2_HOST, - .dma = SPI_DMA_CH_AUTO, - .config = { - .mosi_io_num = GPIO_NUM_40, - .miso_io_num = GPIO_NUM_38, - .sclk_io_num = GPIO_NUM_39, - .quadwp_io_num = GPIO_NUM_NC, - .quadhd_io_num = GPIO_NUM_NC, - .data4_io_num = GPIO_NUM_NC, - .data5_io_num = GPIO_NUM_NC, - .data6_io_num = GPIO_NUM_NC, - .data7_io_num = GPIO_NUM_NC, - .data_io_default_level = false, - .max_transfer_sz = 32768, - .flags = 0, - .isr_cpu_id = ESP_INTR_CPU_AFFINITY_AUTO, - .intr_flags = 0 - }, - .initMode = spi::InitMode::ByTactility, - .isMutable = false, - .lock = nullptr // No custom lock needed - } - } + .createDevices = createDevices }; diff --git a/Devices/wireless-tag-wt32-sc01-plus/Source/devices/SdCard.cpp b/Devices/wireless-tag-wt32-sc01-plus/Source/devices/SdCard.cpp index 425caf7c..b2e4dc42 100644 --- a/Devices/wireless-tag-wt32-sc01-plus/Source/devices/SdCard.cpp +++ b/Devices/wireless-tag-wt32-sc01-plus/Source/devices/SdCard.cpp @@ -1,5 +1,6 @@ #include "SdCard.h" +#include #include #include @@ -17,7 +18,11 @@ std::shared_ptr createSdCard() { SPI2_HOST ); + ::Device* spiController = device_find_by_name("spi0"); + check(spiController != nullptr, "spi0 not found"); + return std::make_shared( - std::move(configuration) + std::move(configuration), + spiController ); } diff --git a/Devices/wireless-tag-wt32-sc01-plus/wireless-tag,wt32-sc01-plus.dts b/Devices/wireless-tag-wt32-sc01-plus/wireless-tag,wt32-sc01-plus.dts index d62f21a8..f96775ff 100644 --- a/Devices/wireless-tag-wt32-sc01-plus/wireless-tag,wt32-sc01-plus.dts +++ b/Devices/wireless-tag-wt32-sc01-plus/wireless-tag,wt32-sc01-plus.dts @@ -3,6 +3,7 @@ #include #include #include +#include / { compatible = "root"; @@ -20,4 +21,15 @@ pin-sda = <6>; pin-scl = <5>; }; + + spi0 { + compatible = "espressif,esp32-spi"; + host = ; + pin-mosi = <40>; + pin-miso = <38>; + pin-sclk = <39>; + pin-wp = ; + pin-hd = ; + max-transfer-size = <0>; + }; };