Browse Source

Default button polarity to active-LOW across all firmware types

Nearly all LoRa boards use a boot button that pulls to ground when
pressed.
pull/1612/head
Wessel Nieboer 4 months ago
committed by Wessel Nieboer
parent
commit
0a13ac7fc7
No known key found for this signature in database GPG Key ID: 27BB1C3D63DEEFFF
  1. 6
      examples/simple_repeater/UITask.cpp
  2. 6
      examples/simple_room_server/UITask.cpp
  3. 6
      examples/simple_sensor/UITask.cpp
  4. 4
      src/helpers/ESP32Board.h
  5. 2
      variants/minewsemi_me25ls01/MinewsemiME25LS01Board.h
  6. 1
      variants/minewsemi_me25ls01/platformio.ini
  7. 4
      variants/t1000-e/T1000eBoard.h
  8. 1
      variants/t1000-e/platformio.ini
  9. 1
      variants/thinknode_m3/platformio.ini
  10. 1
      variants/wio-e5-mini/platformio.ini
  11. 6
      variants/xiao_nrf52/XiaoNrf52Board.h

6
examples/simple_repeater/UITask.cpp

@ -2,6 +2,10 @@
#include <Arduino.h>
#include <helpers/CommonCLI.h>
#ifndef USER_BTN_PRESSED
#define USER_BTN_PRESSED LOW
#endif
#define AUTO_OFF_MILLIS 20000 // 20 seconds
#define BOOT_SCREEN_MILLIS 4000 // 4 seconds
@ -85,7 +89,7 @@ void UITask::loop() {
if (millis() >= _next_read) {
int btnState = digitalRead(PIN_USER_BTN);
if (btnState != _prevBtnState) {
if (btnState == LOW) { // pressed?
if (btnState == USER_BTN_PRESSED) { // pressed?
if (_display->isOn()) {
// TODO: any action ?
} else {

6
examples/simple_room_server/UITask.cpp

@ -2,6 +2,10 @@
#include <Arduino.h>
#include <helpers/CommonCLI.h>
#ifndef USER_BTN_PRESSED
#define USER_BTN_PRESSED LOW
#endif
#define AUTO_OFF_MILLIS 20000 // 20 seconds
#define BOOT_SCREEN_MILLIS 4000 // 4 seconds
@ -85,7 +89,7 @@ void UITask::loop() {
if (millis() >= _next_read) {
int btnState = digitalRead(PIN_USER_BTN);
if (btnState != _prevBtnState) {
if (btnState == LOW) { // pressed?
if (btnState == USER_BTN_PRESSED) { // pressed?
if (_display->isOn()) {
// TODO: any action ?
} else {

6
examples/simple_sensor/UITask.cpp

@ -2,6 +2,10 @@
#include <Arduino.h>
#include <helpers/CommonCLI.h>
#ifndef USER_BTN_PRESSED
#define USER_BTN_PRESSED LOW
#endif
#define AUTO_OFF_MILLIS 20000 // 20 seconds
#define BOOT_SCREEN_MILLIS 4000 // 4 seconds
@ -85,7 +89,7 @@ void UITask::loop() {
if (millis() >= _next_read) {
int btnState = digitalRead(PIN_USER_BTN);
if (btnState != _prevBtnState) {
if (btnState == LOW) { // pressed?
if (btnState == USER_BTN_PRESSED) { // pressed?
if (_display->isOn()) {
// TODO: any action ?
} else {

4
src/helpers/ESP32Board.h

@ -3,6 +3,10 @@
#include <MeshCore.h>
#include <Arduino.h>
#ifndef USER_BTN_PRESSED
#define USER_BTN_PRESSED LOW
#endif
#if defined(ESP_PLATFORM)
#include <rom/rtc.h>

2
variants/minewsemi_me25ls01/MinewsemiME25LS01Board.h

@ -63,7 +63,7 @@ public:
digitalWrite(LED_PIN, LOW);
#endif
#ifdef BUTTON_PIN
nrf_gpio_cfg_sense_input(digitalPinToInterrupt(BUTTON_PIN), NRF_GPIO_PIN_PULLUP, NRF_GPIO_PIN_SENSE_HIGH);
nrf_gpio_cfg_sense_input(digitalPinToInterrupt(BUTTON_PIN), NRF_GPIO_PIN_PULLUP, NRF_GPIO_PIN_SENSE_LOW);
#endif
sd_power_system_off();
}

1
variants/minewsemi_me25ls01/platformio.ini

@ -21,7 +21,6 @@ build_flags = ${nrf52840_me25ls01.build_flags}
-I variants/minewsemi_me25ls01
-D me25ls01
-D PIN_USER_BTN=27
-D USER_BTN_PRESSED=HIGH
-D PIN_STATUS_LED=39
-D P_LORA_TX_LED=22
-D RADIO_CLASS=CustomLR1110

4
variants/t1000-e/T1000eBoard.h

@ -78,14 +78,14 @@ public:
digitalWrite(LED_PIN, HIGH);
#endif
#ifdef BUTTON_PIN
while(digitalRead(BUTTON_PIN));
while(digitalRead(BUTTON_PIN) == LOW);
#endif
#ifdef LED_PIN
digitalWrite(LED_PIN, LOW);
#endif
#ifdef BUTTON_PIN
nrf_gpio_cfg_sense_input(BUTTON_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_SENSE_HIGH);
nrf_gpio_cfg_sense_input(BUTTON_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_SENSE_LOW);
#endif
sd_power_system_off();

1
variants/t1000-e/platformio.ini

@ -10,7 +10,6 @@ build_flags = ${nrf52_base.build_flags}
-I src/helpers/ui
-D T1000_E
-D PIN_USER_BTN=6
-D USER_BTN_PRESSED=HIGH
-D PIN_STATUS_LED=24
-D RADIO_CLASS=CustomLR1110
-D WRAPPER_CLASS=CustomLR1110Wrapper

1
variants/thinknode_m3/platformio.ini

@ -10,7 +10,6 @@ build_flags = ${nrf52_base.build_flags}
-I src/helpers/ui
-D THINKNODE_M3
-D PIN_USER_BTN=12
-D USER_BTN_PRESSED=LOW
-D PIN_STATUS_LED=35
-D RADIO_CLASS=CustomLR1110
-D WRAPPER_CLASS=CustomLR1110Wrapper

1
variants/wio-e5-mini/platformio.ini

@ -9,7 +9,6 @@ build_flags = ${stm32_base.build_flags}
-D RX_BOOSTED_GAIN=true
-D P_LORA_TX_LED=LED_RED
-D PIN_USER_BTN=USER_BTN
-D USER_BTN_PRESSED=LOW
-I variants/wio-e5-mini
build_src_filter = ${stm32_base.build_src_filter}
+<../variants/wio-e5-mini>

6
variants/xiao_nrf52/XiaoNrf52Board.h

@ -4,6 +4,10 @@
#include <Arduino.h>
#include <helpers/NRF52Board.h>
#ifndef USER_BTN_PRESSED
#define USER_BTN_PRESSED LOW
#endif
#ifdef XIAO_NRF52
class XiaoNrf52Board : public NRF52BoardDCDC {
@ -35,7 +39,7 @@ public:
// set led on and wait for button release before poweroff
digitalWrite(PIN_LED, LOW);
#ifdef PIN_USER_BTN
while(digitalRead(PIN_USER_BTN) == LOW);
while(digitalRead(PIN_USER_BTN) == USER_BTN_PRESSED);
#endif
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_BLUE, HIGH);

Loading…
Cancel
Save