Subversion Repositories NaviCtrl

Rev

Rev 261 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
41 ingob 1
#ifndef _WAYPOINTS_H
2
#define _WAYPOINTS_H
3
 
4
#include "ubx.h"
5
 
227 killagreg 6
//#define POINT_TYPE_INVALID
225 killagreg 7
#define POINT_TYPE_WP   0
8
#define POINT_TYPE_POI  1
9
 
41 ingob 10
typedef struct
11
{
12
        GPS_Pos_t Position;             // the gps position of the waypoint, see ubx.h for details
13
        s16 Heading;                    // orientation, future implementation
14
        u8  ToleranceRadius;    // in meters, if the MK is within that range around the target, then the next target is triggered
88 killagreg 15
        u8  HoldTime;                   // in seconds, if the was once in the tolerance area around a WP, this time defines the delay before the next WP is triggered
16
        u8  Event_Flag;                 // future implementation
162 ingob 17
        u8  Index;              // to indentify different waypoints, workaround for bad communications PC <-> NC
225 killagreg 18
        u8  Type;                               // typeof Waypoint
259 holgerb 19
        u8  WP_EventChannelValue;  // 
20
        u8  reserve[9];             // reserve
41 ingob 21
} __attribute__((packed)) Waypoint_t;
22
 
23
u8 WPList_Init(void);
24
u8 WPList_Clear(void);
25
u8 WPList_GetCount(void);
26
u8 WPList_Append(Waypoint_t* pwp);
27
Waypoint_t* WPList_Begin(void);
151 killagreg 28
Waypoint_t* WPList_End(void);
41 ingob 29
Waypoint_t* WPList_Next(void);
92 killagreg 30
Waypoint_t* WPList_GetAt(u8 index);
224 killagreg 31
Waypoint_t* WPList_GetPOI(void);
41 ingob 32
 
33
#endif // _WAYPOINTS_H