diff --git a/data/is-cfg.json b/data/is-cfg.json index 5a2ee13..e7674fc 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -35,7 +35,8 @@ { "always_on": true, "timeout":10, - "overwrite_pin":0 + "overwrite_pin":0, + "turn180": true }, "ftp": { diff --git a/lib/Display/Display.cpp b/lib/Display/Display.cpp index 65ad3dd..1556487 100644 --- a/lib/Display/Display.cpp +++ b/lib/Display/Display.cpp @@ -25,6 +25,11 @@ void Display::setup(std::shared_ptr boardConfig) _disp->display(&bitmap); } +void Display::turn180() +{ + _disp->flipScreenVertically(); +} + void Display::update() { if(_statusFrame->isPrio()) diff --git a/lib/Display/Display.h b/lib/Display/Display.h index a86fc8e..86ddcb4 100644 --- a/lib/Display/Display.h +++ b/lib/Display/Display.h @@ -32,6 +32,7 @@ public: ~Display() {} void setup(std::shared_ptr boardConfig); + void turn180(); void update(); void addFrame(std::shared_ptr frame); diff --git a/lib/TaskManager/TaskDisplay.cpp b/src/TaskDisplay.cpp similarity index 85% rename from lib/TaskManager/TaskDisplay.cpp rename to src/TaskDisplay.cpp index af99345..bc2c703 100644 --- a/lib/TaskManager/TaskDisplay.cpp +++ b/src/TaskDisplay.cpp @@ -1,5 +1,6 @@ #include #include +#include "project_configuration.h" #include "TaskDisplay.h" DisplayTask::DisplayTask() @@ -14,6 +15,10 @@ DisplayTask::~DisplayTask() bool DisplayTask::setup(std::shared_ptr config, std::shared_ptr boardConfig) { Display::instance().setup(boardConfig); + if(config->display.turn180) + { + Display::instance().turn180(); + } std::shared_ptr statusFrame = std::shared_ptr(new StatusFrame(TaskManager::instance().getTasks())); Display::instance().setStatusFrame(statusFrame); _stateInfo = ""; diff --git a/lib/TaskManager/TaskDisplay.h b/src/TaskDisplay.h similarity index 100% rename from lib/TaskManager/TaskDisplay.h rename to src/TaskDisplay.h diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index ffb98d8..4d4f7b0 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -37,6 +37,7 @@ std::shared_ptr ProjectConfigurationManagement::readProjectConfig conf->display.alwaysOn = data["display"]["always_on"] | true; conf->display.timeout = data["display"]["timeout"] | 10; conf->display.overwritePin = data["display"]["overwrite_pin"] | 0; + conf->display.turn180 = data["display"]["turn180"] | true; conf->ftp.active = data["ftp"]["active"] | false; JsonArray users = data["ftp"]["user"].as(); @@ -89,6 +90,7 @@ void ProjectConfigurationManagement::writeProjectConfiguration(std::shared_ptrdisplay.alwaysOn; data["display"]["timeout"] = conf->display.timeout; data["display"]["overwrite_pin"] = conf->display.overwritePin; + data["display"]["turn180"] = conf->display.turn180; data["ftp"]["active"] = conf->ftp.active; JsonArray users = data["ftp"].createNestedArray("user"); for(Configuration::Ftp::User u : conf->ftp.users) diff --git a/src/project_configuration.h b/src/project_configuration.h index adb47d7..44da8e5 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -59,11 +59,12 @@ public: class Display { public: - Display() : alwaysOn(true), timeout(10), overwritePin(0) {} + Display() : alwaysOn(true), timeout(10), overwritePin(0), turn180(true) {} bool alwaysOn; int timeout; int overwritePin; + bool turn180; }; class Ftp