Subversion Repositories Projects

Rev

Blame | Last modification | View Log | RSS feed

#ifndef TYPEDEFS_H
#define TYPEDEFS_H

#ifdef _BETA_

    #define INVALID     0x00
    #define NEWDATA     0x01
    #define PROCESSED   0x02

    typedef struct
    {
        int32_t Longitude;  // in 1E-7 deg
        int32_t Latitude;   // in 1E-7 deg
        int32_t Altitude;   // in mm
        uint8_t Status;    // validity of data
    } __attribute__((packed)) GPS_Pos_t;

#else

    typedef enum
    {
        INVALID     = 0,
        NEWDATA     = 1,
        PROCESSED   = 2
    } Status_t;

    typedef struct
    {
        int32_t Longitude;  // in 1E-7 deg
        int32_t Latitude;   // in 1E-7 deg
        int32_t Altitude;   // in mm
        Status_t Status;    // validity of data
    } __attribute__((packed)) GPS_Pos_t;
#endif

typedef struct
{
    GPS_Pos_t Position;          // the gps position of the waypoint, see ubx.h for details
    int16_t   Heading;           // orientation, future implementation
    uint8_t   ToleranceRadius;   // in meters, if the MK is within that range around the target, then the next target is triggered
    uint8_t   HoldTime;          // in seconds, if the was once in the tolerance area around a WP, this time defies the delay before the next WP is triggered
    uint8_t   Event_Flag;        // future emplementation
    uint8_t   reserve[12];       // reserve
} __attribute__((packed)) Waypoint_t;

#endif // TYPEDEFS_H