- remove NtripReconnect from Autopilot and CaptureRoute

- shiftet moveControl States in the class namespace
- added auto reconeect to NtripClient
- a lot of refactor
This commit is contained in:
2023-05-30 23:40:05 +02:00
parent 98b65c4aec
commit 22eb6788c3
18 changed files with 369 additions and 280 deletions
+7 -8
View File
@@ -29,7 +29,7 @@
class Autopilot : public ManualControl {
public:
enum State {
NoNtrip = -2,
InsufficientAccuarcy = -2,
NoRoute = -1,
None = 0,
NavigationStarted,
@@ -108,32 +108,31 @@ class Autopilot : public ManualControl {
private:
void init();
void checkNtrip();
void drive();
void rotate();
void checkButtonInput();
void askNavigationForOrder();
void selfDriving();
Navigation* navigation;
CourseCorrection courseCorrection;
RouteInfo routeInfo;
State state = State::None;
NTRIPClientStates lastState;
State lastState = State::None;
Navigation::Status lastOrderStatus;
bool updateDisplay = false;
uint8_t loopDelayMillis = 40;
uint8_t ntripReconnectAttemps = 0;
uint8_t ntripReconnectMaxAttemps = 10;
uint8_t maxCourseDeviationBerforeAct = 5;
uint16_t displayUpdateDelayMillis = 1000;
uint16_t reconnectNtripDelayMillis = 1000;
uint16_t autopilotChangeDelayMillis = 500;
uint32_t displayUpdateLastMillis = 0;
uint32_t loopLastMillis = 0;
uint32_t reconnectNtripLastMillis = 0;
uint32_t lastAutopilotChangeMillis = 0;
double drivingSpeed = 1;
double rotationSpeed = 7;
double rotationSpeed = 3;
double minRemainingDistance = 0.25;
};