diff --git a/Cargo.toml b/Cargo.toml index 75bf8b3..5dc4ba5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,6 +37,7 @@ all_msgs = [ "msg1006", "msg1007", "msg1008", + "msg1012", "msg1013", "msg1014", "msg1015", @@ -130,6 +131,7 @@ msg1005 = [] msg1006 = [] msg1007 = [] msg1008 = [] +msg1012 = [] msg1013 = [] msg1014 = [] msg1015 = [] diff --git a/src/msg/message.rs b/src/msg/message.rs index 5f40635..fb580a1 100644 --- a/src/msg/message.rs +++ b/src/msg/message.rs @@ -201,6 +201,7 @@ message!( "msg1006": Msg1006(msg1006) = 1006, "msg1007": Msg1007(msg1007) = 1007, "msg1008": Msg1008(msg1008) = 1008, + "msg1012": Msg1012(msg1012) = 1012, "msg1013": Msg1013(msg1013) = 1013, "msg1014": Msg1014(msg1014) = 1014, "msg1015": Msg1015(msg1015) = 1015, diff --git a/src/msg/mod.rs b/src/msg/mod.rs index c461c9f..5b17966 100644 --- a/src/msg/mod.rs +++ b/src/msg/mod.rs @@ -941,6 +941,7 @@ include_msg!(msg1005, "msg1005"); include_msg!(msg1006, "msg1006"); include_msg!(msg1007, "msg1007"); include_msg!(msg1008, "msg1008"); +include_msg!(msg1012, "msg1012"); include_msg!(msg1013, "msg1013"); include_msg!(msg1014, "msg1014"); include_msg!(msg1015, "msg1015"); diff --git a/src/msg/msg1012.rs b/src/msg/msg1012.rs new file mode 100644 index 0000000..0dabe17 --- /dev/null +++ b/src/msg/msg1012.rs @@ -0,0 +1,41 @@ +msg! ( + id: msg1012_sat, + type_name: Msg1012Sat, + fields: [ + (glo_satellite_id, df_u6), + (glo_l1_code_ind, df_flag), + (glo_satellite_freq_chan_number, df040), + (l1_pseudorange_m, df041), + (l1_phase_pseudorange_diff_m, df012_18_42_48), + (l1_lock_time_index, df_u7), + (l1_pseudorange_amb_m, df044), + (l1_cnr_dbhz, df015_20_45_50), + (glo_l2_code_ind, df_u2), + (l2_l1_pseudorange_diff_m, df017_47), + (l2_phase_l1_pseudorange_diff_m, df012_18_42_48), + (l2_lock_time_index, df_u7), + (l2_cnr_dbhz, df015_20_45_50) + ], +); + +frag_vec!( + id: msg1012_sat_vec, + frag_id: msg1012_sat, + cap_name: SAT_CAP_LEGACY, +); + +msg_len_middle!( + id: msg1012, + type_name: Msg1012T, + fields1: [ + (reference_station_id, df003), + (glo_epoch_time_ms, df_u27), + (synchronous_gnss_msg_flag, df005) + ], + len_field: df_leg_sat_len, + fields2: [ + (divergence_free_smoothing_flag, df_flag), + (smoothing_interval_index, df_u3) + ], + vec_field: satellites, msg1012_sat_vec, +);