From e4141df0e9ddb2f95dd01daa548b6c3453a82533 Mon Sep 17 00:00:00 2001 From: Jm Date: Sat, 20 Feb 2021 00:34:25 -0800 Subject: [PATCH] #697 GPIO 12 is an odd pin. --- src/configuration.h | 19 +++++++------------ src/main.cpp | 7 +++++-- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/configuration.h b/src/configuration.h index 55612a121..cb68a2e39 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -354,15 +354,9 @@ along with this program. If not, see . #define VEXT_ENABLE 21 // active low, powers the oled display and the lora antenna boost #define LED_PIN 25 // If defined we will blink this LED -#define BUTTON_PIN \ - 12 // If defined, this will be used for user button presses, if your board doesn't have a physical switch, you can wire one - // between this pin and ground +#define BUTTON_PIN 12 // If defined, this will be used for user button presses, -/* Don't enable the internal pull up on the TLORA_V2_1_16. GPIO 12 is connected to a bidirectional - diode. If someone needs to use a button, they should connect an external pull up that's stronger - than what's built into the esp32 -*/ -// #define BUTTON_NEED_PULLUP +#define BUTTON_NEED_PULLUP #define USE_RF95 #define LORA_DIO0 26 // a No connect on the SX1262 module @@ -380,15 +374,16 @@ along with this program. If not, see . #define GPS_RESET_N 10 #define GPS_EXTINT 23 // On MAX-M8 module pin name is EXTINT. On L70 module pin name is STANDBY. -#define BATTERY_PIN 39 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage +#define BATTERY_PIN 39 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage #define BATTERY_EN_PIN 14 // Voltage voltage divider enable pin connected to mosfet #define I2C_SDA 4 // I2C pins for this board #define I2C_SCL 2 -#define LED_PIN 12 // If defined we will blink this LED -//#define BUTTON_PIN 36 // If defined, this will be used for user button presses (ToDo problem on that line on debug screen --> Long press start!) -//#define BUTTON_NEED_PULLUP //GPIOs 34 to 39 are GPIs – input only pins. These pins don’t have internal pull-ups or pull-down resistors. +#define LED_PIN 12 // If defined we will blink this LED +//#define BUTTON_PIN 36 // If defined, this will be used for user button presses (ToDo problem on that line on debug screen --> +//Long press start!) #define BUTTON_NEED_PULLUP //GPIOs 34 to 39 are GPIs – input only pins. These pins don’t have internal +//pull-ups or pull-down resistors. #define USE_RF95 #define LORA_DIO0 38 // a No connect on the SX1262 module diff --git a/src/main.cpp b/src/main.cpp index bb3ec4820..9bd34c23e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -305,12 +305,15 @@ void setup() #ifdef BUTTON_PIN #ifndef NO_ESP32 - // If BUTTON_PIN is held down during the startup process, - // force the device to go into a SoftAP mode. bool forceSoftAP = 0; + + // If the button is connected to GPIO 12, don't enable the ability to use + // meshtasticAdmin on the device. pinMode(BUTTON_PIN, INPUT); + #ifdef BUTTON_NEED_PULLUP gpio_pullup_en((gpio_num_t)BUTTON_PIN); + delay(10); #endif // BUTTON_PIN is pulled high by a 12k resistor.