Skip to content
This repository was archived by the owner on Sep 14, 2025. It is now read-only.

Commit 3afa421

Browse files
committed
Merge branches 'master' and 'master' of https://github.com/toyo/LoRa_APRS_iGate into master
2 parents e260233 + 7171805 commit 3afa421

File tree

4 files changed

+37
-25
lines changed

4 files changed

+37
-25
lines changed

.github/workflows/release.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ jobs:
2222
commit: master
2323
generateReleaseNotes: true
2424
artifacts: ".pio/build/lora_board/firmware.bin,data/is-cfg.json"
25-
token: ${{ secrets.GITHUB_TOKEN }}
25+
owner: ${{ secrets.OWNER }}
26+
token: ${{ secrets.PAT }}

src/LoRa_APRS_iGate.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include "TaskWifi.h"
2121
#include "project_configuration.h"
2222

23-
#define VERSION "22.13.0"
23+
#define VERSION "22.13.2"
2424
#define MODULE_NAME "Main"
2525

2626
String create_lat_aprs(double lat);

src/project_configuration.cpp

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,10 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
3333
JsonArray aps = data["wifi"]["AP"].as<JsonArray>();
3434
for (JsonVariant v : aps) {
3535
Configuration::Wifi::AP ap;
36-
ap.SSID = v["SSID"].as<String>();
37-
ap.password = v["password"].as<String>();
36+
if (v.containsKey("SSID"))
37+
ap.SSID = v["SSID"].as<String>();
38+
if (v.containsKey("password"))
39+
ap.password = v["password"].as<String>();
3840
conf.wifi.APs.push_back(ap);
3941
}
4042
if (data.containsKey("beacon") && data["beacon"].containsKey("message"))
@@ -44,14 +46,16 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
4446
conf.beacon.use_gps = data["beacon"]["use_gps"] | false;
4547
conf.beacon.timeout = data["beacon"]["timeout"] | 15;
4648
conf.aprs_is.active = data["aprs_is"]["active"] | true;
49+
4750
if (data.containsKey("aprs_is") && data["aprs_is"].containsKey("passcode"))
4851
conf.aprs_is.passcode = data["aprs_is"]["passcode"].as<String>();
4952
if (data.containsKey("aprs_is") && data["aprs_is"].containsKey("server"))
5053
conf.aprs_is.server = data["aprs_is"]["server"].as<String>();
5154
conf.aprs_is.port = data["aprs_is"]["port"] | 14580;
5255

53-
conf.digi.active = data["digi"]["active"] | false;
54-
conf.digi.beacon = data["digi"]["beacon"] | false;
56+
conf.digi.active = data["digi"]["active"] | false;
57+
conf.digi.beacon = data["digi"]["beacon"] | false;
58+
5559
conf.lora.frequencyRx = data["lora"]["frequency_rx"] | 433775000;
5660
conf.lora.gainRx = data["lora"]["gain_rx"] | 0;
5761
conf.lora.frequencyTx = data["lora"]["frequency_tx"] | 433775000;
@@ -60,6 +64,7 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
6064
conf.lora.signalBandwidth = data["lora"]["signal_bandwidth"] | 125000;
6165
conf.lora.codingRate4 = data["lora"]["coding_rate4"] | 5;
6266
conf.lora.tx_enable = data["lora"]["tx_enable"] | true;
67+
6368
conf.display.alwaysOn = data["display"]["always_on"] | true;
6469
conf.display.timeout = data["display"]["timeout"] | 10;
6570
conf.display.overwritePin = data["display"]["overwrite_pin"] | 0;
@@ -69,8 +74,10 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
6974
JsonArray users = data["ftp"]["user"].as<JsonArray>();
7075
for (JsonVariant u : users) {
7176
Configuration::Ftp::User us;
72-
us.name = u["name"].as<String>();
73-
us.password = u["password"].as<String>();
77+
if (u.containsKey("name"))
78+
us.name = u["name"].as<String>();
79+
if (u.containsKey("password"))
80+
us.password = u["password"].as<String>();
7481
conf.ftp.users.push_back(us);
7582
}
7683
if (conf.ftp.users.empty()) {
@@ -79,19 +86,23 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
7986
us.password = "ftp";
8087
conf.ftp.users.push_back(us);
8188
}
82-
if (data.containsKey("mqtt")) {
83-
conf.mqtt.active = data["mqtt"]["active"] | false;
84-
conf.mqtt.server = data["mqtt"]["server"].as<String>();
85-
conf.mqtt.port = data["mqtt"]["port"].as<uint16_t>();
86-
conf.mqtt.name = data["mqtt"]["name"].as<String>();
89+
90+
conf.mqtt.active = data["mqtt"]["active"] | false;
91+
if (data["mqtt"].containsKey("server"))
92+
conf.mqtt.server = data["mqtt"]["server"].as<String>();
93+
conf.mqtt.port = data["mqtt"]["port"] | 1883;
94+
if (data["mqtt"].containsKey("name"))
95+
conf.mqtt.name = data["mqtt"]["name"].as<String>();
96+
if (data["mqtt"].containsKey("password"))
8797
conf.mqtt.password = data["mqtt"]["password"].as<String>();
88-
conf.mqtt.topic = data["mqtt"]["topic"].as<String>();
89-
}
90-
if (data.containsKey("syslog")) {
91-
conf.syslog.active = data["syslog"]["active"] | true;
98+
if (data["mqtt"].containsKey("topic"))
99+
conf.mqtt.topic = data["mqtt"]["topic"].as<String>();
100+
101+
conf.syslog.active = data["syslog"]["active"] | true;
102+
if (data["syslog"].containsKey("server"))
92103
conf.syslog.server = data["syslog"]["server"].as<String>();
93-
conf.syslog.port = data["syslog"]["port"] | 514;
94-
}
104+
conf.syslog.port = data["syslog"]["port"] | 514;
105+
95106
if (data.containsKey("ntp_server"))
96107
conf.ntpServer = data["ntp_server"].as<String>();
97108

src/project_configuration.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,12 @@ class Configuration {
124124
MQTT() : active(false), server(""), port(1883), name(""), password(""), topic("LoraAPRS/Data") {
125125
}
126126

127-
bool active;
128-
String server;
129-
uint16_t port;
130-
String name;
131-
String password;
132-
String topic;
127+
bool active;
128+
String server;
129+
int port;
130+
String name;
131+
String password;
132+
String topic;
133133
};
134134

135135
class Syslog {

0 commit comments

Comments
 (0)