quite some fixes

This commit is contained in:
2023-09-23 22:47:07 +02:00
parent d0c5421ad9
commit e48f680fec
14 changed files with 69 additions and 49 deletions
+15 -7
View File
@@ -18,20 +18,20 @@ DirectionChangeSignal::DirectionChangeSignal(Autopilot* pilot) {
}
DirectionChangeSignal::~DirectionChangeSignal() {
pilot->getSensorData()->getCalcCompass()->disableCalcAzimuth();
CalcAzimuth* calcAzimuth = pilot->getSensorData()->getCalcCompass();
if (calcAzimuth)
calcAzimuth->disableCalcAzimuth();
}
void DirectionChangeSignal::action() {
pilot->getSensorData()->getCalcCompass()->drivingDirectionChange(pilot->getSensorData()->getCurrentPos());
CalcAzimuth* calcAzimuth = pilot->getSensorData()->getCalcCompass();
if (calcAzimuth)
calcAzimuth->drivingDirectionChange(pilot->getSensorData()->getCurrentPos());
}
Autopilot::Autopilot() {
this->setInputMode(ManualControl::InputMode::Digital);
this->directionChangeSignal = new DirectionChangeSignal(this);
this->setDirectionChangeCallback(this->directionChangeSignal);
this->navigation = new Navigation(this->sensorData);
this->init();
}
Autopilot::~Autopilot() {
@@ -247,3 +247,11 @@ void Autopilot::restartLoop() {
this->lastOrderStatus = this->navigation->getCourseCorrection(this->courseCorrection, true);
this->updateDisplay = true;
}
void Autopilot::afterActivate() {
this->setInputMode(ManualControl::InputMode::Digital);
this->directionChangeSignal = new DirectionChangeSignal(this);
this->setDirectionChangeCallback(this->directionChangeSignal);
this->navigation = new Navigation(this->sensorData);
this->init();
}
+1
View File
@@ -102,6 +102,7 @@ class Autopilot : public ManualControl {
void askNavigationForOrder();
void selfDriving();
void restartLoop();
void afterActivate() override;
Navigation* navigation;
CourseCorrection courseCorrection;
@@ -10,16 +10,14 @@
*/
#include "driveModi/Modi/CaptureRoute/captureRoute.h"
CaptureRoute::CaptureRoute() {
this->navigation = new Navigation(this->sensorData);
this->navigation->getRoute()->clear();
this->sensorData->getNtripClient()->setAutoReconnect(true);
this->routeInfo = navigation->getRouteInfo();
}
#include "captureRoute.h"
CaptureRoute::~CaptureRoute() {
// this->navigation->getNTRIPClient()->setActivated(false);
if (this->navigation)
delete this->navigation;
if (this->sensorData->getNtripClient())
this->sensorData->getNtripClient()->setActivated(false);
}
void CaptureRoute::run() {
@@ -34,6 +32,13 @@ void CaptureRoute::run() {
}
}
void CaptureRoute::afterActivate() {
this->navigation = new Navigation(this->sensorData);
this->navigation->getRoute()->clear();
this->sensorData->getNtripClient()->setAutoReconnect(true);
this->routeInfo = navigation->getRouteInfo();
}
double CaptureRoute::getDistanceToLastPoint() const {
if (!this->lastSavedPoint.isInit())
return 0;
@@ -27,8 +27,6 @@
*/
class CaptureRoute : public ManualControl {
public:
CaptureRoute();
/**
* @brief Destroy the Capture Route object
*
@@ -68,8 +66,9 @@ class CaptureRoute : public ManualControl {
bool shouldUpdate();
private:
void run() override;
void afterActivate() override;
Navigation* navigation;
Navigation* navigation = nullptr;
RouteInfo routeInfo;
Point lastSavedPoint;
Navigation::Status status = Navigation::Status::Complete;