mirror of
https://github.com/richonguzman/LoRa_APRS_iGate.git
synced 2026-03-09 15:03:56 +01:00
status logic improved
Some checks are pending
Commit Test Build / build (map[chip:esp32 name:ttgo-lora32-v21]) (push) Waiting to run
Some checks are pending
Commit Test Build / build (map[chip:esp32 name:ttgo-lora32-v21]) (push) Waiting to run
This commit is contained in:
parent
b24c2b2527
commit
3a2c0304d0
|
|
@ -62,8 +62,7 @@ extern bool sendEUP; // Equations Units Parameters
|
|||
|
||||
extern std::vector<LastHeardStation> lastHeardStations;
|
||||
|
||||
bool statusAfterBoot = true;
|
||||
|
||||
bool statusUpdate = true;
|
||||
bool beaconUpdate = false;
|
||||
uint32_t lastBeaconTx = 0;
|
||||
uint32_t lastScreenOn = millis();
|
||||
|
|
@ -76,26 +75,30 @@ String secondaryBeaconPacket;
|
|||
namespace Utils {
|
||||
|
||||
void processStatus() {
|
||||
String status = APRSPacketLib::generateBasePacket(Config.callsign, "APLRG1", Config.beacon.path);
|
||||
bool sendOverAPRSIS = Config.beacon.sendViaAPRSIS && Config.aprs_is.active && WiFi.status() == WL_CONNECTED;
|
||||
bool sendOverRF = !Config.beacon.sendViaAPRSIS && Config.beacon.sendViaRF;
|
||||
|
||||
if (WiFi.status() == WL_CONNECTED && Config.aprs_is.active && Config.beacon.sendViaAPRSIS) {
|
||||
delay(1000);
|
||||
status.concat(",qAC:>");
|
||||
status.concat(Config.beacon.statusPacket);
|
||||
APRS_IS_Utils::upload(status);
|
||||
SYSLOG_Utils::log(2, status, 0, 0.0, 0); // APRSIS TX
|
||||
if (!sendOverAPRSIS && !sendOverRF) {
|
||||
statusUpdate = false;
|
||||
return;
|
||||
}
|
||||
if (statusAfterBoot && !Config.beacon.sendViaAPRSIS && Config.beacon.sendViaRF) {
|
||||
status.concat(":>");
|
||||
status.concat(Config.beacon.statusPacket);
|
||||
STATION_Utils::addToOutputPacketBuffer(status, true); // treated also as beacon on Tx Freq
|
||||
|
||||
String statusPacket = APRSPacketLib::generateBasePacket(Config.callsign, "APLRG1", Config.beacon.path);
|
||||
statusPacket += sendOverAPRSIS ? ",qAC:>" : ":>";
|
||||
statusPacket += Config.beacon.statusPacket;
|
||||
|
||||
if (sendOverAPRSIS) {
|
||||
APRS_IS_Utils::upload(statusPacket);
|
||||
SYSLOG_Utils::log(2, statusPacket, 0, 0.0, 0); // APRSIS TX
|
||||
} else {
|
||||
STATION_Utils::addToOutputPacketBuffer(statusPacket, true); // treated also as beacon on Tx Freq
|
||||
}
|
||||
statusAfterBoot = false;
|
||||
statusUpdate = false;
|
||||
lastStatusTx = millis();
|
||||
}
|
||||
|
||||
void checkStatusInterval() {
|
||||
if (lastStatusTx == 0 || millis() - lastStatusTx > DAY_MS) statusAfterBoot = true;
|
||||
if (lastStatusTx == 0 || millis() - lastStatusTx > DAY_MS) statusUpdate = true;
|
||||
}
|
||||
|
||||
String getLocalIP() {
|
||||
|
|
@ -292,7 +295,7 @@ namespace Utils {
|
|||
}
|
||||
|
||||
checkStatusInterval();
|
||||
if (statusAfterBoot && Config.beacon.statusActive && !Config.beacon.statusPacket.isEmpty()) processStatus();
|
||||
if (statusUpdate && Config.beacon.statusActive && !Config.beacon.statusPacket.isEmpty()) processStatus();
|
||||
}
|
||||
|
||||
void checkDisplayInterval() {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
#define INTERNAL_LED_PIN 25
|
||||
#define BATTERY_PIN 37
|
||||
|
||||
#define ADC_CTRL 21
|
||||
#define ADC_CTRL_PIN 21
|
||||
#define ADC_CTRL_ON_STATE LOW
|
||||
|
||||
#endif
|
||||
Loading…
Reference in a new issue