## page was renamed from en/WayPointStruct from waypoints.h in NaviCtrl Code: '''IMPORTANT: Make sure, that you use packed struktures in your compiler.''' {{{ #!cplusplus typedef struct { GPS_Pos_t Position;// the gps position of the waypoint, see ubx.h for details s16 Heading; // orientation, 0 no action, 1...360 fix heading, neg. = Index to POI in WP List u8 ToleranceRadius;// in meters, if the MK is within that range around the target, then the next target is triggered 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 u8 Event_Flag; // future implementation u8 Index; // to indentify different waypoints, workaround for bad communications PC <-> NC u8 Type; // typeof Waypoint u8 WP_EventChannelValue; // Will be transferred to the FC and can be used as Poti value there u8 AltitudeRate;// rate to change the setpoint in steps of 0.1m/s u8 Speed; // rate to change the Position(0 = max) in steps of 0.1m/s u8 CamAngle;// Camera servo angle in degree (255 -> POI-Automatic) u8 Name[4];// Name of that point (ASCII) u8 AutoPhotoDistance; // in [m] u8 reserve[1]; // reserve } __attribute__((packed)) Point_t; }}} {{{ #!cplusplus // type of point #define POINT_TYPE_INVALID 255 #define POINT_TYPE_WP 0 #define POINT_TYPE_POI 1 #define POINT_TYPE_FS 2 #define POINT_TYPE_LAND 3 }}} {{{ #!cplusplus // status #define INVALID 0x00 #define NEWDATA 0x01 #define PROCESSED 0x02 typedef struct { s32 Longitude; // in 1E-7 deg s32 Latitude; // in 1E-7 deg s32 Altitude; // in dm u8 Status; // validity of data } __attribute__((packed)) GPS_Pos_t; }}} ---- CategoryCoding