Rev 2200 |
Go to most recent revision |
Blame |
Last modification |
View Log
| RSS feed
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//############################################################################
//# HISTORY gps.h
//#
//#
//#
//#
//#
//#
//#
//#
//# 22.09.2015 Starter
//# - PKT-Pos von lat lon auf latitude und longitude umbenannt
//#
//# 20.06.2014 OG - NEU
//############################################################################
#ifndef GPS_H_
#define GPS_H_
/**
* Position data in fractional degrees or radians
*/
typedef struct _nmeaPOS
{
int32_t latitude; // Latitude in 1e-7 Grad
int32_t longitude; // Longitude in 1e-7 Grad
} nmeaPOS;
typedef struct _positionOffset
{
int32_t latitude; // latitude offset in mm
int32_t longitude; // longitude offset in mm
}positionOffset;
GPS_PosDev_t gps_Deviation(
GPS_Pos_t pos1,
GPS_Pos_t pos2
);
int nmea_move_horz(
const nmeaPOS *start_pos, /**< Start position in radians */
nmeaPOS *end_pos, /**< Result position in radians */
double azimuth, /**< Azimuth (degree) [0, 359] */
double distance /**< Distance (km) */
);
int nmea_move_horz1(
const nmeaPOS *start_pos, /**< Start position in radians */
nmeaPOS *end_pos, /**< Result position in radians */
double azimuth, /**< Azimuth (degree) [0, 359] */
double distance /**< Distance (km) */
);
uint8_t followme_add_offset(
const nmeaPOS *pPktPos, /**< Start position in radians */
nmeaPOS *target_pos, /**< Result position in radians */
positionOffset *followMeOffset /**< Position Offset in Millimeters */
);
uint8_t followme_calculate_offset(
int32_t radius,
int16_t angle,
positionOffset *followMeOffset
);
int16_t my_abs(int16_t input);
#endif // #define GPS_H_