diff --git a/variants/thinknode_m3/platformio.ini b/variants/thinknode_m3/platformio.ini index 0a3d4eda..f23ac87d 100644 --- a/variants/thinknode_m3/platformio.ini +++ b/variants/thinknode_m3/platformio.ini @@ -27,7 +27,7 @@ build_flags = ${nrf52_base.build_flags} -D P_LORA_TX_LED_ON=LOW -D LR11X0_DIO_AS_RF_SWITCH=true -D LR11X0_DIO3_TCXO_VOLTAGE=3.3 - -D MESH_DEBUG=1 +; -D MESH_DEBUG=1 -D ENV_INCLUDE_GPS=1 build_src_filter = ${nrf52_base.build_src_filter} + diff --git a/variants/thinknode_m3/variant.cpp b/variants/thinknode_m3/variant.cpp index dad0f3f5..efcdadf5 100644 --- a/variants/thinknode_m3/variant.cpp +++ b/variants/thinknode_m3/variant.cpp @@ -87,7 +87,10 @@ void initVariant() pinMode(PIN_GPS_POWER, OUTPUT); pinMode(PIN_GPS_EN, OUTPUT); - pinMode(PIN_GPS_RESET, OUTPUT); + // PIN_GPS_RESET (pin 25 / REINIT) is intentionally left floating (input). + // Driving it HIGH holds the L76K silent, so it never streams NMEA and the + // firmware reports "no GPS". Letting it float lets the module run. + // See GPS_RESET (-1) in variant.h. // Power on gps but in standby digitalWrite(PIN_GPS_EN, LOW); diff --git a/variants/thinknode_m3/variant.h b/variants/thinknode_m3/variant.h index 02ed78a8..f4619ba5 100644 --- a/variants/thinknode_m3/variant.h +++ b/variants/thinknode_m3/variant.h @@ -97,7 +97,11 @@ #define PIN_GPS_POWER (14) #define PIN_GPS_EN (21) // STANDBY -#define PIN_GPS_RESET (25) // REINIT +#define PIN_GPS_RESET (25) // REINIT - must FLOAT; driving it (esp. HIGH) silences the L76K +// The M6's L76K streams NMEA on its own and must not have its REINIT pin driven. +// Tell the location provider there is no reset pin so it never touches pin 25 +// (driving it HIGH holds the module silent). +#define GPS_RESET (-1) #define GPS_RESET_ACTIVE LOW #define GPS_EN_ACTIVE HIGH #define GPS_BAUDRATE 9600