- added batteryCalibration

- start with default Menus for DriveModes
This commit is contained in:
2023-09-27 11:11:39 +02:00
parent e48f680fec
commit 38e7db7dee
13 changed files with 221 additions and 13 deletions
@@ -0,0 +1,59 @@
/**
* @file menuCalibrateBattery.cpp
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2023-09-26
*
* @copyright Copyright (c) 2023
*
*/
#include "menuCalibrateBattery.h"
MenuCalibrateBattery::MenuCalibrateBattery(Battery* battery) {
this->setUpdateDelay(400);
this->battery = battery;
}
void MenuCalibrateBattery::printMenu() {
if (this->battery->getCalibrationState() == Battery::CalibrationState::None)
this->battery->startCalibration();
String lineOne = "";
String lineTwo = "";
switch (this->battery->getCalibrationState()) {
case Battery::CalibrationState::Waiting:
lineOne = "Target Voltage:";
lineTwo = "7 + ";
lineTwo.concat(this->battery->getCurrentCalibrationVoltage());
lineTwo.concat(" / 10");
break;
case Battery::CalibrationState::Reading:
lineOne = "Reading...";
break;
case Battery::CalibrationState::Finished:
lineOne = "Finished!";
break;
default:
break;
}
this->print(lineOne, lineTwo);
}
void MenuCalibrateBattery::left() {
this->battery->finishCalibration();
if (parentMenu)
this->parentMenu->printMenu();
}
void MenuCalibrateBattery::right() {
if (this->battery->getCalibrationState() == Battery::CalibrationState::Waiting)
this->battery->nextVoltageIsReady();
}
@@ -0,0 +1,33 @@
/**
* @file menuCalibrateBattery.h
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2023-09-26
*
* @copyright Copyright (c) 2023
*
*/
#ifndef MENU_CALIBRATE_BATTERY_H
#define MENU_CALIBRATE_BATTERY_H
#include "menuControl.h"
#include "battery.h"
class MenuCalibrateBattery : public MenuControl {
public:
MenuCalibrateBattery(Battery* battery);
void printMenu() override;
void left() override;
void no() override { this->left(); }
void right() override;
void yes() override { this->right(); }
private:
Battery* battery;
};
#endif //MENU_CALIBRATE_BATTERY_H
+13
View File
@@ -0,0 +1,13 @@
/**
* @file menuSpeed.cpp
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2023-09-26
*
* @copyright Copyright (c) 2023
*
*/
#include "menuSpeed.h"
+21
View File
@@ -0,0 +1,21 @@
/**
* @file menuSpeed.h
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2023-09-26
*
* @copyright Copyright (c) 2023
*
*/
#ifndef MENU_SPEED_H
#define MENU_SPEED_H
#include <menuIntInput.h>
class MenuSpeed : MenuIntInput {
};
#endif // MENU_SPEED_H
@@ -14,6 +14,7 @@
MenuSysteminformation::MenuSysteminformation(Battery* mainBattery)
: MenuInformationSites(8) {
this->mainBattery = mainBattery;
this->noEqualLeft = true;
}
void MenuSysteminformation::printPage() const {
@@ -13,6 +13,8 @@
#include "menuInformationSites.h"
#include "driveModi/driveManager.h"
#include "SpecialMenus/SensorData/menuSensorData.h"
#include "SpecialMenus/Speed/menuSpeed.h"
/**
* @brief A base class for Menus about DriveModi
@@ -36,6 +38,9 @@ class MenuDriveMode : public MenuInformationSites {
void configureOnLeave() {}
DriveManager* driveManager;
MenuSensorData* menuSensor;
MenuSpeed* menuSpeed;
bool firstPrint = true;
};