diff --git a/bin/version.sh b/bin/version.sh index 388402b64..b71c5d64c 100644 --- a/bin/version.sh +++ b/bin/version.sh @@ -1,3 +1,3 @@ -export VERSION=0.9.5 \ No newline at end of file +export VERSION=0.9.6 \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index d805427f2..6ef76e7d1 100644 --- a/platformio.ini +++ b/platformio.ini @@ -92,7 +92,7 @@ build_flags = # board_build.ldscript = linker/esp32.extram.bss.ld lib_ignore = segger_rtt platform_packages = - framework-arduinoespressif32 @ https://github.com/meshtastic/arduino-esp32.git#1adba3f11ca8406ac0a704d151697b572058b53d + framework-arduinoespressif32@https://github.com/meshtastic/arduino-esp32.git#2814f110aa618429bdd9a0a2d6a93c55f29f87a6 ; customize the partition table ; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables @@ -105,7 +105,7 @@ board_build.partitions = partition-table.csv ; -DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG -; The 1.0 release of the TBEAM board +; The 1.0 release of the TBEAM board [env:tbeam] extends = esp32_base board = ttgo-t-beam diff --git a/proto b/proto index 3caee2e5b..ce422b7c4 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit 3caee2e5b92d4429c6cf47a4c88d4615001f300b +Subproject commit ce422b7c448906c6fee3eef64bbd41adfbc990f0 diff --git a/src/configuration.h b/src/configuration.h index b8f35c0e4..55464d6cd 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -258,6 +258,7 @@ 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 2 // If defined we will blink this LED #define BUTTON_PIN 0 // If defined, this will be used for user button presses +#define BUTTON_NEED_PULLUP #define USE_RF95 #define LORA_DIO0 26 // a No connect on the SX1262 module @@ -284,6 +285,7 @@ along with this program. If not, see . #define BUTTON_PIN \ 0 // 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_NEED_PULLUP #define USE_RF95 #define LORA_DIO0 26 // a No connect on the SX1262 module diff --git a/src/gps/UBloxGPS.cpp b/src/gps/UBloxGPS.cpp index 80d7064bb..624ab77b8 100644 --- a/src/gps/UBloxGPS.cpp +++ b/src/gps/UBloxGPS.cpp @@ -46,8 +46,9 @@ bool UBloxGPS::setup() // ublox.enableDebugging(Serial); // try a second time, the ublox lib serial parsing is buggy? - if (!tryConnect()) - tryConnect(); + // see https://github.com/meshtastic/Meshtastic-device/issues/376 + for (int i = 0; (i < 3) && !tryConnect(); i++) + delay(500); if (isConnected) { DEBUG_MSG("Connected to UBLOX GPS successfully\n"); @@ -81,8 +82,11 @@ bool UBloxGPS::setUBXMode() // assert(ok); // ok = ublox.setDynamicModel(DYN_MODEL_BIKE); // probably PEDESTRIAN but just in case assume bike speeds // assert(ok); - if (!ublox.powerSaveMode(true, 2000)) // use power save mode, the default timeout (1100ms seems a bit too tight) - return false; + + // per https://github.com/meshtastic/Meshtastic-device/issues/376 powerSaveMode might not work with the marginal + // TTGO antennas + // if (!ublox.powerSaveMode(true, 2000)) // use power save mode, the default timeout (1100ms seems a bit too tight) + // return false; if (!ublox.saveConfiguration(3000)) return false; @@ -106,8 +110,8 @@ bool UBloxGPS::factoryReset() tryConnect(); // sets isConnected // try a second time, the ublox lib serial parsing is buggy? - if (!tryConnect()) - tryConnect(); + for (int i = 0; (i < 3) && !tryConnect(); i++) + delay(500); DEBUG_MSG("GPS Factory reset success=%d\n", isConnected); if (isConnected) @@ -165,7 +169,7 @@ void UBloxGPS::doTask() latitude = ublox.getLatitude(0); longitude = ublox.getLongitude(0); - altitude = ublox.getAltitude(0) / 1000; // in mm convert to meters + altitude = ublox.getAltitudeMSL(0) / 1000; // in mm convert to meters dop = ublox.getPDOP(0); // PDOP (an accuracy metric) is reported in 10^2 units so we have to scale down when we use it heading = ublox.getHeading(0); numSatellites = ublox.getSIV(0); diff --git a/src/mesh/mesh.pb.h b/src/mesh/mesh.pb.h index 27ff63f9b..64b2758c3 100644 --- a/src/mesh/mesh.pb.h +++ b/src/mesh/mesh.pb.h @@ -364,7 +364,7 @@ typedef struct _ToRadio { #define DeviceState_version_tag 8 #define DeviceState_rx_text_message_tag 7 #define DeviceState_no_save_tag 9 -#define DeviceState_did_gps_reset_tag 10 +#define DeviceState_did_gps_reset_tag 11 #define FromRadio_packet_tag 2 #define FromRadio_my_info_tag 3 #define FromRadio_node_info_tag 4 @@ -519,7 +519,7 @@ X(a, STATIC, REPEATED, MESSAGE, receive_queue, 5) \ X(a, STATIC, OPTIONAL, MESSAGE, rx_text_message, 7) \ X(a, STATIC, SINGULAR, UINT32, version, 8) \ X(a, STATIC, SINGULAR, BOOL, no_save, 9) \ -X(a, STATIC, SINGULAR, BOOL, did_gps_reset, 10) +X(a, STATIC, SINGULAR, BOOL, did_gps_reset, 11) #define DeviceState_CALLBACK NULL #define DeviceState_DEFAULT NULL #define DeviceState_radio_MSGTYPE RadioConfig diff --git a/src/sleep.cpp b/src/sleep.cpp index a08707762..731273c9b 100644 --- a/src/sleep.cpp +++ b/src/sleep.cpp @@ -283,8 +283,10 @@ esp_sleep_wakeup_cause_t doLightSleep(uint64_t sleepMsec) // FIXME, use a more r assert(esp_light_sleep_start() == ESP_OK); esp_sleep_wakeup_cause_t cause = esp_sleep_get_wakeup_cause(); +#ifdef BUTTON_PIN if (cause == ESP_SLEEP_WAKEUP_GPIO) DEBUG_MSG("Exit light sleep gpio: btn=%d\n", !digitalRead(BUTTON_PIN)); +#endif return cause; }