diff --git a/lib/Navigation/route.cpp b/lib/Navigation/route.cpp index 8d08a78..07c03a4 100644 --- a/lib/Navigation/route.cpp +++ b/lib/Navigation/route.cpp @@ -11,35 +11,35 @@ #include "route.h" -Point::Point(double lat, double lon, uint32_t horizontalAccuracy) { +Point::Point(double lat, double lon, uint32_t horizontalAccuracy, uint32_t creationTime) { this->coordinates.lat = lat; this->coordinates.lon = lon; - this->init(horizontalAccuracy); + this->init(horizontalAccuracy, creationTime); } -Point::Point(int32_t lat, int32_t lon, uint32_t horizontalAccuracy) { +Point::Point(int32_t lat, int32_t lon, uint32_t horizontalAccuracy, uint32_t creationTime) { this->coordinates.lat = lat / 10000000.0; this->coordinates.lon = lon / 10000000.0; - this->init(horizontalAccuracy); + this->init(horizontalAccuracy, creationTime); } -Point::Point(Coordinates coords, uint32_t horizontalAccuracy) { +Point::Point(Coordinates coords, uint32_t horizontalAccuracy, uint32_t creationTime) { this->coordinates = coords; - this->init(horizontalAccuracy); + this->init(horizontalAccuracy, creationTime); } Point::Point(Coordinates coords, bool imported) { this->coordinates = coords; if (imported) - this->init(UINT32_MAX); + this->init(UINT32_MAX, 0); else - this->init(0); + this->init(0, 0); } Point::Point() { this->coordinates.lat = 0; this->coordinates.lon = 0; - this->init(0); + this->init(0, 0); } bool Point::operator==(const Point& rhs) const { @@ -86,8 +86,8 @@ int16_t Point::courseTo(const Point &point) const { return this->courseTo(point.getCoordinates()); } -void Point::init(uint32_t horizontalAccuracy) { - this->creationTime = millis(); +void Point::init(uint32_t horizontalAccuracy, uint32_t creationTime) { + this->creationTime = creationTime; if (horizontalAccuracy == UINT32_MAX) this->accuracy = Accuracy::imported; diff --git a/lib/Navigation/route.h b/lib/Navigation/route.h index 62d6c19..e358bfb 100644 --- a/lib/Navigation/route.h +++ b/lib/Navigation/route.h @@ -12,8 +12,6 @@ #ifndef ROUTE_H #define ROUTE_H -#include - #include #include #include @@ -66,9 +64,9 @@ class Point{ * @param coords Coordinates * @param imported if true than highest accuracy */ - Point(double lat, double lon, uint32_t horizontalAccuracy = 0); - Point(int32_t lat, int32_t lon, uint32_t horizontalAccuracy = 0); - Point(Coordinates coords, uint32_t horizontalAccuracy = 0); + Point(double lat, double lon, uint32_t horizontalAccuracy = 0, uint32_t creationTime = 0); + Point(int32_t lat, int32_t lon, uint32_t horizontalAccuracy = 0, uint32_t creationTime = 0); + Point(Coordinates coords, uint32_t horizontalAccuracy = 0, uint32_t creationTime = 0); Point(Coordinates coords, bool imported); Point(); @@ -133,7 +131,7 @@ class Point{ Accuracy getAccuracy() { return this->accuracy; } private: - void init(uint32_t horizontalAccuracy); + void init(uint32_t horizontalAccuracy, uint32_t creationTime); Accuracy accuracy = Accuracy::none; Coordinates coordinates;