some shit
This commit is contained in:
+22
-6
@@ -12,6 +12,8 @@
|
||||
#ifndef ROUTE_H
|
||||
#define ROUTE_H
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <list>
|
||||
#include <cmath>
|
||||
@@ -20,6 +22,14 @@
|
||||
#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
|
||||
*
|
||||
@@ -34,14 +44,11 @@ class Point{
|
||||
* @param lat latidude
|
||||
* @param lon longitude
|
||||
*/
|
||||
Point(double lat, double lon) { this->lat = lat; this->lon = lon; }
|
||||
Point(){ this->lat = 0; this->lon = 0; }
|
||||
Point(double lat, double lon, uint32_t horizontalAccuracy = 0);
|
||||
Point();
|
||||
|
||||
double lat = 0;
|
||||
double lon = 0;
|
||||
uint8_t fixType = -1;
|
||||
uint8_t carrierSolution = -1;
|
||||
uint32_t horizontalAccuracy = -1;
|
||||
|
||||
/**
|
||||
* @brief checks if to points are equal
|
||||
@@ -61,10 +68,19 @@ class Point{
|
||||
* @return false
|
||||
*/
|
||||
bool isInit() const { return this->lat + this->lon; }
|
||||
bool isValid() const { return (this->horizontalAccuracy < 5000) ? true : false; }
|
||||
bool isValid() const { return (this->accuracy > 0) ? true : false; }
|
||||
|
||||
double distanceTo(const Point& point) const;
|
||||
double courseTo(const Point& point) const;
|
||||
|
||||
PointAccuracy getAccuracy() { return this->accuracy; }
|
||||
|
||||
private:
|
||||
void init(uint32_t horizontalAccuracy);
|
||||
|
||||
PointAccuracy accuracy = PointAccuracy::none;
|
||||
|
||||
uint32_t creationTime = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user