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(BESTGNSSPOSMem) == 72,
ASSERT_MSG);
129 oem7_enum_t sol_stat;
130 oem7_enum_t pos_type;
135 oem7_enum_t datum_id;
139 oem7_char_t stn_id[4];
144 uint8_t num_sol_l1_svs;
145 uint8_t num_sol_multi_svs;
147 oem7_hex_t ext_sol_stat;
148 uint8_t galileo_beidou_sig_mask;
149 uint8_t gps_glonass_sig_mask;
151 static_assert(
sizeof(BESTPOSMem) == 72,
ASSERT_MSG);
166 static_assert(
sizeof(BESTVELMem) == 44,
ASSERT_MSG);
172 oem7_enum_t sol_stat;
173 oem7_enum_t pos_type;
178 oem7_enum_t datum_id;
182 oem7_char_t stn_id[4];
187 uint8_t num_sol_l1_svs;
188 uint8_t num_sol_multi_svs;
190 oem7_hex_t ext_sol_stat;
192 uint8_t gps_glonass_sig_mask;
194 static_assert(
sizeof(PPPPOSMem) == 72,
ASSERT_MSG);
200 oem7_char_t product_activation_code[16];
201 oem7_enum_t sub_type;
202 uint32_t sub_permission;
203 uint32_t service_end_day_of_year;
204 uint32_t service_end_year;
206 oem7_enum_t region_restriction;
207 float center_point_latitude;
208 float center_point_longitude;
211 static_assert(
sizeof(TERRASTARINFOMem) == 52,
ASSERT_MSG);
217 oem7_enum_t access_status;
218 oem7_enum_t sync_state;
220 oem7_enum_t local_area_status;
221 oem7_enum_t geo_status;
223 static_assert(
sizeof(TERRASTARSTATUSMem) == 20,
ASSERT_MSG);
234 double north_velocity;
235 double east_velocity;
242 static_assert(
sizeof(INSPVASmem) == 88,
ASSERT_MSG);
247 uint32_t imu_data_count;
252 double longitudinal_acc;
257 static_assert(
sizeof(CORRIMUSMem) == 60,
ASSERT_MSG);
268 double longitudinal_acc;
271 static_assert(
sizeof(IMURATECORRIMUSMem) == 60,
ASSERT_MSG);
276 float latitude_stdev;
277 float longitude_stdev;
279 float north_velocity_stdev;
280 float east_velocity_stdev;
281 float up_velocity_stdev;
285 uint32_t ext_sol_status;
286 uint16_t time_since_last_update;
291 static_assert(
sizeof(INSSTDEVMem) == 52,
ASSERT_MSG);
297 oem7_enum_t imu_type;
299 uint8_t initial_alignment_velocity;
300 uint16_t heave_window;
302 oem7_hex_t enabled_updates[4];
303 oem7_enum_t alignment_mode;
304 oem7_enum_t relative_ins_output_frame;
305 oem7_bool_t relative_ins_output_direction;
306 oem7_hex_t ins_receiver_status[4];
307 uint8_t ins_seed_enabled;
308 uint8_t ins_seed_validation;
317 static_assert(
sizeof(INSCONFIG_FixedMem) == 60,
ASSERT_MSG);
320 INSCONFIG_TranslationMem
322 uint32_t translation;
330 uint32_t translation_source;
335 INSCONFIG_RotationMem
342 float x_rotation_stdev;
343 float y_rotation_stdev;
344 float z_rotation_stdev;
345 uint32_t rotation_source;
352 oem7_enum_t ins_status;
353 oem7_enum_t pos_type;
358 double north_velocity;
359 double east_velocity;
364 float latitude_stdev;
365 float longitude_stdev;
367 float north_velocity_stdev;
368 float east_velocity_stdev;
369 float up_velocity_stdev;
373 uint32_t extended_status;
374 uint16_t time_since_update;
376 static_assert(
sizeof(INSPVAXMem) == 126,
ASSERT_MSG);
381 oem7_enum_t sol_status;
382 oem7_enum_t pos_type;
389 oem7_char_t rover_stn_id[4];
390 oem7_char_t master_stn_id[4];
391 uint8_t num_sv_tracked;
392 uint8_t num_sv_in_sol;
394 uint8_t num_sv_multi;
396 uint8_t ext_sol_status;
397 uint8_t galileo_beidou_sig_mask;
398 uint8_t gps_glonass_sig_mask;
400 static_assert(
sizeof(HEADING2Mem) == 48,
ASSERT_MSG);
405 oem7_enum_t sol_stat;
406 oem7_enum_t pos_type;
407 uint32_t lon_zone_number;
408 uint32_t lat_zone_letter;
414 float northing_stddev;
415 float easting_stddev;
422 uint8_t num_sol_ggl1_svs;
423 uint8_t num_sol_multi_svs;
425 uint8_t ext_sol_stat;
426 uint8_t galileo_beidou_sig_mask;
427 uint8_t gps_glonass_sig_mask;
429 static_assert(
sizeof(BESTUTMMem) == 80,
ASSERT_MSG);
435 uint32_t num_status_codes;
437 uint32_t rxstat_pri_mask;
438 uint32_t rxstat_set_mask;
439 uint32_t rxstat_clr_mask;
441 uint32_t aux1_stat_pri;
442 uint32_t aux1_stat_set;
443 uint32_t aux1_stat_clr;
445 uint32_t aux2_stat_pri;
446 uint32_t aux2_stat_set;
447 uint32_t aux2_stat_clr;
449 uint32_t aux3_stat_pri;
450 uint32_t aux3_stat_set;
451 uint32_t aux3_stat_clr;
453 uint32_t aux4_stat_pri;
454 uint32_t aux4_stat_set;
455 uint32_t aux4_stat_clr;
457 static_assert(
sizeof(RXSTATUSMem) == 88,
ASSERT_MSG);
463 uint32_t clock_status;
475 static_assert(
sizeof(TIMEMem) == 44,
ASSERT_MSG);
486 static_assert(
sizeof(PSRDOP2_FixedMem) == 16,
ASSERT_MSG);
501 double gnss_week_seconds;
502 oem7_hex_t imu_status[4];
510 static_assert(
sizeof(RAWIMUSXMem) == 40,
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