mirror of
https://github.com/richonguzman/LoRa_APRS_iGate.git
synced 2026-07-13 13:21:26 +02:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 984e9f9561 | |||
| f60252ef94 | |||
| 63257d6329 | |||
| 18929ad379 | |||
| cda901142d | |||
| 8008143267 | |||
| 3416e21a8c | |||
| 5882b54c62 |
@@ -51,7 +51,7 @@ ____________________________________________________
|
|||||||
<br />
|
<br />
|
||||||
|
|
||||||
# Timeline (Versions):
|
# Timeline (Versions):
|
||||||
- 2025-12-01 APRSPacketLib updates, AHT20 sensor added.
|
- 2025-12-01 APRSPacketLib updates, AHT20 sensor added, INA219 support added.
|
||||||
- 2025-10-15 APRS Bridge for TNC added.
|
- 2025-10-15 APRS Bridge for TNC added.
|
||||||
- 2025-10-13 Rx and Tx Frequencies are now with fully configurable.
|
- 2025-10-13 Rx and Tx Frequencies are now with fully configurable.
|
||||||
- 2025-10-13 Startup Delay to allow the Router/Modem to start WiFiAP before connecting.
|
- 2025-10-13 Startup Delay to allow the Router/Modem to start WiFiAP before connecting.
|
||||||
|
|||||||
+20
-20
@@ -2,26 +2,25 @@
|
|||||||
build_flags =
|
build_flags =
|
||||||
-Werror -Wall
|
-Werror -Wall
|
||||||
-DELEGANTOTA_USE_ASYNC_WEBSERVER=1
|
-DELEGANTOTA_USE_ASYNC_WEBSERVER=1
|
||||||
-DRADIOLIB_EXCLUDE_CC1101=1
|
-D RADIOLIB_EXCLUDE_CC1101=1
|
||||||
-DRADIOLIB_EXCLUDE_NRF24=1
|
-D RADIOLIB_EXCLUDE_RF69=1
|
||||||
-DRADIOLIB_EXCLUDE_RF69=1
|
-D RADIOLIB_EXCLUDE_RFM2X=1
|
||||||
-DRADIOLIB_EXCLUDE_SX1231=1
|
-D RADIOLIB_EXCLUDE_SX1231=1
|
||||||
-DRADIOLIB_EXCLUDE_SX1233=1
|
-D RADIOLIB_EXCLUDE_SX1233=1
|
||||||
-DRADIOLIB_EXCLUDE_SI443X=1
|
-D RADIOLIB_EXCLUDE_SI443X=1
|
||||||
-DRADIOLIB_EXCLUDE_RFM2X=1
|
-D RADIOLIB_EXCLUDE_NRF24=1
|
||||||
-DRADIOLIB_EXCLUDE_AFSK=1
|
-D RADIOLIB_EXCLUDE_AFSK=1
|
||||||
-DRADIOLIB_EXCLUDE_BELL=1
|
-D RADIOLIB_EXCLUDE_APRS=1
|
||||||
-DRADIOLIB_EXCLUDE_HELLSCHREIBER=1
|
-D RADIOLIB_EXCLUDE_AX25=1
|
||||||
-DRADIOLIB_EXCLUDE_MORSE=1
|
-D RADIOLIB_EXCLUDE_BELL=1
|
||||||
-DRADIOLIB_EXCLUDE_RTTY=1
|
-D RADIOLIB_EXCLUDE_FSK4=1
|
||||||
-DRADIOLIB_EXCLUDE_SSTV=1
|
-D RADIOLIB_EXCLUDE_HELLSCHREIBER=1
|
||||||
-DRADIOLIB_EXCLUDE_AX25=1
|
-D RADIOLIB_EXCLUDE_LORAWAN=1
|
||||||
-DRADIOLIB_EXCLUDE_DIRECT_RECEIVE=1
|
-D RADIOLIB_EXCLUDE_MORSE=1
|
||||||
-DRADIOLIB_EXCLUDE_BELL=1
|
-D RADIOLIB_EXCLUDE_PAGER=1
|
||||||
-DRADIOLIB_EXCLUDE_PAGER=1
|
-D RADIOLIB_EXCLUDE_DIRECT_RECEIVE=1
|
||||||
-DRADIOLIB_EXCLUDE_FSK4=1
|
-D RADIOLIB_EXCLUDE_RTTY=1
|
||||||
-DRADIOLIB_EXCLUDE_APRS=1
|
-D RADIOLIB_EXCLUDE_SSTV=1
|
||||||
-DRADIOLIB_EXCLUDE_LORAWAN=1
|
|
||||||
-I variants/${PIOENV}
|
-I variants/${PIOENV}
|
||||||
lib_deps =
|
lib_deps =
|
||||||
adafruit/Adafruit Unified Sensor @ 1.1.14
|
adafruit/Adafruit Unified Sensor @ 1.1.14
|
||||||
@@ -29,6 +28,7 @@ lib_deps =
|
|||||||
adafruit/Adafruit BME280 Library @ 2.2.4
|
adafruit/Adafruit BME280 Library @ 2.2.4
|
||||||
adafruit/Adafruit BMP280 Library @ 2.6.8
|
adafruit/Adafruit BMP280 Library @ 2.6.8
|
||||||
adafruit/Adafruit BME680 Library @ 2.0.4
|
adafruit/Adafruit BME680 Library @ 2.0.4
|
||||||
|
adafruit/Adafruit INA219 @ 1.2.3
|
||||||
adafruit/Adafruit Si7021 Library @ 1.5.3
|
adafruit/Adafruit Si7021 Library @ 1.5.3
|
||||||
arduino-libraries/NTPClient @ 3.2.1
|
arduino-libraries/NTPClient @ 3.2.1
|
||||||
ayushsharma82/ElegantOTA @ 3.1.5
|
ayushsharma82/ElegantOTA @ 3.1.5
|
||||||
|
|||||||
@@ -61,11 +61,12 @@
|
|||||||
"monitorInternalVoltage": false,
|
"monitorInternalVoltage": false,
|
||||||
"internalSleepVoltage": 2.9,
|
"internalSleepVoltage": 2.9,
|
||||||
"sendExternalVoltage": false,
|
"sendExternalVoltage": false,
|
||||||
"externalVoltagePin": 34,
|
|
||||||
"monitorExternalVoltage": false,
|
"monitorExternalVoltage": false,
|
||||||
"externalSleepVoltage": 10.9,
|
"externalSleepVoltage": 10.9,
|
||||||
|
"useExternalI2CSensor": false,
|
||||||
"voltageDividerR1": 100.0,
|
"voltageDividerR1": 100.0,
|
||||||
"voltageDividerR2": 27.0,
|
"voltageDividerR2": 27.0,
|
||||||
|
"externalVoltagePin": 34,
|
||||||
"sendVoltageAsTelemetry": false
|
"sendVoltageAsTelemetry": false
|
||||||
},
|
},
|
||||||
"wxsensor": {
|
"wxsensor": {
|
||||||
|
|||||||
+15
-1
@@ -1196,7 +1196,20 @@
|
|||||||
>Send External Voltage</label
|
>Send External Voltage</label
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check form-switch mt-5">
|
<div class="form-check form-switch">
|
||||||
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
name="battery.useExternalI2CSensor"
|
||||||
|
id="battery.useExternalI2CSensor"
|
||||||
|
class="form-check-input"
|
||||||
|
/>
|
||||||
|
<label
|
||||||
|
for="battery.useExternalI2CSensor"
|
||||||
|
class="form-label"
|
||||||
|
>Use External I2C Voltage Sensor</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-switch">
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="battery.monitorExternalVoltage"
|
name="battery.monitorExternalVoltage"
|
||||||
@@ -2009,6 +2022,7 @@
|
|||||||
name="remoteManagement.managers"
|
name="remoteManagement.managers"
|
||||||
id="remoteManagement.managers"
|
id="remoteManagement.managers"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
oninput="this.value = this.value.toUpperCase();"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+23
-12
@@ -168,13 +168,16 @@ function loadSettings(settings) {
|
|||||||
MonitorInternalSleepVoltage.disabled = !MonitorInternalVoltageCheckbox.checked;
|
MonitorInternalSleepVoltage.disabled = !MonitorInternalVoltageCheckbox.checked;
|
||||||
|
|
||||||
document.getElementById("battery.sendExternalVoltage").checked = settings.battery.sendExternalVoltage;
|
document.getElementById("battery.sendExternalVoltage").checked = settings.battery.sendExternalVoltage;
|
||||||
|
document.getElementById("battery.useExternalI2CSensor").checked = settings.battery.useExternalI2CSensor;
|
||||||
document.getElementById("battery.externalVoltagePin").value = settings.battery.externalVoltagePin;
|
document.getElementById("battery.externalVoltagePin").value = settings.battery.externalVoltagePin;
|
||||||
document.getElementById("battery.voltageDividerR1").value = settings.battery.voltageDividerR1.toFixed(1);
|
document.getElementById("battery.voltageDividerR1").value = settings.battery.voltageDividerR1.toFixed(1);
|
||||||
document.getElementById("battery.voltageDividerR2").value = settings.battery.voltageDividerR2.toFixed(1);
|
document.getElementById("battery.voltageDividerR2").value = settings.battery.voltageDividerR2.toFixed(1);
|
||||||
SendExternalVoltageCheckbox.checked = settings.battery.sendExternalVoltage;
|
SendExternalVoltageCheckbox.checked = settings.battery.sendExternalVoltage;
|
||||||
ExternalVoltagePin.disabled = !SendExternalVoltageCheckbox.checked;
|
UseExternalI2CSensorCheckbox.disabled = !SendExternalVoltageCheckbox.checked;
|
||||||
ExternalVoltageDividerR1.disabled = !SendExternalVoltageCheckbox.checked;
|
ExternalVoltagePin.disabled = !SendExternalVoltageCheckbox.checked || UseExternalI2CSensorCheckbox.checked;
|
||||||
ExternalVoltageDividerR2.disabled = !SendExternalVoltageCheckbox.checked;
|
ExternalVoltageDividerR1.disabled = !SendExternalVoltageCheckbox.checked || UseExternalI2CSensorCheckbox.checked;
|
||||||
|
ExternalVoltageDividerR2.disabled = !SendExternalVoltageCheckbox.checked || UseExternalI2CSensorCheckbox.checked;
|
||||||
|
|
||||||
|
|
||||||
document.getElementById("battery.monitorExternalVoltage").checked = settings.battery.monitorExternalVoltage;
|
document.getElementById("battery.monitorExternalVoltage").checked = settings.battery.monitorExternalVoltage;
|
||||||
document.getElementById("battery.externalSleepVoltage").value = settings.battery.externalSleepVoltage.toFixed(1);
|
document.getElementById("battery.externalSleepVoltage").value = settings.battery.externalSleepVoltage.toFixed(1);
|
||||||
@@ -218,12 +221,12 @@ function loadSettings(settings) {
|
|||||||
document.getElementById("mqtt.port").value = settings.mqtt.port;
|
document.getElementById("mqtt.port").value = settings.mqtt.port;
|
||||||
document.getElementById("mqtt.beaconOverMqtt").checked = settings.mqtt.beaconOverMqtt;
|
document.getElementById("mqtt.beaconOverMqtt").checked = settings.mqtt.beaconOverMqtt;
|
||||||
MqttCheckbox.checked = settings.mqtt.active;
|
MqttCheckbox.checked = settings.mqtt.active;
|
||||||
MqttServer.disabled = !MqttCheckbox.check;
|
MqttServer.disabled = !MqttCheckbox.checked;
|
||||||
MqttTopic.disabled = !MqttCheckbox.check;
|
MqttTopic.disabled = !MqttCheckbox.checked;
|
||||||
MqttUsername.disabled = !MqttCheckbox.check;
|
MqttUsername.disabled = !MqttCheckbox.checked;
|
||||||
MqttPassword.disabled = !MqttCheckbox.check;
|
MqttPassword.disabled = !MqttCheckbox.checked;
|
||||||
MqttPort.disabled = !MqttCheckbox.check;
|
MqttPort.disabled = !MqttCheckbox.checked;
|
||||||
MqttBeaconOverMqtt.disabled = !MqttCheckbox.check;
|
MqttBeaconOverMqtt.disabled = !MqttCheckbox.checked;
|
||||||
|
|
||||||
// Reboot
|
// Reboot
|
||||||
document.getElementById("other.rebootMode").checked = settings.other.rebootMode;
|
document.getElementById("other.rebootMode").checked = settings.other.rebootMode;
|
||||||
@@ -360,13 +363,21 @@ MonitorExternalVoltageCheckbox.addEventListener("change", function () {
|
|||||||
MonitorExternalSleepVoltage.disabled = !this.checked;
|
MonitorExternalSleepVoltage.disabled = !this.checked;
|
||||||
});
|
});
|
||||||
const SendExternalVoltageCheckbox = document.querySelector('input[name="battery.sendExternalVoltage"]');
|
const SendExternalVoltageCheckbox = document.querySelector('input[name="battery.sendExternalVoltage"]');
|
||||||
|
const UseExternalI2CSensorCheckbox = document.querySelector('input[name="battery.useExternalI2CSensor"]');
|
||||||
const ExternalVoltagePin = document.querySelector('input[name="battery.externalVoltagePin"]');
|
const ExternalVoltagePin = document.querySelector('input[name="battery.externalVoltagePin"]');
|
||||||
const ExternalVoltageDividerR1 = document.querySelector('input[name="battery.voltageDividerR1"]');
|
const ExternalVoltageDividerR1 = document.querySelector('input[name="battery.voltageDividerR1"]');
|
||||||
const ExternalVoltageDividerR2 = document.querySelector('input[name="battery.voltageDividerR2"]');
|
const ExternalVoltageDividerR2 = document.querySelector('input[name="battery.voltageDividerR2"]');
|
||||||
SendExternalVoltageCheckbox.addEventListener("change", function () {
|
SendExternalVoltageCheckbox.addEventListener("change", function () {
|
||||||
ExternalVoltagePin.disabled = !this.checked;
|
UseExternalI2CSensorCheckbox.disabled = !this.checked;
|
||||||
ExternalVoltageDividerR1.disabled = !this.checked;
|
ExternalVoltagePin.disabled = !this.checked || UseExternalI2CSensorCheckbox.checked;
|
||||||
ExternalVoltageDividerR2.disabled = !this.checked;
|
ExternalVoltageDividerR1.disabled = !this.checked || UseExternalI2CSensorCheckbox.checked;
|
||||||
|
ExternalVoltageDividerR2.disabled = !this.checked || UseExternalI2CSensorCheckbox.checked;
|
||||||
|
});
|
||||||
|
|
||||||
|
UseExternalI2CSensorCheckbox.addEventListener("change", function () {
|
||||||
|
ExternalVoltagePin.disabled = this.checked;
|
||||||
|
ExternalVoltageDividerR1.disabled = this.checked;
|
||||||
|
ExternalVoltageDividerR2.disabled = this.checked;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Telemetry Switches
|
// Telemetry Switches
|
||||||
|
|||||||
@@ -102,6 +102,7 @@ public:
|
|||||||
int externalVoltagePin;
|
int externalVoltagePin;
|
||||||
bool monitorExternalVoltage;
|
bool monitorExternalVoltage;
|
||||||
float externalSleepVoltage;
|
float externalSleepVoltage;
|
||||||
|
bool useExternalI2CSensor;
|
||||||
float voltageDividerR1;
|
float voltageDividerR1;
|
||||||
float voltageDividerR2;
|
float voltageDividerR2;
|
||||||
bool sendVoltageAsTelemetry;
|
bool sendVoltageAsTelemetry;
|
||||||
|
|||||||
+74
-26
@@ -16,7 +16,7 @@
|
|||||||
* along with LoRa APRS iGate. If not, see <https://www.gnu.org/licenses/>.
|
* along with LoRa APRS iGate. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Adafruit_INA219.h>
|
||||||
#include "battery_utils.h"
|
#include "battery_utils.h"
|
||||||
#include "configuration.h"
|
#include "configuration.h"
|
||||||
#include "board_pinout.h"
|
#include "board_pinout.h"
|
||||||
@@ -37,6 +37,10 @@ float multiplyCorrection = 0.035;
|
|||||||
|
|
||||||
float voltageDividerTransformation = 0.0;
|
float voltageDividerTransformation = 0.0;
|
||||||
|
|
||||||
|
uint8_t externalI2CSensorAddress = 0x00;
|
||||||
|
int externalI2CSensorType = 0; // 0 = None | 1 = INA219
|
||||||
|
|
||||||
|
Adafruit_INA219 ina219;
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAS_ADC_CALIBRATION
|
#ifdef HAS_ADC_CALIBRATION
|
||||||
@@ -98,6 +102,30 @@ namespace BATTERY_Utils {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void getI2CVoltageSensorAddress() {
|
||||||
|
uint8_t err, addr;
|
||||||
|
for(addr = 1; addr < 0x7F; addr++) {
|
||||||
|
#if defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY)
|
||||||
|
Wire1.beginTransmission(addr);
|
||||||
|
err = Wire1.endTransmission();
|
||||||
|
#else
|
||||||
|
Wire.beginTransmission(addr);
|
||||||
|
err = Wire.endTransmission();
|
||||||
|
#endif
|
||||||
|
delay(5);
|
||||||
|
if (err == 0) {
|
||||||
|
if (addr == 0x40) { // INA219
|
||||||
|
externalI2CSensorAddress = addr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool detectINA219(uint8_t addr) {
|
||||||
|
ina219 = Adafruit_INA219(addr);
|
||||||
|
return ina219.begin();
|
||||||
|
}
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
if ((Config.battery.sendExternalVoltage || Config.battery.monitorExternalVoltage) && Config.battery.voltageDividerR2 != 0) voltageDividerTransformation = (Config.battery.voltageDividerR1 + Config.battery.voltageDividerR2) / Config.battery.voltageDividerR2;
|
if ((Config.battery.sendExternalVoltage || Config.battery.monitorExternalVoltage) && Config.battery.voltageDividerR2 != 0) voltageDividerTransformation = (Config.battery.voltageDividerR1 + Config.battery.voltageDividerR2) / Config.battery.voltageDividerR2;
|
||||||
|
|
||||||
@@ -107,6 +135,14 @@ namespace BATTERY_Utils {
|
|||||||
adcCalibration();
|
adcCalibration();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
getI2CVoltageSensorAddress();
|
||||||
|
if (externalI2CSensorAddress != 0x00) {
|
||||||
|
if (detectINA219(externalI2CSensorAddress)) {
|
||||||
|
Serial.println("INA219 sensor found");
|
||||||
|
externalI2CSensorType = 1; // INA219
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float checkInternalVoltage() {
|
float checkInternalVoltage() {
|
||||||
@@ -177,37 +213,49 @@ namespace BATTERY_Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
float checkExternalVoltage() {
|
float checkExternalVoltage() {
|
||||||
int sample;
|
if (externalI2CSensorType == 0) {
|
||||||
int sampleSum = 0;
|
int sample;
|
||||||
for (int i = 0; i < 100; i++) {
|
int sampleSum = 0;
|
||||||
#ifdef HAS_ADC_CALIBRATION
|
for (int i = 0; i < 100; i++) {
|
||||||
if (calibrationEnable){
|
#ifdef HAS_ADC_CALIBRATION
|
||||||
sample = adc1_get_raw(ExternalVoltage_ADC_Channel);
|
if (calibrationEnable){
|
||||||
} else {
|
sample = adc1_get_raw(ExternalVoltage_ADC_Channel);
|
||||||
|
} else {
|
||||||
|
sample = analogRead(Config.battery.externalVoltagePin);
|
||||||
|
}
|
||||||
|
#else
|
||||||
sample = analogRead(Config.battery.externalVoltagePin);
|
sample = analogRead(Config.battery.externalVoltagePin);
|
||||||
|
#endif
|
||||||
|
sampleSum += sample;
|
||||||
|
delayMicroseconds(50);
|
||||||
|
}
|
||||||
|
|
||||||
|
float extVoltage;
|
||||||
|
#ifdef HAS_ADC_CALIBRATION
|
||||||
|
if (calibrationEnable) {
|
||||||
|
extVoltage = esp_adc_cal_raw_to_voltage(sampleSum / 100.0, &adc_chars) * voltageDividerTransformation; // in mV
|
||||||
|
extVoltage /= 1000.0;
|
||||||
|
} else {
|
||||||
|
extVoltage = ((((sampleSum/100.0)* adcReadingTransformation) + readingCorrection) * voltageDividerTransformation) - multiplyCorrection;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
sample = analogRead(Config.battery.externalVoltagePin);
|
extVoltage = ((((sampleSum/100.0)* adcReadingTransformation) + readingCorrection) * voltageDividerTransformation) - multiplyCorrection;
|
||||||
#endif
|
#endif
|
||||||
sampleSum += sample;
|
|
||||||
delayMicroseconds(50);
|
return extVoltage; // raw voltage without mapping
|
||||||
}
|
|
||||||
|
|
||||||
float extVoltage;
|
// return mapVoltage(voltage, 5.05, 6.32, 4.5, 5.5); // mapped voltage
|
||||||
#ifdef HAS_ADC_CALIBRATION
|
} else if (externalI2CSensorType == 1) { // INA219
|
||||||
if (calibrationEnable){
|
int sampleSum = 0;
|
||||||
extVoltage = esp_adc_cal_raw_to_voltage(sampleSum / 100, &adc_chars) * voltageDividerTransformation; // in mV
|
for (int i = 0; i < 100; i++) {
|
||||||
extVoltage /= 1000;
|
sampleSum += ina219.getBusVoltage_V() * 1000.0;
|
||||||
} else {
|
delayMicroseconds(50);
|
||||||
extVoltage = ((((sampleSum/100)* adcReadingTransformation) + readingCorrection) * voltageDividerTransformation) - multiplyCorrection;
|
|
||||||
}
|
}
|
||||||
#else
|
float extVoltage = sampleSum/100.0;
|
||||||
extVoltage = ((((sampleSum/100)* adcReadingTransformation) + readingCorrection) * voltageDividerTransformation) - multiplyCorrection;
|
return extVoltage/1000.0;
|
||||||
#endif
|
} else {
|
||||||
|
return 0.0;
|
||||||
return extVoltage; // raw voltage without mapping
|
}
|
||||||
|
|
||||||
// return mapVoltage(voltage, 5.05, 6.32, 4.5, 5.5); // mapped voltage
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void startupBatteryHealth() {
|
void startupBatteryHealth() {
|
||||||
|
|||||||
@@ -111,11 +111,12 @@ bool Configuration::writeFile() {
|
|||||||
data["battery"]["internalSleepVoltage"] = battery.internalSleepVoltage;
|
data["battery"]["internalSleepVoltage"] = battery.internalSleepVoltage;
|
||||||
|
|
||||||
data["battery"]["sendExternalVoltage"] = battery.sendExternalVoltage;
|
data["battery"]["sendExternalVoltage"] = battery.sendExternalVoltage;
|
||||||
data["battery"]["externalVoltagePin"] = battery.externalVoltagePin;
|
|
||||||
data["battery"]["monitorExternalVoltage"] = battery.monitorExternalVoltage;
|
data["battery"]["monitorExternalVoltage"] = battery.monitorExternalVoltage;
|
||||||
data["battery"]["externalSleepVoltage"] = battery.externalSleepVoltage;
|
data["battery"]["externalSleepVoltage"] = battery.externalSleepVoltage;
|
||||||
|
data["battery"]["useExternalI2CSensor"] = battery.useExternalI2CSensor;
|
||||||
data["battery"]["voltageDividerR1"] = battery.voltageDividerR1;
|
data["battery"]["voltageDividerR1"] = battery.voltageDividerR1;
|
||||||
data["battery"]["voltageDividerR2"] = battery.voltageDividerR2;
|
data["battery"]["voltageDividerR2"] = battery.voltageDividerR2;
|
||||||
|
data["battery"]["externalVoltagePin"] = battery.externalVoltagePin;
|
||||||
|
|
||||||
data["battery"]["sendVoltageAsTelemetry"] = battery.sendVoltageAsTelemetry;
|
data["battery"]["sendVoltageAsTelemetry"] = battery.sendVoltageAsTelemetry;
|
||||||
|
|
||||||
@@ -297,21 +298,23 @@ bool Configuration::readFile() {
|
|||||||
!data["battery"].containsKey("monitorInternalVoltage") ||
|
!data["battery"].containsKey("monitorInternalVoltage") ||
|
||||||
!data["battery"].containsKey("internalSleepVoltage") ||
|
!data["battery"].containsKey("internalSleepVoltage") ||
|
||||||
!data["battery"].containsKey("sendExternalVoltage") ||
|
!data["battery"].containsKey("sendExternalVoltage") ||
|
||||||
!data["battery"].containsKey("externalVoltagePin") ||
|
|
||||||
!data["battery"].containsKey("monitorExternalVoltage") ||
|
!data["battery"].containsKey("monitorExternalVoltage") ||
|
||||||
!data["battery"].containsKey("externalSleepVoltage") ||
|
!data["battery"].containsKey("externalSleepVoltage") ||
|
||||||
|
!data["battery"].containsKey("useExternalI2CSensor") ||
|
||||||
!data["battery"].containsKey("voltageDividerR1") ||
|
!data["battery"].containsKey("voltageDividerR1") ||
|
||||||
!data["battery"].containsKey("voltageDividerR2") ||
|
!data["battery"].containsKey("voltageDividerR2") ||
|
||||||
|
!data["battery"].containsKey("externalVoltagePin") ||
|
||||||
!data["battery"].containsKey("sendVoltageAsTelemetry")) needsRewrite = true;
|
!data["battery"].containsKey("sendVoltageAsTelemetry")) needsRewrite = true;
|
||||||
battery.sendInternalVoltage = data["battery"]["sendInternalVoltage"] | false;
|
battery.sendInternalVoltage = data["battery"]["sendInternalVoltage"] | false;
|
||||||
battery.monitorInternalVoltage = data["battery"]["monitorInternalVoltage"] | false;
|
battery.monitorInternalVoltage = data["battery"]["monitorInternalVoltage"] | false;
|
||||||
battery.internalSleepVoltage = data["battery"]["internalSleepVoltage"] | 2.9;
|
battery.internalSleepVoltage = data["battery"]["internalSleepVoltage"] | 2.9;
|
||||||
battery.sendExternalVoltage = data["battery"]["sendExternalVoltage"] | false;
|
battery.sendExternalVoltage = data["battery"]["sendExternalVoltage"] | false;
|
||||||
battery.externalVoltagePin = data["battery"]["externalVoltagePin"] | 34;
|
|
||||||
battery.monitorExternalVoltage = data["battery"]["monitorExternalVoltage"] | false;
|
battery.monitorExternalVoltage = data["battery"]["monitorExternalVoltage"] | false;
|
||||||
battery.externalSleepVoltage = data["battery"]["externalSleepVoltage"] | 10.9;
|
battery.externalSleepVoltage = data["battery"]["externalSleepVoltage"] | 10.9;
|
||||||
|
battery.useExternalI2CSensor = data["battery"]["useExternalI2CSensor"] | false;
|
||||||
battery.voltageDividerR1 = data["battery"]["voltageDividerR1"] | 100.0;
|
battery.voltageDividerR1 = data["battery"]["voltageDividerR1"] | 100.0;
|
||||||
battery.voltageDividerR2 = data["battery"]["voltageDividerR2"] | 27.0;
|
battery.voltageDividerR2 = data["battery"]["voltageDividerR2"] | 27.0;
|
||||||
|
battery.externalVoltagePin = data["battery"]["externalVoltagePin"] | 34;
|
||||||
battery.sendVoltageAsTelemetry = data["battery"]["sendVoltageAsTelemetry"] | false;
|
battery.sendVoltageAsTelemetry = data["battery"]["sendVoltageAsTelemetry"] | false;
|
||||||
|
|
||||||
if (!data["wxsensor"].containsKey("active") ||
|
if (!data["wxsensor"].containsKey("active") ||
|
||||||
@@ -479,11 +482,12 @@ void Configuration::setDefaultValues() {
|
|||||||
battery.internalSleepVoltage = 2.9;
|
battery.internalSleepVoltage = 2.9;
|
||||||
|
|
||||||
battery.sendExternalVoltage = false;
|
battery.sendExternalVoltage = false;
|
||||||
battery.externalVoltagePin = 34;
|
|
||||||
battery.monitorExternalVoltage = false;
|
battery.monitorExternalVoltage = false;
|
||||||
battery.externalSleepVoltage = 10.9;
|
battery.externalSleepVoltage = 10.9;
|
||||||
|
battery.useExternalI2CSensor = false;
|
||||||
battery.voltageDividerR1 = 100.0;
|
battery.voltageDividerR1 = 100.0;
|
||||||
battery.voltageDividerR2 = 27.0;
|
battery.voltageDividerR2 = 27.0;
|
||||||
|
battery.externalVoltagePin = 34;
|
||||||
|
|
||||||
battery.sendVoltageAsTelemetry = false;
|
battery.sendVoltageAsTelemetry = false;
|
||||||
|
|
||||||
|
|||||||
@@ -93,6 +93,16 @@ namespace LoRa_Utils {
|
|||||||
#if defined(HAS_SX1278) || defined(HAS_SX1276)
|
#if defined(HAS_SX1278) || defined(HAS_SX1276)
|
||||||
radio.setDio0Action(setFlag, RISING);
|
radio.setDio0Action(setFlag, RISING);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*#ifdef SX126X_DIO3_TCXO_VOLTAGE
|
||||||
|
if (radio.setTCXO(float(SX126X_DIO3_TCXO_VOLTAGE)) == RADIOLIB_ERR_NONE) {
|
||||||
|
Utils::println("Set LoRa Module TCXO Voltage to:" + String(SX126X_DIO3_TCXO_VOLTAGE));
|
||||||
|
} else {
|
||||||
|
Utils::println("Set LoRa Module TCXO Voltage failed! State: " + String(state));
|
||||||
|
while (true);
|
||||||
|
}
|
||||||
|
#endif*/
|
||||||
|
|
||||||
radio.setSpreadingFactor(Config.loramodule.rxSpreadingFactor);
|
radio.setSpreadingFactor(Config.loramodule.rxSpreadingFactor);
|
||||||
radio.setCodingRate(Config.loramodule.rxCodingRate4);
|
radio.setCodingRate(Config.loramodule.rxCodingRate4);
|
||||||
float signalBandwidth = Config.loramodule.rxSignalBandwidth/1000;
|
float signalBandwidth = Config.loramodule.rxSignalBandwidth/1000;
|
||||||
@@ -103,6 +113,11 @@ namespace LoRa_Utils {
|
|||||||
radio.setRfSwitchPins(RADIO_RXEN, RADIO_TXEN);
|
radio.setRfSwitchPins(RADIO_RXEN, RADIO_TXEN);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*#ifdef SX126X_DIO2_AS_RF_SWITCH
|
||||||
|
radio.setRfSwitchPins(RADIO_RXEN, RADIOLIB_NC);
|
||||||
|
radio.setDio2AsRfSwitch(true);
|
||||||
|
#endif*/
|
||||||
|
|
||||||
#ifdef HAS_1W_LORA // Ebyte E22 400M30S (SX1268) / 900M30S (SX1262) / Ebyte E220 400M30S (LLCC68)
|
#ifdef HAS_1W_LORA // Ebyte E22 400M30S (SX1268) / 900M30S (SX1262) / Ebyte E220 400M30S (LLCC68)
|
||||||
state = radio.setOutputPower(Config.loramodule.power); // max value 20dB for 1W modules as they have Low Noise Amp
|
state = radio.setOutputPower(Config.loramodule.power); // max value 20dB for 1W modules as they have Low Noise Amp
|
||||||
radio.setCurrentLimit(140); // to be validated (100 , 120, 140)?
|
radio.setCurrentLimit(140); // to be validated (100 , 120, 140)?
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ namespace TELEMETRY_Utils {
|
|||||||
telemetryCounter++;
|
telemetryCounter++;
|
||||||
if (telemetryCounter == 1000) telemetryCounter = 0;
|
if (telemetryCounter == 1000) telemetryCounter = 0;
|
||||||
if (Config.battery.sendInternalVoltage) telemetry += generateEncodedTelemetryBytes(BATTERY_Utils::checkInternalVoltage(), false, 0);
|
if (Config.battery.sendInternalVoltage) telemetry += generateEncodedTelemetryBytes(BATTERY_Utils::checkInternalVoltage(), false, 0);
|
||||||
if (Config.battery.sendExternalVoltage) telemetry += generateEncodedTelemetryBytes(BATTERY_Utils::checkExternalVoltage(), false, 1);
|
if (Config.battery.sendExternalVoltage) telemetry += generateEncodedTelemetryBytes(BATTERY_Utils::checkExternalVoltage(), false, Config.battery.useExternalI2CSensor ? 0 : 1);
|
||||||
telemetry += "|";
|
telemetry += "|";
|
||||||
return telemetry;
|
return telemetry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -228,6 +228,9 @@ namespace WEB_Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Config.battery.sendExternalVoltage = request->hasParam("battery.sendExternalVoltage", true);
|
Config.battery.sendExternalVoltage = request->hasParam("battery.sendExternalVoltage", true);
|
||||||
|
if (Config.battery.sendExternalVoltage) {
|
||||||
|
Config.battery.useExternalI2CSensor = request->hasParam("battery.useExternalI2CSensor", true);
|
||||||
|
}
|
||||||
if (Config.battery.sendExternalVoltage) {
|
if (Config.battery.sendExternalVoltage) {
|
||||||
Config.battery.externalVoltagePin = getParamIntSafe("battery.externalVoltagePin", Config.battery.externalVoltagePin);
|
Config.battery.externalVoltagePin = getParamIntSafe("battery.externalVoltagePin", Config.battery.externalVoltagePin);
|
||||||
Config.battery.voltageDividerR1 = getParamFloatSafe("battery.voltageDividerR1", Config.battery.voltageDividerR1);
|
Config.battery.voltageDividerR1 = getParamFloatSafe("battery.voltageDividerR1", Config.battery.voltageDividerR1);
|
||||||
|
|||||||
+1
-1
@@ -132,7 +132,7 @@ namespace WIFI_Utils {
|
|||||||
digitalWrite(INTERNAL_LED_PIN,LOW);
|
digitalWrite(INTERNAL_LED_PIN,LOW);
|
||||||
#endif
|
#endif
|
||||||
if (WiFi.status() == WL_CONNECTED) {
|
if (WiFi.status() == WL_CONNECTED) {
|
||||||
Serial.print("Connected as ");
|
Serial.print("\nConnected as ");
|
||||||
Serial.print(WiFi.localIP());
|
Serial.print(WiFi.localIP());
|
||||||
Serial.print(" / MAC Address: ");
|
Serial.print(" / MAC Address: ");
|
||||||
Serial.println(WiFi.macAddress());
|
Serial.println(WiFi.macAddress());
|
||||||
|
|||||||
+17
-13
@@ -270,21 +270,25 @@ namespace WX_Utils {
|
|||||||
newPress = 0;
|
newPress = 0;
|
||||||
break;
|
break;
|
||||||
case 5: // SHTC3
|
case 5: // SHTC3
|
||||||
#ifdef LIGHTGATEWAY_PLUS_1_0
|
{
|
||||||
sensors_event_t humidity, temp;
|
#ifdef LIGHTGATEWAY_PLUS_1_0
|
||||||
shtc3.getEvent(&humidity, &temp);
|
sensors_event_t humidity, temp;
|
||||||
newTemp = temp.temperature;
|
shtc3.getEvent(&humidity, &temp);
|
||||||
newHum = humidity.relative_humidity;
|
newTemp = temp.temperature;
|
||||||
newPress = 0;
|
newHum = humidity.relative_humidity;
|
||||||
#endif
|
newPress = 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 6: // BMP280 + AHT20
|
case 6: // BMP280 + AHT20
|
||||||
bmp280.takeForcedMeasurement();
|
{
|
||||||
newTemp = bmp280.readTemperature();
|
bmp280.takeForcedMeasurement();
|
||||||
newPress = (bmp280.readPressure() / 100.0F);
|
newTemp = bmp280.readTemperature();
|
||||||
sensors_event_t humidity, temp;
|
newPress = (bmp280.readPressure() / 100.0F);
|
||||||
aht20.getEvent(&humidity, &temp);
|
sensors_event_t humidity, temp;
|
||||||
newHum = humidity.relative_humidity;
|
aht20.getEvent(&humidity, &temp);
|
||||||
|
newHum = humidity.relative_humidity;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ board_build.mcu = esp32c3
|
|||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
${common.usb_flags}
|
${common.usb_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_C3_OctopusLab_LoRa
|
-D ESP32_C3_OctopusLab_LoRa
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_DIY_1W_LoRa
|
-D ESP32_DIY_1W_LoRa
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_DIY_1W_LoRa_915
|
-D ESP32_DIY_1W_LoRa_915
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_DIY_1W_LoRa_LLCC68
|
-D ESP32_DIY_1W_LoRa_LLCC68
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_DIY_1W_LoRa_Mesh_V1_2
|
-D ESP32_DIY_1W_LoRa_Mesh_V1_2
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_DIY_LoRa
|
-D ESP32_DIY_LoRa
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_DIY_LoRa_915
|
-D ESP32_DIY_LoRa_915
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_DIY_LoRa_A7670
|
-D ESP32_DIY_LoRa_A7670
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32_DIY_LoRa_A7670_915
|
-D ESP32_DIY_LoRa_A7670_915
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D LoRaHAM_V2
|
-D LoRaHAM_V2
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D OE5HWN_MeshCom
|
-D OE5HWN_MeshCom
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ board_build.mcu = esp32s3
|
|||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
${common.usb_flags}
|
${common.usb_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D LIGHTGATEWAY_1_0
|
-D LIGHTGATEWAY_1_0
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ board_build.mcu = esp32s3
|
|||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
${common.usb_flags}
|
${common.usb_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D LIGHTGATEWAY_PLUS_1_0
|
-D LIGHTGATEWAY_PLUS_1_0
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TROY_LoRa_APRS
|
-D TROY_LoRa_APRS
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = wemos_d1_uno32
|
board = wemos_d1_uno32
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D WEMOS_D1_R32_RA02
|
-D WEMOS_D1_R32_RA02
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = lolin32
|
board = lolin32
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D WEMOS_LOLIN32_OLED_DIY_LoRa
|
-D WEMOS_LOLIN32_OLED_DIY_LoRa
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = lolin_s2_mini
|
board = lolin_s2_mini
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D WEMOS_S2_MINI_DIY_LoRa
|
-D WEMOS_S2_MINI_DIY_LoRa
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ board = seeed_xiao_esp32s3
|
|||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
${common.usb_flags}
|
${common.usb_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D XIAO_ESP32S3_LORA
|
-D XIAO_ESP32S3_LORA
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
@@ -4,6 +4,9 @@ board_build.mcu = esp32c3
|
|||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
${common.usb_flags}
|
${common.usb_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32C3_DIY_1W_LoRa
|
-D ESP32C3_DIY_1W_LoRa
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ board_build.mcu = esp32c3
|
|||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
${common.usb_flags}
|
${common.usb_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D ESP32C3_DIY_1W_LoRa_915
|
-D ESP32C3_DIY_1W_LoRa_915
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-lora32-v21
|
board = ttgo-lora32-v21
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_V2
|
-D HELTEC_V2
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ board = esp32-c3-devkitm-1
|
|||||||
board_build.mcu = esp32c3
|
board_build.mcu = esp32c3
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_HTCT62
|
-D HELTEC_HTCT62
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ board = heltec_wifi_lora_32_V3
|
|||||||
board_build.mcu = esp32s3
|
board_build.mcu = esp32s3
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_V3
|
-D HELTEC_V3
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ board = heltec_wifi_lora_32_V3
|
|||||||
board_build.mcu = esp32s3
|
board_build.mcu = esp32s3
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_V3_2
|
-D HELTEC_V3_2
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = esp32dev
|
board = esp32dev
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_WIRELESS_BRIDGE
|
-D HELTEC_WIRELESS_BRIDGE
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ board = esp32-s3-devkitc-1
|
|||||||
board_build.mcu = esp32s3
|
board_build.mcu = esp32s3
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_WP_V1
|
-D HELTEC_WP_V1
|
||||||
-D WIRELESS_PAPER
|
-D WIRELESS_PAPER
|
||||||
lib_deps =
|
lib_deps =
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ board = esp32-s3-devkitc-1
|
|||||||
board_build.mcu = esp32s3
|
board_build.mcu = esp32s3
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_WS
|
-D HELTEC_WS
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ board = esp32-s3-devkitc-1
|
|||||||
board_build.mcu = esp32s3
|
board_build.mcu = esp32s3
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_WSL_V3
|
-D HELTEC_WSL_V3
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
@@ -3,6 +3,9 @@ board = esp32-s3-devkitc-1
|
|||||||
board_build.mcu = esp32s3
|
board_build.mcu = esp32s3
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D HELTEC_WSL_V3_DISPLAY
|
-D HELTEC_WSL_V3_DISPLAY
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
@@ -27,6 +27,9 @@ build_flags =
|
|||||||
-D LOAD_FONT8
|
-D LOAD_FONT8
|
||||||
-D SPI_FREQUENCY=27000000
|
-D SPI_FREQUENCY=27000000
|
||||||
-D USE_HSPI_PORT
|
-D USE_HSPI_PORT
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
bodmer/TFT_eSPI @ 2.5.43
|
bodmer/TFT_eSPI @ 2.5.43
|
||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-lora32-v21
|
board = ttgo-lora32-v21
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_LORA32_V2_1
|
-D TTGO_LORA32_V2_1
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-lora32-v21
|
board = ttgo-lora32-v21
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_LORA32_V2_1_915
|
-D TTGO_LORA32_V2_1_915
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-t-beam
|
board = ttgo-t-beam
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_T_BEAM_V1_0
|
-D TTGO_T_BEAM_V1_0
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-t-beam
|
board = ttgo-t-beam
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_T_BEAM_V1_2
|
-D TTGO_T_BEAM_V1_2
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-t-beam
|
board = ttgo-t-beam
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_T_BEAM_V1_2_915
|
-D TTGO_T_BEAM_V1_2_915
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-t-beam
|
board = ttgo-t-beam
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_T_BEAM_V1_2_SX1262
|
-D TTGO_T_BEAM_V1_2_SX1262
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-t-beam
|
board = ttgo-t-beam
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX126X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_T_BEAM_V1_0_915
|
-D TTGO_T_BEAM_V1_0_915
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
board = ttgo-t-beam
|
board = ttgo-t-beam
|
||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_T_BEAM_V1_0_SX1268
|
-D TTGO_T_BEAM_V1_0_SX1268
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ board_upload.flash_size = 4MB
|
|||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
${common.usb_flags}
|
${common.usb_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_LORA32_T3S3_V1_2
|
-D TTGO_LORA32_T3S3_V1_2
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
@@ -4,6 +4,9 @@ board_build.mcu = esp32s3
|
|||||||
build_flags =
|
build_flags =
|
||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
${common.usb_flags}
|
${common.usb_flags}
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
-D TTGO_T_Beam_S3_SUPREME_V3
|
-D TTGO_T_Beam_S3_SUPREME_V3
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
|
|||||||
@@ -44,6 +44,9 @@ build_flags =
|
|||||||
-D LOAD_FONT8
|
-D LOAD_FONT8
|
||||||
-D SPI_FREQUENCY=40000000
|
-D SPI_FREQUENCY=40000000
|
||||||
-D SPI_READ_FREQUENCY=16000000
|
-D SPI_READ_FREQUENCY=16000000
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
bodmer/TFT_eSPI @ 2.5.43
|
bodmer/TFT_eSPI @ 2.5.43
|
||||||
|
|||||||
@@ -44,6 +44,9 @@ build_flags =
|
|||||||
-D LOAD_FONT8
|
-D LOAD_FONT8
|
||||||
-D SPI_FREQUENCY=40000000
|
-D SPI_FREQUENCY=40000000
|
||||||
-D SPI_READ_FREQUENCY=16000000
|
-D SPI_READ_FREQUENCY=16000000
|
||||||
|
-D RADIOLIB_EXCLUDE_LR11X0=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX127X=1
|
||||||
|
-D RADIOLIB_EXCLUDE_SX128X=1
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common.lib_deps}
|
${common.lib_deps}
|
||||||
bodmer/TFT_eSPI @ 2.5.43
|
bodmer/TFT_eSPI @ 2.5.43
|
||||||
|
|||||||
Reference in New Issue
Block a user