HeltecV3 fixes
This commit is contained in:
parent
f46f986d8f
commit
867a85d228
|
|
@ -30,11 +30,11 @@ TinyGPSPlus gps;
|
||||||
#if !defined(TTGO_T_Beam_S3_SUPREME_V3) && !defined(HELTEC_V3_GPS)
|
#if !defined(TTGO_T_Beam_S3_SUPREME_V3) && !defined(HELTEC_V3_GPS)
|
||||||
BluetoothSerial SerialBT;
|
BluetoothSerial SerialBT;
|
||||||
#endif
|
#endif
|
||||||
#if defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3)
|
#if defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3_GPS)
|
||||||
OneButton userButton = OneButton(BUTTON_PIN, true, true);
|
OneButton userButton = OneButton(BUTTON_PIN, true, true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
String versionDate = "2024.01.05";
|
String versionDate = "2024.01.09";
|
||||||
|
|
||||||
int myBeaconsIndex = 0;
|
int myBeaconsIndex = 0;
|
||||||
int myBeaconsSize = Config.beacons.size();
|
int myBeaconsSize = Config.beacons.size();
|
||||||
|
|
@ -148,7 +148,7 @@ void setup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Config.simplifiedTrackerMode) {
|
if (!Config.simplifiedTrackerMode) {
|
||||||
#if defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3)
|
#if defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3_GPS)
|
||||||
userButton.attachClick(BUTTON_Utils::singlePress);
|
userButton.attachClick(BUTTON_Utils::singlePress);
|
||||||
userButton.attachLongPressStart(BUTTON_Utils::longPress);
|
userButton.attachLongPressStart(BUTTON_Utils::longPress);
|
||||||
userButton.attachDoubleClick(BUTTON_Utils::doublePress);
|
userButton.attachDoubleClick(BUTTON_Utils::doublePress);
|
||||||
|
|
|
||||||
|
|
@ -6,98 +6,100 @@
|
||||||
#undef OLED_RST
|
#undef OLED_RST
|
||||||
|
|
||||||
#if !defined(TTGO_T_Beam_S3_SUPREME_V3) && !defined(HELTEC_V3_GPS)
|
#if !defined(TTGO_T_Beam_S3_SUPREME_V3) && !defined(HELTEC_V3_GPS)
|
||||||
#define OLED_SDA 21
|
#define OLED_SDA 21
|
||||||
#define OLED_SCL 22
|
#define OLED_SCL 22
|
||||||
#define OLED_RST 16
|
#define OLED_RST 16
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262)
|
#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262)
|
||||||
#define GPS_RX 12
|
#define GPS_RX 12
|
||||||
#define GPS_TX 34
|
#define GPS_TX 34
|
||||||
#define BUTTON_PIN 38 // The middle button GPIO on the T-Beam
|
#define BUTTON_PIN 38 // The middle button GPIO on the T-Beam
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS)
|
#if defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS)
|
||||||
#define GPS_RX 12
|
#define GPS_RX 12
|
||||||
#define GPS_TX 34
|
#define GPS_TX 34
|
||||||
#define BUTTON_PIN -1
|
#define BUTTON_PIN -1
|
||||||
#define LORA_SCK 5
|
#define LORA_SCK 5
|
||||||
#define LORA_MISO 19
|
#define LORA_MISO 19
|
||||||
#define LORA_MOSI 27
|
#define LORA_MOSI 27
|
||||||
#define LORA_CS 18 // CS --> NSS
|
#define LORA_CS 18 // CS --> NSS
|
||||||
#define LORA_RST 23
|
#define LORA_RST 23
|
||||||
#define LORA_IRQ 26 // IRQ --> DIO0
|
#define LORA_IRQ 26 // IRQ --> DIO0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ESP32_DIY_1W_LoRa_GPS
|
#ifdef ESP32_DIY_1W_LoRa_GPS
|
||||||
#define GPS_RX 17
|
#define GPS_RX 17
|
||||||
#define GPS_TX 16
|
#define GPS_TX 16
|
||||||
#define BUTTON_PIN 15
|
#define BUTTON_PIN 15
|
||||||
#define RADIO_SCLK_PIN 18
|
#define RADIO_SCLK_PIN 18
|
||||||
#define RADIO_MISO_PIN 19
|
#define RADIO_MISO_PIN 19
|
||||||
#define RADIO_MOSI_PIN 23
|
#define RADIO_MOSI_PIN 23
|
||||||
#define RADIO_CS_PIN 5
|
#define RADIO_CS_PIN 5
|
||||||
#define RADIO_RST_PIN 27
|
#define RADIO_RST_PIN 27
|
||||||
#define RADIO_DIO1_PIN 12
|
#define RADIO_DIO1_PIN 12
|
||||||
#define RADIO_BUSY_PIN 14
|
#define RADIO_BUSY_PIN 14
|
||||||
#define RADIO_RXEN 32
|
#define RADIO_RXEN 32
|
||||||
#define RADIO_TXEN 25
|
#define RADIO_TXEN 25
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262)
|
#if defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262)
|
||||||
#define RADIO_SCLK_PIN 5
|
#define RADIO_SCLK_PIN 5
|
||||||
#define RADIO_MISO_PIN 19
|
#define RADIO_MISO_PIN 19
|
||||||
#define RADIO_MOSI_PIN 27
|
#define RADIO_MOSI_PIN 27
|
||||||
#define RADIO_CS_PIN 18
|
#define RADIO_CS_PIN 18
|
||||||
#define RADIO_DIO0_PIN 26
|
#define RADIO_DIO0_PIN 26
|
||||||
#define RADIO_RST_PIN 23
|
#define RADIO_RST_PIN 23
|
||||||
#define RADIO_DIO1_PIN 33
|
#define RADIO_DIO1_PIN 33
|
||||||
#define RADIO_BUSY_PIN 32
|
#define RADIO_BUSY_PIN 32
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef TTGO_T_Beam_V0_7
|
#ifdef TTGO_T_Beam_V0_7
|
||||||
#define GPS_RX 15
|
#define GPS_RX 15
|
||||||
#define GPS_TX 12
|
#define GPS_TX 12
|
||||||
#define BUTTON_PIN 39
|
#define BUTTON_PIN 39
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef TTGO_T_LORA32_V2_1_TNC
|
#ifdef TTGO_T_LORA32_V2_1_TNC
|
||||||
#define GPS_RX -1
|
#define GPS_RX -1
|
||||||
#define GPS_TX -1
|
#define GPS_TX -1
|
||||||
#define BUTTON_PIN -1
|
#define BUTTON_PIN -1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||||
#define OLED_SDA 17
|
#define OLED_SDA 17
|
||||||
#define OLED_SCL 18
|
#define OLED_SCL 18
|
||||||
#define OLED_RST 16
|
#define OLED_RST 16
|
||||||
#define GPS_RX 8
|
#define GPS_RX 8
|
||||||
#define GPS_TX 9
|
#define GPS_TX 9
|
||||||
#define BUTTON_PIN 0
|
#define BUTTON_PIN 0
|
||||||
#define RADIO_SCLK_PIN 12
|
#define RADIO_SCLK_PIN 12
|
||||||
#define RADIO_MISO_PIN 13
|
#define RADIO_MISO_PIN 13
|
||||||
#define RADIO_MOSI_PIN 11
|
#define RADIO_MOSI_PIN 11
|
||||||
#define RADIO_CS_PIN 10
|
#define RADIO_CS_PIN 10
|
||||||
#define RADIO_DIO0_PIN -1
|
#define RADIO_DIO0_PIN -1
|
||||||
#define RADIO_RST_PIN 5
|
#define RADIO_RST_PIN 5
|
||||||
#define RADIO_DIO1_PIN 1
|
#define RADIO_DIO1_PIN 1
|
||||||
#define RADIO_BUSY_PIN 4
|
#define RADIO_BUSY_PIN 4
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HELTEC_V3_GPS)
|
#if defined(HELTEC_V3_GPS)
|
||||||
#define OLED_SDA 17
|
#define OLED_SDA 17
|
||||||
#define OLED_SCL 18
|
#define OLED_SCL 18
|
||||||
#define OLED_RST 21
|
#define OLED_RST 21
|
||||||
#define GPS_RX 19
|
#define GPS_RX 19
|
||||||
#define GPS_TX 20
|
#define GPS_TX 20
|
||||||
#define BUTTON_PIN 0
|
#define BUTTON_PIN 0
|
||||||
#define RADIO_SCLK_PIN 9
|
#define RADIO_SCLK_PIN 9
|
||||||
#define RADIO_MISO_PIN 11
|
#define RADIO_MISO_PIN 11
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
#define RADIO_CS_PIN 8
|
#define RADIO_CS_PIN 8
|
||||||
#define RADIO_RST_PIN 12
|
#define RADIO_RST_PIN 12
|
||||||
#define RADIO_DIO1_PIN 14
|
#define RADIO_DIO1_PIN 14
|
||||||
#define RADIO_BUSY_PIN 13
|
#define RADIO_BUSY_PIN 13
|
||||||
|
#define BATTERY_PIN 1
|
||||||
|
//#define ADC_EN_PIN 37
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,17 +40,18 @@ namespace POWER_Utils {
|
||||||
|
|
||||||
double getBatteryVoltage() {
|
double getBatteryVoltage() {
|
||||||
#if defined(TTGO_T_Beam_V0_7) || defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(ESP32_DIY_1W_LoRa_GPS)
|
#if defined(TTGO_T_Beam_V0_7) || defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(ESP32_DIY_1W_LoRa_GPS)
|
||||||
int adc_value;
|
int adc_value = analogRead(35);;
|
||||||
double voltage;
|
double voltage = (adc_value * 3.3 ) / 4095.0; // the battery voltage is divided by 2 with two 100kOhm resistors and connected to ADC1 Channel 7 -> pin 35
|
||||||
adc_value = analogRead(35);
|
|
||||||
voltage = (adc_value * 3.3 ) / 4095.0; // the battery voltage is divided by 2 with two 100kOhm resistors and connected to ADC1 Channel 7 -> pin 35
|
|
||||||
return (2 * (voltage + 0.1)) * (1 + (lora32BatReadingCorr/100)); // 2 x voltage divider/+0.1 because ESP32 nonlinearity ~100mV ADC offset/extra correction
|
return (2 * (voltage + 0.1)) * (1 + (lora32BatReadingCorr/100)); // 2 x voltage divider/+0.1 because ESP32 nonlinearity ~100mV ADC offset/extra correction
|
||||||
#endif
|
#endif
|
||||||
#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3)
|
#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||||
return PMU.getBattVoltage() / 1000.0;
|
return PMU.getBattVoltage() / 1000.0;
|
||||||
#endif
|
#endif
|
||||||
#if defined(HELTEC_V3_GPS)
|
#if defined(HELTEC_V3_GPS)
|
||||||
return 0; // Add measurement later
|
int adc_value = analogRead(BATTERY_PIN);
|
||||||
|
double voltage = (adc_value * 3.3) / 4095.0;
|
||||||
|
double inputDivider = (1.0 / (390.0 + 100.0)) * 100.0; // The voltage divider is a 390k + 100k resistor in series, 100k on the low side.
|
||||||
|
return (voltage / inputDivider) + 0.3; // Yes, this offset is excessive, but the ADC on the ESP32s3 is quite inaccurate and noisy. Adjust to own measurements.
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -128,7 +129,7 @@ namespace POWER_Utils {
|
||||||
if (!(rate_limit_check_battery++ % 60))
|
if (!(rate_limit_check_battery++ % 60))
|
||||||
BatteryIsConnected = isBatteryConnected();
|
BatteryIsConnected = isBatteryConnected();
|
||||||
if (BatteryIsConnected) {
|
if (BatteryIsConnected) {
|
||||||
#if defined(TTGO_T_Beam_V0_7) || defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(ESP32_DIY_1W_LoRa_GPS)
|
#if defined(TTGO_T_Beam_V0_7) || defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(HELTEC_V3_GPS)
|
||||||
batteryVoltage = String(getBatteryVoltage(), 2);
|
batteryVoltage = String(getBatteryVoltage(), 2);
|
||||||
#endif
|
#endif
|
||||||
#if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3)
|
#if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||||
|
|
@ -211,7 +212,7 @@ namespace POWER_Utils {
|
||||||
|
|
||||||
bool begin(TwoWire &port) {
|
bool begin(TwoWire &port) {
|
||||||
#if defined(TTGO_T_Beam_V0_7) || defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(HELTEC_V3_GPS)
|
#if defined(TTGO_T_Beam_V0_7) || defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(HELTEC_V3_GPS)
|
||||||
return true; // nor powerManagment chip for this boards (only a few measure battery voltage).
|
return true; // no powerManagment chip for this boards (only a few measure battery voltage).
|
||||||
#endif
|
#endif
|
||||||
#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268)
|
#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268)
|
||||||
bool result = PMU.begin(Wire, AXP192_SLAVE_ADDRESS, I2C_SDA, I2C_SCL);
|
bool result = PMU.begin(Wire, AXP192_SLAVE_ADDRESS, I2C_SDA, I2C_SCL);
|
||||||
|
|
@ -326,10 +327,13 @@ namespace POWER_Utils {
|
||||||
PMU.setChargerConstantCurr(XPOWERS_AXP2101_CHG_CUR_800MA);
|
PMU.setChargerConstantCurr(XPOWERS_AXP2101_CHG_CUR_800MA);
|
||||||
PMU.setSysPowerDownVoltage(2600);
|
PMU.setSysPowerDownVoltage(2600);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HELTEC_V3_GPS
|
||||||
|
pinMode(BATTERY_PIN, INPUT); // This could or should be elsewhere, but this was my point of entry.
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void lowerCpuFrequency() {
|
void lowerCpuFrequency() {
|
||||||
#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2) || defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3)
|
#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2) || defined(ESP32_DIY_LoRa_GPS) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(TTGO_T_Beam_V1_2_SX1262) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3_GPS)
|
||||||
if (setCpuFrequencyMhz(80)) {
|
if (setCpuFrequencyMhz(80)) {
|
||||||
logger.log(logging::LoggerLevel::LOGGER_LEVEL_INFO, "Main", "CPU frequency set to 80MHz");
|
logger.log(logging::LoggerLevel::LOGGER_LEVEL_INFO, "Main", "CPU frequency set to 80MHz");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -417,6 +417,9 @@ namespace STATION_Utils {
|
||||||
#if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262)
|
#if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262)
|
||||||
packet += " Bat=" + String(batteryVoltage.toFloat()/1000,2) + "V (" + batteryChargeCurrent + "%)";
|
packet += " Bat=" + String(batteryVoltage.toFloat()/1000,2) + "V (" + batteryChargeCurrent + "%)";
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(HELTEC_V3_GPS)
|
||||||
|
packet += " Bat=" + String(batteryVoltage.toFloat(),2) + "V";
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
show_display("<<< TX >>>", "", packet,100);
|
show_display("<<< TX >>>", "", packet,100);
|
||||||
LoRa_Utils::sendNewPacket(packet);
|
LoRa_Utils::sendNewPacket(packet);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue