LoRa_APRS_iGate/src/TaskDisplay.cpp

34 wiersze
1.0 KiB
C++

#include <logger.h>
2021-01-19 22:12:55 +00:00
#include "TaskDisplay.h"
#include "project_configuration.h"
2021-01-19 22:12:55 +00:00
DisplayTask::DisplayTask() : Task("DisplayTask", 0) {
2021-01-19 22:12:55 +00:00
}
DisplayTask::~DisplayTask() {
2021-01-19 22:12:55 +00:00
}
2021-05-18 22:44:37 +00:00
bool DisplayTask::setup(System &system) {
system.getDisplay().setup(system.getBoardConfig());
if (system.getUserConfig()->display.turn180) {
system.getDisplay().turn180();
}
2021-05-18 22:44:37 +00:00
std::shared_ptr<StatusFrame> statusFrame = std::shared_ptr<StatusFrame>(new StatusFrame(system.getTaskManager().getTasks()));
system.getDisplay().setStatusFrame(statusFrame);
if (!system.getUserConfig()->display.alwaysOn) {
system.getDisplay().activateDisplaySaveMode();
system.getDisplay().setDisplaySaveTimeout(system.getUserConfig()->display.timeout);
2021-03-13 21:45:43 +00:00
}
2021-05-18 22:44:37 +00:00
_stateInfo = system.getUserConfig()->callsign;
return true;
2021-01-19 22:12:55 +00:00
}
2021-05-18 22:44:37 +00:00
bool DisplayTask::loop(System &system) {
2021-09-03 20:24:04 +00:00
if (system.getUserConfig()->display.overwritePin != 0 && !digitalRead(system.getUserConfig()->display.overwritePin)) {
system.getDisplay().activateDistplay();
}
2021-05-18 22:44:37 +00:00
system.getDisplay().update();
return true;
2021-01-19 22:12:55 +00:00
}