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 |