- 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();
}