/* rbt3000.h constants and structures used by rbt3000 in sirf user mode */ #define CMD_ECHO 0x02 #define CMD_ALIVE 0x06 #define CMD_DATALGENTRY 0x07 #define CMD_SETNAME 0x09 #define CMD_GETLOG 0x10 #define CMD_SETLOGCONF 0x23 #define CMD_LOGSTATE 0x24 #define CMD_LOGERASE 0x34 #define CMD_PASSWORD_ACT 0x39 #define CMD_PASSWORD 0x40 #define CMD_PASSWORD_SET 0x41 #define CMD_STATUS 0x49 typedef struct { unsigned long entries; float space; } __attribute__((packed)) datalog_state_t; typedef struct { unsigned short block; // date: unsigned char year; // since 2000 unsigned char month; unsigned char day; unsigned char dummy0; // time: unsigned char hour; unsigned char minute; unsigned char dummy1, dummy2; float second; // position: double latitude; double longitude; float altitude; // float PDOP; float HDOP; float speed; // in kph float direction; unsigned char satellites; unsigned char event_type; unsigned short csum; } __attribute__((packed)) datalog_entry_t; typedef struct { unsigned short block; unsigned char dummy0; } __attribute__((packed)) datalog_end_entry_t; typedef struct { unsigned char GGA; unsigned char GLL; unsigned char GSA; unsigned char GSV; unsigned char RMC; unsigned char VTG; unsigned short dummy0; // always 50 unsigned short elevation_mask; // 1/10 degrees: 0..900 unsigned char DOP_mask; // 1 = PDOP, 2 = HDOP, 3 = GDOP, 4 = Disabled unsigned char GDOP_value; unsigned char PDOP_value; unsigned char HDOP_value; unsigned char degrade; // on = 1, off = 0 unsigned char SBAS; // on = 1, off = 0 } __attribute__((packed)) nav_config_t; typedef struct { unsigned long enabled; unsigned long overwrite; unsigned long include_altitude; unsigned long interval; unsigned long constant_distance; float speeding_limit; } __attribute__((packed)) datalog_config_t; typedef struct { char name[15]; // name (zero terminated) char version[11]; // firmware version unsigned long dummy0; unsigned char password; unsigned char batt; // 0 = ok, 2 = low unsigned char dummy1[4]; unsigned char mode[16]; nav_config_t navidation; datalog_config_t datalog; } __attribute__((packed)) status_t;