32 #ifndef __OEM7_MESSAGES_H_    33 #define __OEM7_MESSAGES_H_    38 #define ASSERT_MSG "Consult Oem7 manual"    47   static_assert(
sizeof(oem7_char_t) == 1, 
ASSERT_MSG);
    48   static_assert(
sizeof(
double)      == 8, 
ASSERT_MSG);
    52   Oem7MessageCommonHeaderMem
    58     uint8_t    message_length;
    69     uint8_t     header_length;
    73     uint16_t    message_length;
    78     int32_t     gps_milliseconds;
    79     uint32_t    recevier_status;
    81     uint16_t    recevier_version;
    85   Oem7MessgeShortHeaderMem
    91     uint8_t    message_length;
    94     int32_t    gps_milliseconds;
   101     oem7_enum_t        sol_stat;
   102     oem7_enum_t        pos_type;
   107     oem7_enum_t        datum_id;
   111     oem7_char_t        stn_id[4];
   116     uint8_t            num_sol_l1_svs;
   117     uint8_t            num_sol_multi_svs;
   119     oem7_hex_t         ext_sol_stat;
   120     uint8_t            galileo_beidou_sig_mask;
   121     uint8_t            gps_glonass_sig_mask;
   123    static_assert(
sizeof(BESTPOSMem) == 72, 
ASSERT_MSG);
   138   static_assert(
sizeof(BESTVELMem) == 44, 
ASSERT_MSG);
   149     double north_velocity;
   150     double east_velocity;
   157   static_assert(
sizeof(INSPVASmem) == 88, 
ASSERT_MSG);
   162     uint32_t        imu_data_count;
   167     double          longitudinal_acc;
   172   static_assert(
sizeof(CORRIMUSMem) == 60, 
ASSERT_MSG);
   183     double          longitudinal_acc;
   186   static_assert(
sizeof(IMURATECORRIMUSMem) == 60, 
ASSERT_MSG);
   191     float          latitude_stdev;
   192     float          longitude_stdev;
   194     float          north_velocity_stdev;
   195     float          east_velocity_stdev;
   196     float          up_velocity_stdev;
   200     uint32_t       ext_sol_status;
   201     uint16_t       time_since_last_update;
   206   static_assert(
sizeof(INSSTDEVMem) == 52, 
ASSERT_MSG);
   212     oem7_enum_t        imu_type;
   214     uint8_t            initial_alignment_velocity;
   215     uint16_t           heave_window;
   217     oem7_hex_t         enabled_updates[4];
   218     oem7_enum_t        alignment_mode;
   219     oem7_enum_t        relative_ins_output_frame;
   220     oem7_bool_t        relative_ins_output_direction;
   221     oem7_hex_t         ins_receiver_status[4];
   222     uint8_t            ins_seed_enabled;
   223     uint8_t            ins_seed_validation;
   232   static_assert(
sizeof(INSCONFIG_FixedMem) == 60, 
ASSERT_MSG);
   235   INSCONFIG_TranslationMem
   237     uint32_t       translation;
   245     uint32_t       translation_source;
   250   INSCONFIG_RotationMem
   257     float          x_rotation_stdev;
   258     float          y_rotation_stdev;
   259     float          z_rotation_stdev;
   260     uint32_t       rotation_source;
   267     oem7_enum_t    ins_status;
   268     oem7_enum_t    pos_type;
   273     double         north_velocity;
   274     double         east_velocity;
   279     float          latitude_stdev;
   280     float          longitude_stdev;
   282     float          north_velocity_stdev;
   283     float          east_velocity_stdev;
   284     float          up_velocity_stdev;
   288     uint32_t       extended_status;
   289     uint16_t       time_since_update;
   291   static_assert(
sizeof(INSPVAXMem) == 126, 
ASSERT_MSG);
   296     oem7_enum_t        sol_status;
   297     oem7_enum_t        pos_type;
   304     oem7_char_t        rover_stn_id[4];
   305     oem7_char_t        master_stn_id[4];
   306     uint8_t            num_sv_tracked;
   307     uint8_t            num_sv_in_sol;
   309     uint8_t            num_sv_multi;
   311     uint8_t            ext_sol_status;
   312     uint8_t            galileo_beidou_sig_mask;
   313     uint8_t            gps_glonass_sig_mask;
   315   static_assert(
sizeof(HEADING2Mem) == 48, 
ASSERT_MSG);
   320     oem7_enum_t        sol_stat;
   321     oem7_enum_t        pos_type;
   322     uint32_t           lon_zone_number;
   323     uint32_t           lat_zone_letter;
   329     float              northing_stddev;
   330     float              easting_stddev;
   337     uint8_t            num_sol_ggl1_svs;
   338     uint8_t            num_sol_multi_svs;
   340     uint8_t            ext_sol_stat;
   341     uint8_t            galileo_beidou_sig_mask;
   342     uint8_t            gps_glonass_sig_mask;
   344   static_assert(
sizeof(BESTUTMMem) == 80, 
ASSERT_MSG);
   350     uint32_t           num_status_codes;
   352     uint32_t           rxstat_pri_mask;
   353     uint32_t           rxstat_set_mask;
   354     uint32_t           rxstat_clr_mask;
   356     uint32_t           aux1_stat_pri;
   357     uint32_t           aux1_stat_set;
   358     uint32_t           aux1_stat_clr;
   360     uint32_t           aux2_stat_pri;
   361     uint32_t           aux2_stat_set;
   362     uint32_t           aux2_stat_clr;
   364     uint32_t           aux3_stat_pri;
   365     uint32_t           aux3_stat_set;
   366     uint32_t           aux3_stat_clr;
   368     uint32_t           aux4_stat_pri;
   369     uint32_t           aux4_stat_set;
   370     uint32_t           aux4_stat_clr;
   372   static_assert(
sizeof(RXSTATUSMem) == 88, 
ASSERT_MSG);
   378     uint32_t           clock_status;
   390   static_assert(
sizeof(TIMEMem) == 44, 
ASSERT_MSG);
   401   static_assert(
sizeof(PSRDOP2_FixedMem) == 16, 
ASSERT_MSG);
 const std::size_t OEM7_BINARY_MSG_SHORT_HDR_LEN
 
struct __attribute__((packed)) Oem7MessageCommonHeaderMem
 
TF2SIMD_FORCE_INLINE tf2Scalar length(const Quaternion &q)
 
const std::size_t OEM7_BINARY_MSG_HDR_LEN