kopia lustrzana https://github.com/lora-aprs/LoRa_APRS_iGate
change pointers to references
rodzic
a5dbb9fd77
commit
0396db7d95
|
@ -84,7 +84,7 @@ void setup() {
|
|||
|
||||
LoRaSystem = std::shared_ptr<System>(new System(boardConfig, userConfig));
|
||||
LoRaSystem->getTaskManager().addTask(std::shared_ptr<Task>(new DisplayTask()));
|
||||
LoRaSystem->getTaskManager().addTask(std::shared_ptr<Task>(new ModemTask(&fromModem)));
|
||||
LoRaSystem->getTaskManager().addTask(std::shared_ptr<Task>(new ModemTask(fromModem)));
|
||||
if (boardConfig->Type == eETH_BOARD) {
|
||||
LoRaSystem->getTaskManager().addAlwaysRunTask(std::shared_ptr<Task>(new EthTask()));
|
||||
} else {
|
||||
|
@ -95,8 +95,8 @@ void setup() {
|
|||
if (userConfig->ftp.active) {
|
||||
LoRaSystem->getTaskManager().addTask(std::shared_ptr<Task>(new FTPTask()));
|
||||
}
|
||||
LoRaSystem->getTaskManager().addTask(std::shared_ptr<Task>(new AprsIsTask(&toAprsIs)));
|
||||
LoRaSystem->getTaskManager().addTask(std::shared_ptr<Task>(new RouterTask(&fromModem, &toAprsIs)));
|
||||
LoRaSystem->getTaskManager().addTask(std::shared_ptr<Task>(new AprsIsTask(toAprsIs)));
|
||||
LoRaSystem->getTaskManager().addTask(std::shared_ptr<Task>(new RouterTask(fromModem, toAprsIs)));
|
||||
|
||||
LoRaSystem->getTaskManager().setup(LoRaSystem);
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#include "TaskAprsIs.h"
|
||||
#include "project_configuration.h"
|
||||
|
||||
AprsIsTask::AprsIsTask(TaskQueue<std::shared_ptr<APRSMessage>> *const toAprsIs) : Task(TASK_APRS_IS, TaskAprsIs), _toAprsIs(toAprsIs) {
|
||||
AprsIsTask::AprsIsTask(TaskQueue<std::shared_ptr<APRSMessage>> & toAprsIs) : Task(TASK_APRS_IS, TaskAprsIs), _toAprsIs(toAprsIs) {
|
||||
}
|
||||
|
||||
AprsIsTask::~AprsIsTask() {
|
||||
|
@ -34,8 +34,8 @@ bool AprsIsTask::loop(std::shared_ptr<System> system) {
|
|||
|
||||
_aprs_is->getAPRSMessage();
|
||||
|
||||
if (!_toAprsIs->empty()) {
|
||||
std::shared_ptr<APRSMessage> msg = _toAprsIs->getElement();
|
||||
if (!_toAprsIs.empty()) {
|
||||
std::shared_ptr<APRSMessage> msg = _toAprsIs.getElement();
|
||||
_aprs_is->sendMessage(msg);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
class AprsIsTask : public Task {
|
||||
public:
|
||||
AprsIsTask(TaskQueue<std::shared_ptr<APRSMessage>> *const toAprsIs);
|
||||
AprsIsTask(TaskQueue<std::shared_ptr<APRSMessage>> & toAprsIs);
|
||||
virtual ~AprsIsTask();
|
||||
|
||||
virtual bool setup(std::shared_ptr<System> system) override;
|
||||
|
@ -17,7 +17,7 @@ public:
|
|||
private:
|
||||
std::shared_ptr<APRS_IS> _aprs_is;
|
||||
|
||||
TaskQueue<std::shared_ptr<APRSMessage>> *const _toAprsIs;
|
||||
TaskQueue<std::shared_ptr<APRSMessage>> & _toAprsIs;
|
||||
|
||||
bool connect(std::shared_ptr<System> system);
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#include "TaskModem.h"
|
||||
#include "project_configuration.h"
|
||||
|
||||
ModemTask::ModemTask(TaskQueue<std::shared_ptr<APRSMessage>> *const fromModem) : Task(TASK_MODEM, TaskModem), _fromModem(fromModem) {
|
||||
ModemTask::ModemTask(TaskQueue<std::shared_ptr<APRSMessage>> & fromModem) : Task(TASK_MODEM, TaskModem), _fromModem(fromModem) {
|
||||
}
|
||||
|
||||
ModemTask::~ModemTask() {
|
||||
|
@ -55,7 +55,7 @@ bool ModemTask::loop(std::shared_ptr<System> system) {
|
|||
}
|
||||
msg->setPath(path + "qAR," + system->getUserConfig()->callsign);
|
||||
|
||||
_fromModem->addElement(msg);
|
||||
_fromModem.addElement(msg);
|
||||
system->getDisplay().addFrame(std::shared_ptr<DisplayFrame>(new TextFrame("LoRa", msg->toString())));
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
class ModemTask : public Task {
|
||||
public:
|
||||
ModemTask(TaskQueue<std::shared_ptr<APRSMessage>> *const fromModem);
|
||||
ModemTask(TaskQueue<std::shared_ptr<APRSMessage>> & fromModem);
|
||||
virtual ~ModemTask();
|
||||
|
||||
virtual bool setup(std::shared_ptr<System> system) override;
|
||||
|
@ -15,7 +15,7 @@ public:
|
|||
|
||||
private:
|
||||
std::shared_ptr<LoRa_APRS> _lora_aprs;
|
||||
TaskQueue<std::shared_ptr<APRSMessage>> *const _fromModem;
|
||||
TaskQueue<std::shared_ptr<APRSMessage>> & _fromModem;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
String create_lat_aprs(double lat);
|
||||
String create_long_aprs(double lng);
|
||||
|
||||
RouterTask::RouterTask(TaskQueue<std::shared_ptr<APRSMessage>> *const fromModem, TaskQueue<std::shared_ptr<APRSMessage>> *const toAprsIs) : Task(TASK_ROUTER, TaskRouter), _fromModem(fromModem), _toAprsIs(toAprsIs) {
|
||||
RouterTask::RouterTask(TaskQueue<std::shared_ptr<APRSMessage>> & fromModem, TaskQueue<std::shared_ptr<APRSMessage>> *
|
||||
& toAprsIs) : Task(TASK_ROUTER, TaskRouter), _fromModem(fromModem), _toAprsIs(toAprsIs) {
|
||||
}
|
||||
|
||||
RouterTask::~RouterTask() {
|
||||
|
@ -28,15 +29,15 @@ bool RouterTask::setup(std::shared_ptr<System> system) {
|
|||
|
||||
bool RouterTask::loop(std::shared_ptr<System> system) {
|
||||
// do routing
|
||||
if (!_fromModem->empty()) {
|
||||
_toAprsIs->addElement(_fromModem->getElement());
|
||||
if (!_fromModem.empty()) {
|
||||
_toAprsIs.addElement(_fromModem->getElement());
|
||||
}
|
||||
|
||||
// check for beacon
|
||||
if (_beacon_timer.check()) {
|
||||
logPrintD("[" + timeString() + "] ");
|
||||
logPrintlnD(_beaconMsg->encode());
|
||||
_toAprsIs->addElement(_beaconMsg);
|
||||
_toAprsIs.addElement(_beaconMsg);
|
||||
system->getDisplay().addFrame(std::shared_ptr<DisplayFrame>(new TextFrame("BEACON", _beaconMsg->toString())));
|
||||
_beacon_timer.start();
|
||||
}
|
||||
|
|
|
@ -6,15 +6,15 @@
|
|||
|
||||
class RouterTask : public Task {
|
||||
public:
|
||||
RouterTask(TaskQueue<std::shared_ptr<APRSMessage>> *const fromModem, TaskQueue<std::shared_ptr<APRSMessage>> *const toAprsIs);
|
||||
RouterTask(TaskQueue<std::shared_ptr<APRSMessage>> & fromModem, TaskQueue<std::shared_ptr<APRSMessage>> & toAprsIs);
|
||||
virtual ~RouterTask();
|
||||
|
||||
virtual bool setup(std::shared_ptr<System> system) override;
|
||||
virtual bool loop(std::shared_ptr<System> system) override;
|
||||
|
||||
private:
|
||||
TaskQueue<std::shared_ptr<APRSMessage>> *const _fromModem;
|
||||
TaskQueue<std::shared_ptr<APRSMessage>> *const _toAprsIs;
|
||||
TaskQueue<std::shared_ptr<APRSMessage>> & _fromModem;
|
||||
TaskQueue<std::shared_ptr<APRSMessage>> & _toAprsIs;
|
||||
|
||||
std::shared_ptr<APRSMessage> _beaconMsg;
|
||||
Timer _beacon_timer;
|
||||
|
|
Ładowanie…
Reference in New Issue