bugFix testModeMenu implement duration print
This commit is contained in:
@@ -78,6 +78,8 @@ void MenuTestMode::init() {
|
||||
this->driveManager->changeModus(Modi::TestMode);
|
||||
this->testMode = (TestMode*) this->driveManager->getDriveModiPtr();
|
||||
|
||||
testMode->setSpeed(15);
|
||||
|
||||
auto dummy = []() {
|
||||
std::cout << "Dummy in Action" <<std::endl;
|
||||
};
|
||||
@@ -183,15 +185,16 @@ bool MenuTestMode::checkInput() {
|
||||
}
|
||||
|
||||
void MenuTestMode::printManeuverTime() {
|
||||
std::cout << "MenuTestMode::printManeuverTime: 1" << std::endl;
|
||||
String lineTwo = "left ";
|
||||
std::cout << "MenuTestMode::printManeuverTime: 2" << std::endl;
|
||||
lineTwo.concat(this->testMode->getRemainingManeuverTime());
|
||||
std::cout << "MenuTestMode::printManeuverTime: 3" << std::endl;
|
||||
lineTwo.concat("secs");
|
||||
std::cout << "MenuTestMode::printManeuverTime: 4" << std::endl;
|
||||
this->print("Maneuver time", lineTwo);
|
||||
std::cout << "MenuTestMode::printManeuverTime: 5" << std::endl;
|
||||
uint8_t maneuverTime = this->testMode->getRemainingManeuverTime();
|
||||
if (maneuverTime) {
|
||||
String lineTwo = "";
|
||||
lineTwo.concat(maneuverTime);
|
||||
lineTwo.concat(" secs");
|
||||
this->print("Maneuver time:", lineTwo);
|
||||
} else {
|
||||
this->maneuverInAction = false;
|
||||
this->printMenu();
|
||||
}
|
||||
}
|
||||
|
||||
MenuTestModeWrapper::MenuTestModeWrapper(MenuTestMode* menu, TestModeFunctionSingle testModeFunction) {
|
||||
@@ -201,7 +204,8 @@ MenuTestModeWrapper::MenuTestModeWrapper(MenuTestMode* menu, TestModeFunctionSin
|
||||
}
|
||||
|
||||
MenuTestModeWrapper::MenuTestModeWrapper(MenuTestMode* menu, TestModeFunctionDouble testModeFunction) {
|
||||
this->testMode = testMode;
|
||||
this->menu = menu;
|
||||
this->testMode = this->menu->getTestMode();
|
||||
this->testModeFunctionDouble = testModeFunction;
|
||||
}
|
||||
|
||||
@@ -209,13 +213,16 @@ void MenuTestModeWrapper::action(int16_t* values, uint8_t length) {
|
||||
// This function calls a member function with a pointer
|
||||
// Very helpful site:
|
||||
// https://isocpp.org/wiki/faq/pointers-to-members#fnptr-vs-memfnptr-types
|
||||
std::cout << "MenuTestModeWrapper::action: 0" << std::endl;
|
||||
if (length == 2 && this->testModeFunctionDouble)
|
||||
(this->testMode->*this->testModeFunctionDouble)(values[0], values[1]);
|
||||
else if (length == 1 && this->testModeFunctionSingle)
|
||||
(this->testMode->*this->testModeFunctionSingle)(values[0]);
|
||||
|
||||
std::cout << "MenuTestModeWrapper::action: 1" << std::endl;
|
||||
this->menu->printManeuverTime();
|
||||
std::cout << "MenuTestModeWrapper::action: 2" << std::endl;
|
||||
bool res = false;
|
||||
|
||||
if (length == 2 && this->testModeFunctionDouble)
|
||||
res = (this->testMode->*this->testModeFunctionDouble)(values[0], values[1]);
|
||||
else if (length == 1 && this->testModeFunctionSingle)
|
||||
res = (this->testMode->*this->testModeFunctionSingle)(values[0]);
|
||||
|
||||
if (res) {
|
||||
this->menu->printManeuverTime();
|
||||
this->menu->maneuverStarted();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ class MenuTestMode : public MenuDriveMode {
|
||||
void update() override;
|
||||
|
||||
TestMode* getTestMode() const { return this->testMode; }
|
||||
void maneuverStarted() { this->maneuverInAction = true; }
|
||||
|
||||
private:
|
||||
void init();
|
||||
|
||||
Reference in New Issue
Block a user