From 8bf072a6f011d841cd6c0a4168aba85e5ad6d2ae Mon Sep 17 00:00:00 2001 From: Florent Date: Sun, 20 Sep 2026 16:13:15 -0400 Subject: [PATCH] M4: Handle poweroff --- variants/thinknode_m4/ThinkNodeM4Board.h | 14 ++++++++++++++ variants/thinknode_m4/platformio.ini | 2 +- variants/thinknode_m4/variant.h | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/variants/thinknode_m4/ThinkNodeM4Board.h b/variants/thinknode_m4/ThinkNodeM4Board.h index ba7d95be..c05de911 100644 --- a/variants/thinknode_m4/ThinkNodeM4Board.h +++ b/variants/thinknode_m4/ThinkNodeM4Board.h @@ -47,6 +47,16 @@ public: // shutdown common peripherals NRF52Board::shutdownPeripherals(); + #ifdef LED_STATUS + digitalWrite(LED_STATUS, HIGH); + #endif + #ifdef BUTTON_PIN + while(!digitalRead(BUTTON_PIN)); + #endif + #ifdef LED_STATUS + digitalWrite(LED_STATUS, LOW); + #endif + digitalWrite(LED_BAT1, LOW); digitalWrite(LED_BAT2, LOW); digitalWrite(LED_BAT3, LOW); @@ -57,5 +67,9 @@ public: digitalWrite(PIN_PWR_EN, LOW); digitalWrite(I2C_POWER, !I2C_POWER_ACTIVE); digitalWrite(PIN_GPS_POWER, !GPS_POWER_ACTIVE); + + #ifdef BUTTON_PIN + nrf_gpio_cfg_sense_input(BUTTON_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_SENSE_LOW); + #endif } }; diff --git a/variants/thinknode_m4/platformio.ini b/variants/thinknode_m4/platformio.ini index ab8417e9..06762f88 100644 --- a/variants/thinknode_m4/platformio.ini +++ b/variants/thinknode_m4/platformio.ini @@ -9,7 +9,7 @@ build_flags = ${nrf52_base.build_flags} -I variants/thinknode_m4 -I src/helpers/ui -D THINKNODE_M4 - -D PIN_USER_BTN=12 + -D PIN_USER_BTN=4 -D PIN_STATUS_LED=LED_STATUS -D RADIO_CLASS=CustomLR1110 -D WRAPPER_CLASS=CustomLR1110Wrapper diff --git a/variants/thinknode_m4/variant.h b/variants/thinknode_m4/variant.h index cc483184..6e355d7f 100644 --- a/variants/thinknode_m4/variant.h +++ b/variants/thinknode_m4/variant.h @@ -88,7 +88,7 @@ #define PIN_BUTTON1 (4) #define BUTTON_PIN PIN_BUTTON1 -#define USER_BTN_PRESSED HIGH +#define USER_BTN_PRESSED LOW //////////////////////////////////////////////////////////////////////////////// // GPS