finished speed and sensor menu in modes

This commit is contained in:
2023-09-29 11:30:13 +02:00
parent d7357d4f95
commit 45264c6481
17 changed files with 96 additions and 78 deletions
@@ -56,6 +56,7 @@ void MenuManualControl::init() {
this->driveManager->changeModus(this->manualControl);
this->setCountPages(4);
this->updateDelay = 500;
this->activateSpeedMenu();
MenuDriveMode::init();
}
@@ -77,8 +77,7 @@ void MenuTestMode::init() {
this->testMode = new TestMode();
this->driveManager->changeModus(this->testMode);
testMode->setMaxSpeed(1);
testMode->setMaxRotation(8);
this->testMode->setSpeeds(DrivingSpeeds{1, 8});
auto dummy = []() {
std::cout << "Dummy in Action" <<std::endl;
+17 -2
View File
@@ -24,6 +24,8 @@ void MenuDriveMode::left() {
this->firstPrint = true;
this->configureOnLeave();
if (this->menuSpeed)
delete this->menuSpeed;
this->driveManager->changeModus();
MenuInformationSites::left();
}
@@ -85,6 +87,20 @@ void MenuDriveMode::init() {
this->activeMenu = nullptr;
}
void MenuDriveMode::activateSpeedMenu() {
if (!this->driveManager->isActive())
return;
DrivingSpeeds& speeds = this->driveManager->getDriveModiPtr()->getSpeedsRef();
MenuIntInput* menu = new MenuIntInput(2, new MenuSpeed(speeds));
menu->setMinMax(5, UINT8_MAX);
menu->setEntry(0, "x m/s e-1", driveManager->getDrivingSpeedsRef().x * 10);
menu->setEntry(1, "z rad/s e-1", driveManager->getDrivingSpeedsRef().rot * 10);
this->addSpeedMenu(menu);
}
void MenuDriveMode::enterSpeedMenu() {
this->activeMenu = this->menuSpeed;
this->enterMenu();
@@ -97,9 +113,8 @@ void MenuDriveMode::enterSensorMenu() {
void MenuDriveMode::enterMenu() {
if (!this->activeMenu)
return
return;
this->activeMenu->printMenu();
std::cout << "Sensor Menu was theretically printed" << std::endl;
this->activeMenu->setParentMenu(this);
}
+3 -2
View File
@@ -30,7 +30,7 @@ class MenuDriveMode : public MenuInformationSites {
MenuDriveMode(DriveManager* driveManager);
void addSensorMenu(MenuSensorData* menuSensor) { this->menuSensor = menuSensor; }
void addSpeedMenu(MenuSpeed* menuSpeed) { this->menuSpeed = menuSpeed; }
void addSpeedMenu(MenuIntInput* menuSpeed) { this->menuSpeed = menuSpeed; }
/**
* @brief Goes back to the parentMenu.
@@ -48,6 +48,7 @@ class MenuDriveMode : public MenuInformationSites {
protected:
void init() override;
virtual void configureOnLeave() {}
void activateSpeedMenu();
void enterSpeedMenu();
void enterSensorMenu();
@@ -60,6 +61,6 @@ class MenuDriveMode : public MenuInformationSites {
MenuControl* activeMenu = nullptr;
MenuSensorData* menuSensor = nullptr;
MenuSpeed* menuSpeed = nullptr;
MenuIntInput* menuSpeed = nullptr;
};
#endif // MENU_DRIVE_MODI_H