- added batteryCalibration
- start with default Menus for DriveModes
This commit is contained in:
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user