Subversion Repositories Projects

Rev

Rev 2200 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2136 - 1
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3
 
4
//############################################################################
5
//# HISTORY  gps.h
6
//#
2212 - 7
//#
8
//#
9
//#
10
//#
11
//#
12
//#
13
//#
14
//# 22.09.2015 Starter
15
//# - PKT-Pos von lat lon auf latitude und longitude umbenannt
16
//#
2136 - 17
//# 20.06.2014 OG - NEU
18
//############################################################################
19
 
20
 
21
#ifndef GPS_H_
22
#define GPS_H_
23
 
24
/**
25
 * Position data in fractional degrees or radians
26
 */
27
typedef struct _nmeaPOS
28
{
2212 - 29
    int32_t latitude;          // Latitude in 1e-7 Grad
30
    int32_t longitude;         // Longitude in 1e-7 Grad
2136 - 31
 
32
} nmeaPOS;
33
 
34
 
35
 
2212 - 36
typedef struct _positionOffset
37
{
38
        int32_t latitude;                       // latitude offset in mm
39
        int32_t longitude;                      // longitude offset in mm
40
}positionOffset;
41
 
42
 
43
GPS_PosDev_t gps_Deviation(
44
        GPS_Pos_t pos1,
45
        GPS_Pos_t pos2
46
        );
47
 
48
 
2136 - 49
int nmea_move_horz(
50
    const nmeaPOS *start_pos,   /**< Start position in radians */
51
    nmeaPOS *end_pos,           /**< Result position in radians */
52
    double azimuth,             /**< Azimuth (degree) [0, 359] */
53
    double distance             /**< Distance (km) */
54
    );
55
 
56
 
57
int nmea_move_horz1(
58
    const nmeaPOS *start_pos,   /**< Start position in radians */
59
    nmeaPOS *end_pos,           /**< Result position in radians */
60
    double azimuth,             /**< Azimuth (degree) [0, 359] */
61
    double distance             /**< Distance (km) */
62
    );
63
 
2197 - 64
 
2212 - 65
uint8_t followme_add_offset(
66
    const nmeaPOS *pPktPos,             /**< Start position in radians */
67
    nmeaPOS *target_pos,                /**< Result position in radians */
68
    positionOffset *followMeOffset      /**< Position Offset in Millimeters */
69
    );
70
 
2200 - 71
uint8_t followme_calculate_offset(
2212 - 72
    int32_t radius,
73
    int16_t angle,
74
    positionOffset *followMeOffset
2197 - 75
    );
76
 
2212 - 77
int16_t my_abs(int16_t input);
2197 - 78
 
79
 
2212 - 80
 
2136 - 81
#endif // #define GPS_H_