mirror of
https://github.com/lora-aprs/LoRa_APRS_iGate.git
synced 2026-01-18 14:40:31 +01:00
Merge pull request #130 from lora-aprs/develop
Wifi, Button for display, RXGain
This commit is contained in:
commit
bbcdc03eb3
|
|
@ -10,6 +10,7 @@
|
|||
"dns2": "192.0.2.2"
|
||||
},
|
||||
"wifi": {
|
||||
"active": true,
|
||||
"AP": [
|
||||
{
|
||||
"SSID": "YOURSSID",
|
||||
|
|
@ -37,6 +38,7 @@
|
|||
},
|
||||
"lora": {
|
||||
"frequency_rx": 433775000,
|
||||
"gain_rx": 0,
|
||||
"frequency_tx": 433775000,
|
||||
"power": 20,
|
||||
"spreading_factor": 12,
|
||||
|
|
|
|||
|
|
@ -42,6 +42,11 @@ void Display::setDisplaySaveTimeout(uint32_t timeout) {
|
|||
_displaySaveModeTimer.setTimeout(timeout * 1000);
|
||||
}
|
||||
|
||||
void Display::activateDistplay()
|
||||
{
|
||||
_disp->displayOn();
|
||||
}
|
||||
|
||||
void Display::update() {
|
||||
if (_displayFrameRate.check()) {
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ public:
|
|||
void activateDisplaySaveMode();
|
||||
void setDisplaySaveTimeout(uint32_t timeout);
|
||||
|
||||
void activateDistplay();
|
||||
|
||||
// functions for update loop
|
||||
void update();
|
||||
void addFrame(std::shared_ptr<DisplayFrame> frame);
|
||||
|
|
|
|||
|
|
@ -50,6 +50,10 @@ void LoRa_APRS::setRxFrequency(long frequency) {
|
|||
setFrequency(_RxFrequency);
|
||||
}
|
||||
|
||||
void LoRa_APRS::setRxGain(uint8_t gain) {
|
||||
setGain(gain);
|
||||
}
|
||||
|
||||
// cppcheck-suppress unusedFunction
|
||||
long LoRa_APRS::getRxFrequency() const {
|
||||
return _RxFrequency;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ public:
|
|||
void setRxFrequency(long frequency);
|
||||
long getRxFrequency() const;
|
||||
|
||||
void setRxGain(uint8_t gain);
|
||||
|
||||
void setTxFrequency(long frequency);
|
||||
long getTxFrequency() const;
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,9 @@ void TaskManager::addAlwaysRunTask(Task *task) {
|
|||
}
|
||||
|
||||
std::list<Task *> TaskManager::getTasks() {
|
||||
return _tasks;
|
||||
std::list<Task *> tasks = _alwaysRunTasks;
|
||||
std::copy(_tasks.begin(), _tasks.end(), std::back_inserter(tasks));
|
||||
return tasks;
|
||||
}
|
||||
|
||||
bool TaskManager::setup(System &system) {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
#include "TaskWifi.h"
|
||||
#include "project_configuration.h"
|
||||
|
||||
#define VERSION "21.35.0"
|
||||
#define VERSION "21.44.0-dev"
|
||||
|
||||
String create_lat_aprs(double lat);
|
||||
String create_long_aprs(double lng);
|
||||
|
|
@ -100,9 +100,10 @@ void setup() {
|
|||
LoRaSystem.getTaskManager().addTask(&routerTask);
|
||||
|
||||
if (userConfig.aprs_is.active) {
|
||||
if (boardConfig->Type == eETH_BOARD) {
|
||||
if (boardConfig->Type == eETH_BOARD && !userConfig.wifi.active) {
|
||||
LoRaSystem.getTaskManager().addAlwaysRunTask(ðTask);
|
||||
} else {
|
||||
}
|
||||
if (userConfig.wifi.active) {
|
||||
LoRaSystem.getTaskManager().addAlwaysRunTask(&wifiTask);
|
||||
}
|
||||
LoRaSystem.getTaskManager().addTask(&otaTask);
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ bool DisplayTask::setup(System &system) {
|
|||
}
|
||||
|
||||
bool DisplayTask::loop(System &system) {
|
||||
if (system.getUserConfig()->display.overwritePin != 0 && !digitalRead(system.getUserConfig()->display.overwritePin)) {
|
||||
system.getDisplay().activateDistplay();
|
||||
}
|
||||
system.getDisplay().update();
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ bool ModemTask::setup(System &system) {
|
|||
;
|
||||
}
|
||||
_lora_aprs.setRxFrequency(system.getUserConfig()->lora.frequencyRx);
|
||||
_lora_aprs.setRxGain(system.getUserConfig()->lora.gainRx);
|
||||
_lora_aprs.setTxFrequency(system.getUserConfig()->lora.frequencyTx);
|
||||
_lora_aprs.setTxPower(system.getUserConfig()->lora.power);
|
||||
_lora_aprs.setSpreadingFactor(system.getUserConfig()->lora.spreadingFactor);
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ bool RouterTask::loop(System &system) {
|
|||
}
|
||||
|
||||
uint32_t diff = _beacon_timer.getTriggerTimeInSec();
|
||||
_stateInfo = "beacon " + String(uint32_t(diff / 60)) + ":" + String(uint32_t(diff % 60));
|
||||
_stateInfo = "beacon " + String(uint32_t(diff / 600)) + String(uint32_t(diff / 60) % 10) + ":" + String(uint32_t(diff / 10) % 6) + String(uint32_t(diff % 10));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,8 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
|
|||
conf.network.dns2.fromString(data["network"]["dns2"].as<String>());
|
||||
}
|
||||
|
||||
JsonArray aps = data["wifi"]["AP"].as<JsonArray>();
|
||||
conf.wifi.active = data["wifi"]["active"];
|
||||
JsonArray aps = data["wifi"]["AP"].as<JsonArray>();
|
||||
for (JsonVariant v : aps) {
|
||||
Configuration::Wifi::AP ap;
|
||||
ap.SSID = v["SSID"].as<String>();
|
||||
|
|
@ -40,6 +41,7 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
|
|||
conf.digi.active = data["digi"]["active"] | false;
|
||||
conf.digi.beacon = data["digi"]["beacon"] | false;
|
||||
conf.lora.frequencyRx = data["lora"]["frequency_rx"] | 433775000;
|
||||
conf.lora.gainRx = data["lora"]["gain_rx"] | 0;
|
||||
conf.lora.frequencyTx = data["lora"]["frequency_tx"] | 433775000;
|
||||
conf.lora.power = data["lora"]["power"] | 20;
|
||||
conf.lora.spreadingFactor = data["lora"]["spreading_factor"] | 12;
|
||||
|
|
@ -84,7 +86,8 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co
|
|||
data["network"]["dns2"] = conf.network.dns2.toString();
|
||||
}
|
||||
|
||||
JsonArray aps = data["wifi"].createNestedArray("AP");
|
||||
data["wifi"]["active"] = conf.wifi.active;
|
||||
JsonArray aps = data["wifi"].createNestedArray("AP");
|
||||
for (Configuration::Wifi::AP ap : conf.wifi.APs) {
|
||||
JsonObject v = aps.createNestedObject();
|
||||
v["SSID"] = ap.SSID;
|
||||
|
|
@ -101,6 +104,7 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co
|
|||
data["digi"]["active"] = conf.digi.active;
|
||||
data["digi"]["beacon"] = conf.digi.beacon;
|
||||
data["lora"]["frequency_rx"] = conf.lora.frequencyRx;
|
||||
data["lora"]["gain_rx"] = conf.lora.gainRx;
|
||||
data["lora"]["frequency_tx"] = conf.lora.frequencyTx;
|
||||
data["lora"]["power"] = conf.lora.power;
|
||||
data["lora"]["spreading_factor"] = conf.lora.spreadingFactor;
|
||||
|
|
|
|||
|
|
@ -22,15 +22,16 @@ public:
|
|||
|
||||
class Wifi {
|
||||
public:
|
||||
Wifi() : active(true) {
|
||||
}
|
||||
|
||||
bool active;
|
||||
class AP {
|
||||
public:
|
||||
String SSID;
|
||||
String password;
|
||||
};
|
||||
|
||||
Wifi() {
|
||||
}
|
||||
|
||||
std::list<AP> APs;
|
||||
};
|
||||
|
||||
|
|
@ -70,12 +71,13 @@ public:
|
|||
LoRa() : frequencyRx(433775000), frequencyTx(433775000), power(20), spreadingFactor(12), signalBandwidth(125000), codingRate4(5) {
|
||||
}
|
||||
|
||||
long frequencyRx;
|
||||
long frequencyTx;
|
||||
int power;
|
||||
int spreadingFactor;
|
||||
long signalBandwidth;
|
||||
int codingRate4;
|
||||
long frequencyRx;
|
||||
uint8_t gainRx;
|
||||
long frequencyTx;
|
||||
int power;
|
||||
int spreadingFactor;
|
||||
long signalBandwidth;
|
||||
int codingRate4;
|
||||
};
|
||||
|
||||
class Display {
|
||||
|
|
|
|||
Loading…
Reference in a new issue