circle mode for autopilot
menu entry for circle mode
This commit is contained in:
2023-08-14 08:25:24 +02:00
parent 9adbdece7f
commit 010544a35a
5 changed files with 97 additions and 67 deletions
+6 -2
View File
@@ -39,7 +39,7 @@ class DirectionChangeSignal : public DirectionChangeWrapper {
class Autopilot : public ManualControl {
public:
enum State {
InsufficientAccuarcy = -2,
InsufficientAccuracy = -2,
NoRoute = -1,
None = 0,
NavigationStarted,
@@ -109,6 +109,8 @@ class Autopilot : public ManualControl {
bool shouldUpdate();
void testRotate(int16_t degree);
void endRotate();
void switchLoopMode() { this->loopMode = !this->loopMode; }
bool getLoopMode() const { return this->loopMode; }
private:
void init();
@@ -119,6 +121,7 @@ class Autopilot : public ManualControl {
void checkButtonInput();
void askNavigationForOrder();
void selfDriving();
void restartLoop();
Navigation* navigation;
CourseCorrection courseCorrection;
@@ -129,9 +132,10 @@ class Autopilot : public ManualControl {
DirectionChangeSignal* directionChangeSignal;
bool updateDisplay = false;
bool loopMode = false;
uint8_t loopDelayMillis = 40;
uint8_t maxCourseDeviationBerforeAct = 5;
uint8_t maxCourseDeviationBeforeAct = 5;
uint16_t displayUpdateDelayMillis = 1000;
uint16_t autopilotChangeDelayMillis = 500;
uint32_t displayUpdateLastMillis = 0;