From b0408e40ec48d7ea312bd5c7fa2f6a182bb0cbba Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Tue, 2 Sep 2025 22:03:56 +0200 Subject: [PATCH] Updated M5Stack Core2 --- .../Source/LilygoTloraPager.cpp | 2 +- Boards/M5stackCore2/Source/InitBoot.cpp | 2 +- Boards/M5stackCore2/Source/M5stackCore2.cpp | 32 +++++++++++-------- .../Source/{hal => devices}/Core2Power.cpp | 2 -- .../Source/{hal => devices}/Core2Power.h | 0 .../Core2Display.cpp => devices/Display.cpp} | 2 +- .../{hal/Core2Display.h => devices/Display.h} | 0 .../Core2SdCard.cpp => devices/SdCard.cpp} | 8 ++--- .../{hal/Core2SdCard.h => devices/SdCard.h} | 0 9 files changed, 25 insertions(+), 23 deletions(-) rename Boards/M5stackCore2/Source/{hal => devices}/Core2Power.cpp (97%) rename Boards/M5stackCore2/Source/{hal => devices}/Core2Power.h (100%) rename Boards/M5stackCore2/Source/{hal/Core2Display.cpp => devices/Display.cpp} (97%) rename Boards/M5stackCore2/Source/{hal/Core2Display.h => devices/Display.h} (100%) rename Boards/M5stackCore2/Source/{hal/Core2SdCard.cpp => devices/SdCard.cpp} (82%) rename Boards/M5stackCore2/Source/{hal/Core2SdCard.h => devices/SdCard.h} (100%) diff --git a/Boards/LilygoTLoraPager/Source/LilygoTloraPager.cpp b/Boards/LilygoTLoraPager/Source/LilygoTloraPager.cpp index 8ca88c24..a2e6f48a 100644 --- a/Boards/LilygoTLoraPager/Source/LilygoTloraPager.cpp +++ b/Boards/LilygoTLoraPager/Source/LilygoTloraPager.cpp @@ -15,7 +15,7 @@ bool tpagerInit(); using namespace tt::hal; -DeviceVector createDevices() { +static DeviceVector createDevices() { auto bq27220 = std::make_shared(I2C_NUM_0); auto power = std::make_shared(bq27220); diff --git a/Boards/M5stackCore2/Source/InitBoot.cpp b/Boards/M5stackCore2/Source/InitBoot.cpp index 19a67736..a4e7871c 100644 --- a/Boards/M5stackCore2/Source/InitBoot.cpp +++ b/Boards/M5stackCore2/Source/InitBoot.cpp @@ -7,7 +7,7 @@ #include #include -#define TAG "core2" +constexpr auto* TAG = "Core2"; axp192_t axpDevice; diff --git a/Boards/M5stackCore2/Source/M5stackCore2.cpp b/Boards/M5stackCore2/Source/M5stackCore2.cpp index e08665c3..0f187e77 100644 --- a/Boards/M5stackCore2/Source/M5stackCore2.cpp +++ b/Boards/M5stackCore2/Source/M5stackCore2.cpp @@ -1,8 +1,8 @@ #include "M5stackCore2.h" #include "InitBoot.h" -#include "hal/Core2Display.h" -#include "hal/Core2Power.h" -#include "hal/Core2SdCard.h" +#include "devices/Display.h" +#include "devices/Core2Power.h" +#include "devices/SdCard.h" #include #include @@ -11,16 +11,22 @@ using namespace tt::hal; -extern const tt::hal::Configuration m5stack_core2 = { +static DeviceVector createDevices() { + return { + createPower(), + createSdCard(), + createDisplay() + }; +} + +extern const Configuration m5stack_core2 = { .initBoot = initBoot, - .createDisplay = createDisplay, - .sdcard = createSdCard(), - .power = createPower, + .createDevices = createDevices, .i2c = { - tt::hal::i2c::Configuration { + i2c::Configuration { .name = "Internal", .port = I2C_NUM_0, - .initMode = tt::hal::i2c::InitMode::ByTactility, + .initMode = i2c::InitMode::ByTactility, .isMutable = false, .config = (i2c_config_t) { .mode = I2C_MODE_MASTER, @@ -34,10 +40,10 @@ extern const tt::hal::Configuration m5stack_core2 = { .clk_flags = 0 } }, - tt::hal::i2c::Configuration { + i2c::Configuration { .name = "External", // (Grove) .port = I2C_NUM_1, - .initMode = tt::hal::i2c::InitMode::ByTactility, + .initMode = i2c::InitMode::ByTactility, .isMutable = true, .config = (i2c_config_t) { .mode = I2C_MODE_MASTER, @@ -53,7 +59,7 @@ extern const tt::hal::Configuration m5stack_core2 = { } }, .spi { - tt::hal::spi::Configuration { + spi::Configuration { .device = SPI2_HOST, .dma = SPI_DMA_CH_AUTO, .config = { @@ -72,7 +78,7 @@ extern const tt::hal::Configuration m5stack_core2 = { .isr_cpu_id = ESP_INTR_CPU_AFFINITY_AUTO, .intr_flags = 0 }, - .initMode = tt::hal::spi::InitMode::ByTactility, + .initMode = spi::InitMode::ByTactility, .isMutable = false, .lock = tt::lvgl::getSyncLock() // esp_lvgl_port owns the lock for the display } diff --git a/Boards/M5stackCore2/Source/hal/Core2Power.cpp b/Boards/M5stackCore2/Source/devices/Core2Power.cpp similarity index 97% rename from Boards/M5stackCore2/Source/hal/Core2Power.cpp rename to Boards/M5stackCore2/Source/devices/Core2Power.cpp index 6256186d..3d5a5c3d 100644 --- a/Boards/M5stackCore2/Source/hal/Core2Power.cpp +++ b/Boards/M5stackCore2/Source/devices/Core2Power.cpp @@ -16,8 +16,6 @@ bool Core2Power::supportsMetric(MetricType type) const { default: return false; } - - return false; // Safety guard for when new enum values are introduced } bool Core2Power::getMetric(MetricType type, MetricData& data) { diff --git a/Boards/M5stackCore2/Source/hal/Core2Power.h b/Boards/M5stackCore2/Source/devices/Core2Power.h similarity index 100% rename from Boards/M5stackCore2/Source/hal/Core2Power.h rename to Boards/M5stackCore2/Source/devices/Core2Power.h diff --git a/Boards/M5stackCore2/Source/hal/Core2Display.cpp b/Boards/M5stackCore2/Source/devices/Display.cpp similarity index 97% rename from Boards/M5stackCore2/Source/hal/Core2Display.cpp rename to Boards/M5stackCore2/Source/devices/Display.cpp index 25f7f7e5..58152553 100644 --- a/Boards/M5stackCore2/Source/hal/Core2Display.cpp +++ b/Boards/M5stackCore2/Source/devices/Display.cpp @@ -1,4 +1,4 @@ -#include "Core2Display.h" +#include "Display.h" #include #include diff --git a/Boards/M5stackCore2/Source/hal/Core2Display.h b/Boards/M5stackCore2/Source/devices/Display.h similarity index 100% rename from Boards/M5stackCore2/Source/hal/Core2Display.h rename to Boards/M5stackCore2/Source/devices/Display.h diff --git a/Boards/M5stackCore2/Source/hal/Core2SdCard.cpp b/Boards/M5stackCore2/Source/devices/SdCard.cpp similarity index 82% rename from Boards/M5stackCore2/Source/hal/Core2SdCard.cpp rename to Boards/M5stackCore2/Source/devices/SdCard.cpp index e39f59fb..9d0f12b9 100644 --- a/Boards/M5stackCore2/Source/hal/Core2SdCard.cpp +++ b/Boards/M5stackCore2/Source/devices/SdCard.cpp @@ -1,12 +1,10 @@ -#include "Core2SdCard.h" +#include "SdCard.h" #include #include -#include - -#define CORE2_SDCARD_PIN_CS GPIO_NUM_4 -#define CORE2_LCD_PIN_CS GPIO_NUM_5 +constexpr auto CORE2_SDCARD_PIN_CS = GPIO_NUM_4; +constexpr auto CORE2_LCD_PIN_CS = GPIO_NUM_5; using tt::hal::sdcard::SpiSdCardDevice; diff --git a/Boards/M5stackCore2/Source/hal/Core2SdCard.h b/Boards/M5stackCore2/Source/devices/SdCard.h similarity index 100% rename from Boards/M5stackCore2/Source/hal/Core2SdCard.h rename to Boards/M5stackCore2/Source/devices/SdCard.h