From ba984aebfa1e31843976447674b9a517bd0cd6fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Sat, 2 Apr 2022 12:05:07 +0200 Subject: [PATCH 1/3] Varaible GPS Thread Timing, keep default of 100 msec --- src/configuration.h | 4 ++++ src/gps/GPS.cpp | 7 ++++--- variants/t-echo/variant.h | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/configuration.h b/src/configuration.h index 6b9fc67a6..2597e2a72 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -155,6 +155,10 @@ along with this program. If not, see . #define GPS_BAUDRATE 9600 +#ifndef GPS_THREAD_INTERVAL +#define GPS_THREAD_INTERVAL 100 +#endif + #if defined(TBEAM_V10) // This string must exactly match the case used in release file names or the android updater won't work #define HW_VENDOR HardwareModel_TBEAM diff --git a/src/gps/GPS.cpp b/src/gps/GPS.cpp index 3f0c52242..8c0f7571d 100644 --- a/src/gps/GPS.cpp +++ b/src/gps/GPS.cpp @@ -51,7 +51,7 @@ bool GPS::setup() { // Master power for the GPS #ifdef PIN_GPS_EN - digitalWrite(PIN_GPS_EN, PIN_GPS_EN); + digitalWrite(PIN_GPS_EN, 1); pinMode(PIN_GPS_EN, OUTPUT); #endif @@ -268,7 +268,7 @@ int32_t GPS::runOnce() // 9600bps is approx 1 byte per msec, so considering our buffer size we never need to wake more often than 200ms // if not awake we can run super infrquently (once every 5 secs?) to see if we need to wake. - return isAwake ? 100 : 5000; + return isAwake ? GPS_THREAD_INTERVAL : 5000; } void GPS::forceWake(bool on) @@ -336,6 +336,7 @@ GPS *createGps() delete ublox; ublox = NULL; } else { + DEBUG_MSG("Using UBLOX Mode\n"); return ublox; } #endif @@ -343,7 +344,7 @@ GPS *createGps() if (GPS::_serial_gps) { // Some boards might have only the TX line from the GPS connected, in that case, we can't configure it at all. Just // assume NMEA at 9600 baud. - DEBUG_MSG("Hoping that NMEA might work\n"); + DEBUG_MSG("Using NMEA Mode\n"); GPS *new_gps = new NMEAGPS(); new_gps->setup(); return new_gps; diff --git a/variants/t-echo/variant.h b/variants/t-echo/variant.h index c5b767d05..4f8946e95 100644 --- a/variants/t-echo/variant.h +++ b/variants/t-echo/variant.h @@ -177,6 +177,8 @@ External serial flash WP25R1635FZUIL0 #define PIN_GPS_TX (32 + 9) // This is for bits going TOWARDS the CPU #define PIN_GPS_RX (32 + 8) // This is for bits going TOWARDS the GPS +#define GPS_THREAD_INTERVAL 50 + #define PIN_SERIAL1_RX PIN_GPS_TX #define PIN_SERIAL1_TX PIN_GPS_RX From d246c31548a874575aa419f07c84637cce9a8707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Sat, 2 Apr 2022 12:16:42 +0200 Subject: [PATCH 2/3] GPS Pin Changes on V 2.0 and V1 too. --- variants/heltec_v1/variant.h | 6 +++--- variants/heltec_v2/variant.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/variants/heltec_v1/variant.h b/variants/heltec_v1/variant.h index 25cb14070..9ea07eb0c 100644 --- a/variants/heltec_v1/variant.h +++ b/variants/heltec_v1/variant.h @@ -3,7 +3,7 @@ #undef GPS_RX_PIN #undef GPS_TX_PIN #define GPS_RX_PIN 36 -#define GPS_TX_PIN 37 +#define GPS_TX_PIN 33 #ifndef USE_JTAG // gpio15 is TDO for JTAG, so no I2C on this board while doing jtag #define I2C_SDA 4 // I2C pins for this board @@ -20,8 +20,8 @@ #ifndef USE_JTAG #define LORA_RESET 14 #endif -#define LORA_DIO1 33 // Not really used -#define LORA_DIO2 32 // Not really used +#define LORA_DIO1 35 // Not really used +#define LORA_DIO2 34 // Not really used // ratio of voltage divider = 3.20 (R1=100k, R2=220k) #define ADC_MULTIPLIER 3.2 diff --git a/variants/heltec_v2/variant.h b/variants/heltec_v2/variant.h index 76b7314b5..e5981fd63 100644 --- a/variants/heltec_v2/variant.h +++ b/variants/heltec_v2/variant.h @@ -3,7 +3,7 @@ #undef GPS_RX_PIN #undef GPS_TX_PIN #define GPS_RX_PIN 36 -#define GPS_TX_PIN 37 +#define GPS_TX_PIN 33 #ifndef USE_JTAG // gpio15 is TDO for JTAG, so no I2C on this board while doing jtag #define I2C_SDA 4 // I2C pins for this board From 628740d6d13ef639ac42e802fbed713a02d9c5db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Fri, 6 May 2022 14:20:46 +0200 Subject: [PATCH 3/3] Support Buzzer in Slot C --- src/buzz/buzz.cpp | 4 ---- variants/rak4631/variant.h | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/buzz/buzz.cpp b/src/buzz/buzz.cpp index a667df004..279c64842 100644 --- a/src/buzz/buzz.cpp +++ b/src/buzz/buzz.cpp @@ -1,10 +1,6 @@ #include "buzz.h" #include "configuration.h" -#ifdef NRF52_SERIES -#include "variant.h" -#endif - #ifndef PIN_BUZZER // Noop methods for boards w/o buzzer diff --git a/variants/rak4631/variant.h b/variants/rak4631/variant.h index bae5d957a..f1e144324 100644 --- a/variants/rak4631/variant.h +++ b/variants/rak4631/variant.h @@ -201,6 +201,9 @@ static const uint8_t SCK = PIN_SPI_SCK; // RAK12002 RTC Module #define RV3028_RTC (uint8_t) 0b1010010 +// RAK18001 Buzzer in Slot C +#define PIN_BUZZER 21 // IO3 is PWM2 + // Battery // The battery sense is hooked to pin A0 (5) #define BATTERY_PIN PIN_A0