From 485579d55c0bc906d6ae1c24976f6111699120fb Mon Sep 17 00:00:00 2001 From: Ethan-chen1234-zy Date: Fri, 17 Jul 2026 18:24:30 +0800 Subject: [PATCH 1/2] Add RAK WisMesh Pod variant and fix Tag LPCOMP wake on user shutdown --- variants/nrf52840/rak_wismeshtag/platformio.ini | 8 ++++++++ variants/nrf52840/rak_wismeshtag/variant.cpp | 9 +++++++++ variants/nrf52840/rak_wismeshtag/variant.h | 5 ++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/variants/nrf52840/rak_wismeshtag/platformio.ini b/variants/nrf52840/rak_wismeshtag/platformio.ini index acfbca99edb..a185179b1b2 100644 --- a/variants/nrf52840/rak_wismeshtag/platformio.ini +++ b/variants/nrf52840/rak_wismeshtag/platformio.ini @@ -23,3 +23,11 @@ build_flags = ${nrf52840_base.build_flags} -DRADIOLIB_EXCLUDE_LR2021=1 -DMESHTASTIC_EXCLUDE_WIFI=1 build_src_filter = ${nrf52_base.build_src_filter} +<../variants/nrf52840/rak_wismeshtag> + +; RAK WisMesh Pod — same board as Tag (no user buttons on hardware; shares Tag pin map) +[env:rak_wismesh_pod] +extends = env:rak_wismeshtag +custom_meshtastic_display_name = RAK WisMesh Pod +build_flags = + ${env:rak_wismeshtag.build_flags} + -D WISMESH_POD \ No newline at end of file diff --git a/variants/nrf52840/rak_wismeshtag/variant.cpp b/variants/nrf52840/rak_wismeshtag/variant.cpp index a0394b2ddbb..ca0925f448a 100644 --- a/variants/nrf52840/rak_wismeshtag/variant.cpp +++ b/variants/nrf52840/rak_wismeshtag/variant.cpp @@ -46,6 +46,14 @@ void initVariant() } #ifdef LOW_VDD_SYSTEMOFF_DELAY_MS +static bool lowVddSystemOff = false; // Set when brownout forces System OFF (enables LPCOMP wake). + +// Strong override; must be noinline (see main-nrf52.cpp weak default). +__attribute__((noinline)) bool variant_enableBatteryLpcompWake() +{ + return lowVddSystemOff; +} + void variant_nrf52LoopHook(void) { // If VDD stays unsafe for a while (brownout), force System OFF. @@ -72,6 +80,7 @@ void variant_nrf52LoopHook(void) low_vdd_timer_armed = true; } if ((uint32_t)(now - low_vdd_since_ms) >= (uint32_t)LOW_VDD_SYSTEMOFF_DELAY_MS) { + lowVddSystemOff = true; cpuDeepSleep(portMAX_DELAY); } } else { diff --git a/variants/nrf52840/rak_wismeshtag/variant.h b/variants/nrf52840/rak_wismeshtag/variant.h index 9ea215e42a9..c9188c485c0 100644 --- a/variants/nrf52840/rak_wismeshtag/variant.h +++ b/variants/nrf52840/rak_wismeshtag/variant.h @@ -55,10 +55,13 @@ extern "C" { /* * Buttons */ - +#ifndef WISMESH_POD #define PIN_BUTTON1 9 // Pin for button on E-ink button module or IO expansion #define BUTTON_NEED_PULLUP #define PIN_BUTTON2 12 +#else +#define HAS_BUTTON 0 +#endif /* * Analog pins From b0fb9e1316cc3a504642438d2ab62bea9702da0f Mon Sep 17 00:00:00 2001 From: Ethan-chen1234-zy Date: Sat, 18 Jul 2026 12:16:52 +0800 Subject: [PATCH 2/2] chore: trunk fmt - replace Unicode em-dash in Pod comment Co-authored-by: Cursor --- variants/nrf52840/rak_wismeshtag/platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/nrf52840/rak_wismeshtag/platformio.ini b/variants/nrf52840/rak_wismeshtag/platformio.ini index a185179b1b2..9b0d665b311 100644 --- a/variants/nrf52840/rak_wismeshtag/platformio.ini +++ b/variants/nrf52840/rak_wismeshtag/platformio.ini @@ -24,7 +24,7 @@ build_flags = ${nrf52840_base.build_flags} -DMESHTASTIC_EXCLUDE_WIFI=1 build_src_filter = ${nrf52_base.build_src_filter} +<../variants/nrf52840/rak_wismeshtag> -; RAK WisMesh Pod — same board as Tag (no user buttons on hardware; shares Tag pin map) +; RAK WisMesh Pod - same board as Tag (no user buttons on hardware; shares Tag pin map) [env:rak_wismesh_pod] extends = env:rak_wismeshtag custom_meshtastic_display_name = RAK WisMesh Pod