diff --git a/include/networkConfig.h b/include/networkConfig.h index c795b28..3e3064e 100644 --- a/include/networkConfig.h +++ b/include/networkConfig.h @@ -55,7 +55,7 @@ #ifdef NTRIP_RTK2GO #define NTRIP_HOST "rtk2go.com" #define NTRIP_PORT 2101 -#define NTRIP_MOUNT_POINT "uithuizermeeden" +#define NTRIP_MOUNT_POINT "GER-Papenburg" #define NTRIP_USER "alklein1@gmx.de" #define NTRIP_PASSWORD "none" #endif // NTRIP_RTK2GO diff --git a/lib/Navigation/navigation.cpp b/lib/Navigation/navigation.cpp index 0b9e0ac..c9e1cfd 100644 --- a/lib/Navigation/navigation.cpp +++ b/lib/Navigation/navigation.cpp @@ -12,6 +12,7 @@ #include "navigation.h" bool Navigation::outputStatusPrintPVTdata = false; +bool Navigation::newData = false; uint32_t Navigation::ubxUpdateTimeStatic = 0; UBX_NAV_PVT_data_t* Navigation::ubxDataStatic = nullptr; @@ -81,6 +82,11 @@ void Navigation::loop() { this->gps->checkUblox(); this->gps->checkCallbacks(); + if (Navigation::newData) { + this->updateCurrentLocation(); + Navigation::newData = false; + } + if (this->isNtripInit) this->ntripClient->loop(); } @@ -163,14 +169,11 @@ void Navigation::updateCurrentLocation() { Point p; p.lon = this->ubxData->lon; p.lat = this->ubxData->lat; - p.fixType = this->ubxData->fixType; - p.carrierSolution = this->ubxData->flags.all; this->currentPosition = p; } -bool Navigation::nextPoint() { - +bool Navigation::nextPoint() { if (!this->navigationStarted) return false; return this->setTargetPoint(this->route->getNextPoint()); @@ -238,6 +241,7 @@ void Navigation::printPVTdata(UBX_NAV_PVT_data_t *ubxDataStruct) { void Navigation::savePVTdata(UBX_NAV_PVT_data_t *ubxDataStruct) { Navigation::printPVTdata(ubxDataStruct); + Navigation::newData = true; Navigation::ubxDataStatic = ubxDataStruct; Navigation::ubxUpdateTimeStatic = millis(); } diff --git a/lib/Navigation/navigation.h b/lib/Navigation/navigation.h index 51eb9cb..999763c 100644 --- a/lib/Navigation/navigation.h +++ b/lib/Navigation/navigation.h @@ -214,6 +214,7 @@ class Navigation { static uint32_t ubxUpdateTimeStatic; static bool outputStatusPrintPVTdata; + static bool newData; }; #endif // NAVIGATION_H diff --git a/lib/Navigation/route.cpp b/lib/Navigation/route.cpp index 72fb085..614c929 100644 --- a/lib/Navigation/route.cpp +++ b/lib/Navigation/route.cpp @@ -56,8 +56,9 @@ void Point::init(uint32_t horizontalAccuracy) { if (horizontalAccuracy > 9999) this->accuracy = PointAccuracy::fourDigOfCM; else if (horizontalAccuracy > 999) - this->accuracy = PointAccuracy::threeDigOfCM + this->accuracy = PointAccuracy::threeDigOfCM; else if (horizontalAccuracy > 99) + this->accuracy = PointAccuracy::twoDigOfCM; } diff --git a/lib/Navigation/route.h b/lib/Navigation/route.h index 77eacf2..2914d4f 100644 --- a/lib/Navigation/route.h +++ b/lib/Navigation/route.h @@ -22,14 +22,6 @@ #define ROUTE_DISTANCE_BETWEEN_LATITUDE 111300 #define ROUTE_PI 3.14159265358979323846 -enum PointAccuracy { - none, - fourDigOfCM, - threeDigOfCM, - twoDigOfCM, - oneDigOfCM -}; - /** * @brief A to handle points on the earth * @@ -38,6 +30,15 @@ enum PointAccuracy { */ class Point{ public: + enum PointAccuracy { + none, + fourDigOfCM, + threeDigOfCM, + twoDigOfCM, + oneDigOfCM + }; + + /** * @brief Construct a new Point object * diff --git a/lib/NtripClient/ntripClient.cpp b/lib/NtripClient/ntripClient.cpp index c4e320c..f2ffae5 100644 --- a/lib/NtripClient/ntripClient.cpp +++ b/lib/NtripClient/ntripClient.cpp @@ -109,11 +109,13 @@ void NTRIPClient::gpsConfiguration() { } bool NTRIPClient::setActivated(bool b) { + // std::cout << "NTRIPClient::setActivated: b - " << b << std::endl; if (b && this->state != NTRIPClientStates::notAvailable) this->activated = true; else if (b) return false; - this->activated = false; + else + this->activated = false; return true; } diff --git a/src/SpecialMenus/GPS/menuGPS.cpp b/src/SpecialMenus/GPS/menuGPS.cpp index ff7a4f2..482ec94 100644 --- a/src/SpecialMenus/GPS/menuGPS.cpp +++ b/src/SpecialMenus/GPS/menuGPS.cpp @@ -201,11 +201,13 @@ void MenuGPS::printPage() const { void MenuGPS::runCommand() const { switch (this->currentPage) { - case 3: + case 3: { + // std::cout << "MenuGPS::runCommand " << this->ntripClient->getClientState() << std::endl; if (this->ntripClient->getClientState() == NTRIPClientStates::pushData) this->ntripClient->setActivated(false); else if (this->ntripClient->getClientState() != NTRIPClientStates::notAvailable) this->ntripClient->setActivated(true); break; + } } } diff --git a/src/main.cpp b/src/main.cpp index f43b911..cf41254 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -67,7 +67,7 @@ void makeMenu(void); void setup() { Serial.begin(115200); - DebugTimes::setConsolOutput(true); + // DebugTimes::setConsolOutput(true); DebugTimes setupTime; char wifiIndicator = 'X'; @@ -130,7 +130,7 @@ void loop() { DebugTimes wifiTime; Network::checkWiFi(); Network::checkMQTT(); - wifiTime.stopConsol("WiFi-Time", 5); + wifiTime.stopConsol("WiFi-Time", 10); } driveManager->loop();