diff --git a/lib/TaskManager/TaskManager.h b/lib/TaskManager/TaskManager.h index 1894f9f..5f4cb89 100644 --- a/lib/TaskManager/TaskManager.h +++ b/lib/TaskManager/TaskManager.h @@ -12,28 +12,29 @@ class Task { public: - Task(String & name) : _name(name) {} - Task(const char * name) : _name(name) {} + Task(String & name, int taskId) : _name(name), _taskId(taskId) {} + Task(const char * name, int taskId) : _name(name), _taskId(taskId) {} virtual ~Task() {} String getName() const { return _name; } + int getTaskId() const { return _taskId; } virtual bool setup(std::shared_ptr config, std::shared_ptr boardConfig) = 0; virtual bool loop(std::shared_ptr config) = 0; private: String _name; + int _taskId; }; class TaskManager { public: - static TaskManager & instance() - { - static TaskManager _instance; - return _instance; - } + { + static TaskManager _instance; + return _instance; + } ~TaskManager() {} diff --git a/src/Task.cpp b/src/Task.cpp new file mode 100644 index 0000000..fd3d9db --- /dev/null +++ b/src/Task.cpp @@ -0,0 +1,26 @@ +#include "Task.h" + +char const * const getTaskName(TaskNames task) +{ + switch (task) + { + case TaskDisplay: + return "Display"; + case TaskAprsIs: + return "APRS-IS"; + case TaskEth: + return "ETH"; + case TaskFtp: + return "FTP"; + case TaskLora: + return "LORA"; + case TaskNtp: + return "NTP"; + case TaskOta: + return "OTA"; + case TaskWifi: + return "WIFI"; + default: + return "error"; + } +} diff --git a/src/Task.h b/src/Task.h index 770b84e..14b0c5d 100644 --- a/src/Task.h +++ b/src/Task.h @@ -1,6 +1,22 @@ #ifndef TASK_H_ #define TASK_H_ +enum TaskNames +{ + TaskDisplay, + TaskAprsIs, + TaskEth, + TaskFtp, + TaskLora, + TaskNtp, + TaskOta, + TaskWifi, + TaskSize, +}; + +char const * const getTaskName(TaskNames task); + +#define TASK_DISPLAY "DisplayTask" #define TASK_APRS_IS "AprsIsTask" #define TASK_ETH "EthTask" #define TASK_FTP "FTPTask" diff --git a/src/TaskAprsIs.cpp b/src/TaskAprsIs.cpp index 8044293..39c1302 100644 --- a/src/TaskAprsIs.cpp +++ b/src/TaskAprsIs.cpp @@ -8,7 +8,7 @@ String create_lat_aprs(double lat); String create_long_aprs(double lng); AprsIsTask::AprsIsTask() - : Task(TASK_APRS_IS), _beacon_next_time(0) + : Task(TASK_APRS_IS, TaskAprsIs), _beacon_next_time(0) { } @@ -47,11 +47,9 @@ bool AprsIsTask::loop(std::shared_ptr config) if(_beacon_next_time < now()) { - //show_display(userConfig->callsign, "Beacon to APRS-IS Server..."); logPrintD("[" + timeString() + "] "); logPrintlnD(_beaconMsg->encode()); _aprs_is->sendMessage(_beaconMsg); - //show_display(userConfig->callsign, "Standby..."); _beacon_next_time = now() + config->beacon.timeout * 60UL; } return true; @@ -63,7 +61,6 @@ bool AprsIsTask::connect(std::shared_ptr config) logPrintI(config->aprs_is.server); logPrintI(" on port: "); logPrintlnI(String(config->aprs_is.port)); - //show_display("INFO", "Connecting to APRS-IS server"); if(!_aprs_is->connect(config->aprs_is.server, config->aprs_is.port)) { logPrintlnE("Connection failed."); diff --git a/src/TaskEth.cpp b/src/TaskEth.cpp index 201ff96..a112217 100644 --- a/src/TaskEth.cpp +++ b/src/TaskEth.cpp @@ -43,7 +43,7 @@ static void WiFiEvent(WiFiEvent_t event) } EthTask::EthTask() - : Task(TASK_ETH) + : Task(TASK_ETH, TaskEth) { } diff --git a/src/TaskFTP.cpp b/src/TaskFTP.cpp index 7ac0e85..4a6eea6 100644 --- a/src/TaskFTP.cpp +++ b/src/TaskFTP.cpp @@ -6,7 +6,7 @@ #include "Task.h" FTPTask::FTPTask() - : Task(TASK_FTP), _beginCalled(false) + : Task(TASK_FTP, TaskFtp), _beginCalled(false) { } diff --git a/src/TaskLora.cpp b/src/TaskLora.cpp index 7424c46..cdac7ef 100644 --- a/src/TaskLora.cpp +++ b/src/TaskLora.cpp @@ -6,7 +6,7 @@ #include "Task.h" LoraTask::LoraTask() - : Task(TASK_LORA) + : Task(TASK_LORA, TaskLora) { } @@ -20,7 +20,6 @@ bool LoraTask::setup(std::shared_ptr config, std::shared_ptrbegin(_lora_aprs->getRxFrequency())) { logPrintlnE("Starting LoRa failed!"); - //show_display("ERROR", "Starting LoRa failed!"); while(true); } _lora_aprs->setRxFrequency(config->lora.frequencyRx); @@ -30,7 +29,6 @@ bool LoraTask::setup(std::shared_ptr config, std::shared_ptrsetSignalBandwidth(config->lora.signalBandwidth); _lora_aprs->setCodingRate4(config->lora.codingRate4); _lora_aprs->enableCrc(); - //show_display("INFO", "LoRa init done!", 2000); return true; } diff --git a/src/TaskNTP.cpp b/src/TaskNTP.cpp index 972877c..a4993ac 100644 --- a/src/TaskNTP.cpp +++ b/src/TaskNTP.cpp @@ -5,7 +5,7 @@ #include "Task.h" NTPTask::NTPTask() - : Task(TASK_NTP), _beginCalled(false) + : Task(TASK_NTP, TaskNtp), _beginCalled(false) { } diff --git a/src/TaskOTA.cpp b/src/TaskOTA.cpp index 17ac831..d569011 100644 --- a/src/TaskOTA.cpp +++ b/src/TaskOTA.cpp @@ -4,7 +4,7 @@ #include "Task.h" OTATask::OTATask() - : Task(TASK_OTA), _beginCalled(false) + : Task(TASK_OTA, TaskOta), _beginCalled(false) { } @@ -23,7 +23,6 @@ bool OTATask::setup(std::shared_ptr config, std::shared_ptr config, std::shared_ptr