Start with Capture Route

This commit is contained in:
2022-01-31 21:12:11 +01:00
parent ab4ceb8b09
commit d356b28ffb
24 changed files with 327 additions and 320 deletions
+24
View File
@@ -0,0 +1,24 @@
/**
* @file menuCaptureRoute.cpp
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2022-01-31
*
* @copyright Copyright (c) 2022
*
*/
#include "menuCaptureRoute.h"
void MenuCaptureRoute::printMenu() {
this->driveManager->changeModus(Modi::CaptureRoute);
if (this->lcd) {
this->lcd->clear();
this->lcd->setCursor(0, 0);
this->lcd->print("Jetzt kannst");
this->lcd->setCursor(0, 1);
this->lcd->print("du fahren. :-)");
} else
std::cout << "Jetzt kannst du\n fahren. :-)" << std::endl;
}
+22
View File
@@ -0,0 +1,22 @@
/**
* @file menuCaptureRoute.h
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2022-01-31
*
* @copyright Copyright (c) 2022
*
*/
#ifndef MENU_CAPTURE_ROUTE_H
#define MENU_MANUAL_DRIVE_H
#include "menuDriveMode.h"
class MenuCaptureRoute : public MenuDriveMode {
public:
MenuCaptureRoute(DriveManager* driveManager) : MenuDriveMode(driveManager) {}
void printMenu();
};
#endif // MENU_MANUAL_DRIVE_H
+26
View File
@@ -0,0 +1,26 @@
/**
* @file menuDriveMode.cpp
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2022-01-31
*
* @copyright Copyright (c) 2022
*
*/
#include "menuDriveMode.h"
MenuDriveMode::MenuDriveMode(DriveManager* driveManager) {
this->driveManager = driveManager;
}
void MenuDriveMode::left() {
this->driveManager->changeModus(Modi::Off);
if (parentMenu)
this->parentMenu->printMenu();
}
void MenuDriveMode::no() {
this->left();
}
+34
View File
@@ -0,0 +1,34 @@
/**
* @file menuDriveMode.h
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2022-01-31
*
* @copyright Copyright (c) 2022
*
*/
#ifndef MENU_DRIVE_MODI_H
#define MENU_DRIVE_MODI_H
#include "menuControl.h"
#include "driveModi/driveManager.h"
class MenuDriveMode : public MenuControl {
public:
MenuDriveMode(DriveManager* driveManager);
void down(){}
void up(){}
void right(){}
void left();
void no();
void yes(){}
virtual void printMenu() = 0;
protected:
DriveManager* driveManager;
};
#endif // MENU_DRIVE_MODI_H
+5 -3
View File
@@ -36,7 +36,7 @@ void MenuGPS::printMenu() {
if (this->lcd) {
lcd->clear();
lcd->setCursor(0, 0);
if (gps->satellites.isValid()) {
if (gps->satellites.isValid() && gps->satellites.value() > 2) {
lcd->printf("Sats: %3.d", gps->satellites.value());
lcd->setCursor(0, 1);
lcd->printf("HDOP: %f", gps->hdop.hdop());
@@ -44,12 +44,14 @@ void MenuGPS::printMenu() {
lcd->clear();
lcd->setCursor(0, 0);
lcd->printf("Data isn't valid");
lcd->setCursor(0, 1);
lcd->printf("or no GPS signal");
}
} else {
if (gps->satellites.isValid())
if (gps->satellites.isValid() && gps->satellites.value() > 2)
std::cout << "Sats: " << gps->satellites.value()
<< "HDOP: " << gps->hdop.hdop() << std::endl;
else
std::cout << "Date isn't valid" << std::endl;
std::cout << "Date isn't valid or no GPS signal" << std::endl;
}
}
+10 -14
View File
@@ -1,19 +1,15 @@
/**
* @file menuManualDrive.cpp
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2022-01-20
*
* @copyright Copyright (c) 2022
*
*/
#include "menuManualDrive.h"
MenuManualControl::MenuManualControl(DriveManager* driveManager) {
this->driveManager = driveManager;
}
void MenuManualControl::left() {
this->driveManager->changeModus(Modi::Off);
if (parentMenu)
this->parentMenu->printMenu();
}
void MenuManualControl::no() {
this->left();
}
void MenuManualControl::printMenu() {
this->driveManager->changeModus(Modi::ManualControl);
if (this->lcd) {
+3 -18
View File
@@ -12,27 +12,12 @@
#ifndef MENU_MANUAL_DRIVE_H
#define MENU_MANUAL_DRIVE_H
#include "menuControl.h"
#include "driveModi/driveManager.h"
#include "menuDriveMode.h"
// TODO: delete after installtion of display
#include <Arduino.h>
class MenuManualControl : public MenuControl {
class MenuManualControl : public MenuDriveMode {
public:
MenuManualControl(DriveManager* driveManager);
void down(){}
void up(){}
void right(){}
void left();
void no();
void yes(){}
MenuManualControl(DriveManager* driveManager) : MenuDriveMode(driveManager) {}
void printMenu();
private:
DriveManager* driveManager;
};
#endif // MENU_MANUAL_DRIVE_H