diff --git a/testdata/msg1002_0.in b/testdata/msg1002_0.in new file mode 100644 index 0000000..f239c3a --- /dev/null +++ b/testdata/msg1002_0.in @@ -0,0 +1 @@ +Message::Msg1002(Msg1002T {reference_station_id:0,gps_epoch_time_ms:0,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec}}) \ No newline at end of file diff --git a/testdata/msg1002_0.rtcm b/testdata/msg1002_0.rtcm new file mode 100644 index 0000000..9090b8e Binary files /dev/null and b/testdata/msg1002_0.rtcm differ diff --git a/testdata/msg1002_0.txt b/testdata/msg1002_0.txt new file mode 100644 index 0000000..80cbe9c --- /dev/null +++ b/testdata/msg1002_0.txt @@ -0,0 +1,416 @@ +Msg1002( + Msg1002T { + reference_station_id: 0, + gps_epoch_time_ms: 0, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1002_1.in b/testdata/msg1002_1.in new file mode 100644 index 0000000..4ef956f --- /dev/null +++ b/testdata/msg1002_1.in @@ -0,0 +1 @@ +Message::Msg1002(Msg1002T {reference_station_id:4095,gps_epoch_time_ms:1073741823,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec.push(Msg1002Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,});vec}}) \ No newline at end of file diff --git a/testdata/msg1002_1.rtcm b/testdata/msg1002_1.rtcm new file mode 100644 index 0000000..ed20b54 Binary files /dev/null and b/testdata/msg1002_1.rtcm differ diff --git a/testdata/msg1002_1.txt b/testdata/msg1002_1.txt new file mode 100644 index 0000000..49c9945 --- /dev/null +++ b/testdata/msg1002_1.txt @@ -0,0 +1,292 @@ +Msg1002( + Msg1002T { + reference_station_id: 4095, + gps_epoch_time_ms: 1073741823, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + Msg1002Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1002_2.in b/testdata/msg1002_2.in new file mode 100644 index 0000000..16bff0f --- /dev/null +++ b/testdata/msg1002_2.in @@ -0,0 +1 @@ +Message::Msg1002(Msg1002T {reference_station_id:3484,gps_epoch_time_ms:432653316,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:2,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec}}) \ No newline at end of file diff --git a/testdata/msg1002_2.rtcm b/testdata/msg1002_2.rtcm new file mode 100644 index 0000000..4a9ce68 Binary files /dev/null and b/testdata/msg1002_2.rtcm differ diff --git a/testdata/msg1002_2.txt b/testdata/msg1002_2.txt new file mode 100644 index 0000000..de309c8 --- /dev/null +++ b/testdata/msg1002_2.txt @@ -0,0 +1,14 @@ +Msg1002( + Msg1002T { + reference_station_id: 3484, + gps_epoch_time_ms: 432653316, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 2, + satellites: DataVec( + [ + , + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1002_3.in b/testdata/msg1002_3.in new file mode 100644 index 0000000..ed6a7f4 --- /dev/null +++ b/testdata/msg1002_3.in @@ -0,0 +1 @@ +Message::Msg1002(Msg1002T {reference_station_id:1757,gps_epoch_time_ms:227725375,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:1,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1002Sat {gps_satellite_id:15,gps_l1_code_ind:0,l1_pseudorange_m:Some(276625.44),l1_phase_pseudorange_diff_m:Some(125.816),l1_lock_time_index:87,l1_pseudorange_amb_m:33276962.838,l1_cnr_dbhz:Some(11.25),});vec.push(Msg1002Sat {gps_satellite_id:18,gps_l1_code_ind:1,l1_pseudorange_m:Some(326882.72000000003),l1_phase_pseudorange_diff_m:Some(156.5105),l1_lock_time_index:122,l1_pseudorange_amb_m:43170113.952,l1_cnr_dbhz:Some(61.25),});vec.push(Msg1002Sat {gps_satellite_id:55,gps_l1_code_ind:0,l1_pseudorange_m:Some(329945.72000000003),l1_phase_pseudorange_diff_m:Some(-233.53050000000002),l1_lock_time_index:33,l1_pseudorange_amb_m:26681528.762,l1_cnr_dbhz:Some(3.0),});vec}}) \ No newline at end of file diff --git a/testdata/msg1002_3.rtcm b/testdata/msg1002_3.rtcm new file mode 100644 index 0000000..3b973c8 Binary files /dev/null and b/testdata/msg1002_3.rtcm differ diff --git a/testdata/msg1002_3.txt b/testdata/msg1002_3.txt new file mode 100644 index 0000000..dee53fb --- /dev/null +++ b/testdata/msg1002_3.txt @@ -0,0 +1,58 @@ +Msg1002( + Msg1002T { + reference_station_id: 1757, + gps_epoch_time_ms: 227725375, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 1, + satellites: DataVec( + [ + Msg1002Sat { + gps_satellite_id: 15, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 276625.44, + ), + l1_phase_pseudorange_diff_m: Some( + 125.816, + ), + l1_lock_time_index: 87, + l1_pseudorange_amb_m: 33276962.838, + l1_cnr_dbhz: Some( + 11.25, + ), + }, + Msg1002Sat { + gps_satellite_id: 18, + gps_l1_code_ind: 1, + l1_pseudorange_m: Some( + 326882.72000000003, + ), + l1_phase_pseudorange_diff_m: Some( + 156.5105, + ), + l1_lock_time_index: 122, + l1_pseudorange_amb_m: 43170113.952, + l1_cnr_dbhz: Some( + 61.25, + ), + }, + Msg1002Sat { + gps_satellite_id: 55, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 329945.72000000003, + ), + l1_phase_pseudorange_diff_m: Some( + -233.53050000000002, + ), + l1_lock_time_index: 33, + l1_pseudorange_amb_m: 26681528.762, + l1_cnr_dbhz: Some( + 3.0, + ), + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1003_0.in b/testdata/msg1003_0.in new file mode 100644 index 0000000..49d4357 --- /dev/null +++ b/testdata/msg1003_0.in @@ -0,0 +1 @@ +Message::Msg1003(Msg1003T {reference_station_id:0,gps_epoch_time_ms:0,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1003Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec}}) \ No newline at end of file diff --git a/testdata/msg1003_0.rtcm b/testdata/msg1003_0.rtcm new file mode 100644 index 0000000..c0b54c6 Binary files /dev/null and b/testdata/msg1003_0.rtcm differ diff --git a/testdata/msg1003_0.txt b/testdata/msg1003_0.txt new file mode 100644 index 0000000..23da88e --- /dev/null +++ b/testdata/msg1003_0.txt @@ -0,0 +1,602 @@ +Msg1003( + Msg1003T { + reference_station_id: 0, + gps_epoch_time_ms: 0, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1003Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1003_1.in b/testdata/msg1003_1.in new file mode 100644 index 0000000..2fe1e58 --- /dev/null +++ b/testdata/msg1003_1.in @@ -0,0 +1 @@ +Message::Msg1003(Msg1003T {reference_station_id:4095,gps_epoch_time_ms:1073741823,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1003Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec}}) \ No newline at end of file diff --git a/testdata/msg1003_1.rtcm b/testdata/msg1003_1.rtcm new file mode 100644 index 0000000..0620e0d Binary files /dev/null and b/testdata/msg1003_1.rtcm differ diff --git a/testdata/msg1003_1.txt b/testdata/msg1003_1.txt new file mode 100644 index 0000000..9f66bce --- /dev/null +++ b/testdata/msg1003_1.txt @@ -0,0 +1,354 @@ +Msg1003( + Msg1003T { + reference_station_id: 4095, + gps_epoch_time_ms: 1073741823, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1003Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1003_2.in b/testdata/msg1003_2.in new file mode 100644 index 0000000..1cfc486 --- /dev/null +++ b/testdata/msg1003_2.in @@ -0,0 +1 @@ +Message::Msg1003(Msg1003T {reference_station_id:3269,gps_epoch_time_ms:1014126735,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec}}) \ No newline at end of file diff --git a/testdata/msg1003_2.rtcm b/testdata/msg1003_2.rtcm new file mode 100644 index 0000000..4b199cc Binary files /dev/null and b/testdata/msg1003_2.rtcm differ diff --git a/testdata/msg1003_2.txt b/testdata/msg1003_2.txt new file mode 100644 index 0000000..9ee232d --- /dev/null +++ b/testdata/msg1003_2.txt @@ -0,0 +1,14 @@ +Msg1003( + Msg1003T { + reference_station_id: 3269, + gps_epoch_time_ms: 1014126735, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + , + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1003_3.in b/testdata/msg1003_3.in new file mode 100644 index 0000000..e39ea60 --- /dev/null +++ b/testdata/msg1003_3.in @@ -0,0 +1 @@ +Message::Msg1003(Msg1003T {reference_station_id:1663,gps_epoch_time_ms:391076827,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:0,smoothing_interval_index:1,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1003Sat {gps_satellite_id:3,gps_l1_code_ind:1,l1_pseudorange_m:Some(58944.700000000004),l1_phase_pseudorange_diff_m:Some(-34.3225),l1_lock_time_index:59,gps_l2_code_ind:1,l2_l1_pseudorange_diff_m:Some(111.6),l2_phase_l1_pseudorange_diff_m:Some(84.9685),l2_lock_time_index:52,});vec.push(Msg1003Sat {gps_satellite_id:50,gps_l1_code_ind:0,l1_pseudorange_m:Some(252174.22),l1_phase_pseudorange_diff_m:Some(121.5155),l1_lock_time_index:6,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(110.399994),l2_phase_l1_pseudorange_diff_m:Some(68.2185),l2_lock_time_index:25,});vec.push(Msg1003Sat {gps_satellite_id:60,gps_l1_code_ind:1,l1_pseudorange_m:Some(25241.62),l1_phase_pseudorange_diff_m:Some(-151.587),l1_lock_time_index:54,gps_l2_code_ind:1,l2_l1_pseudorange_diff_m:Some(113.299995),l2_phase_l1_pseudorange_diff_m:Some(-250.9225),l2_lock_time_index:69,});vec}}) \ No newline at end of file diff --git a/testdata/msg1003_3.rtcm b/testdata/msg1003_3.rtcm new file mode 100644 index 0000000..aba597b Binary files /dev/null and b/testdata/msg1003_3.rtcm differ diff --git a/testdata/msg1003_3.txt b/testdata/msg1003_3.txt new file mode 100644 index 0000000..0405e76 --- /dev/null +++ b/testdata/msg1003_3.txt @@ -0,0 +1,70 @@ +Msg1003( + Msg1003T { + reference_station_id: 1663, + gps_epoch_time_ms: 391076827, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 1, + satellites: DataVec( + [ + Msg1003Sat { + gps_satellite_id: 3, + gps_l1_code_ind: 1, + l1_pseudorange_m: Some( + 58944.700000000004, + ), + l1_phase_pseudorange_diff_m: Some( + -34.3225, + ), + l1_lock_time_index: 59, + gps_l2_code_ind: 1, + l2_l1_pseudorange_diff_m: Some( + 111.6, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 84.9685, + ), + l2_lock_time_index: 52, + }, + Msg1003Sat { + gps_satellite_id: 50, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 252174.22, + ), + l1_phase_pseudorange_diff_m: Some( + 121.5155, + ), + l1_lock_time_index: 6, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 110.399994, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 68.2185, + ), + l2_lock_time_index: 25, + }, + Msg1003Sat { + gps_satellite_id: 60, + gps_l1_code_ind: 1, + l1_pseudorange_m: Some( + 25241.62, + ), + l1_phase_pseudorange_diff_m: Some( + -151.587, + ), + l1_lock_time_index: 54, + gps_l2_code_ind: 1, + l2_l1_pseudorange_diff_m: Some( + 113.299995, + ), + l2_phase_l1_pseudorange_diff_m: Some( + -250.9225, + ), + l2_lock_time_index: 69, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1004_0.in b/testdata/msg1004_0.in new file mode 100644 index 0000000..91fe226 --- /dev/null +++ b/testdata/msg1004_0.in @@ -0,0 +1 @@ +Message::Msg1004(Msg1004T {reference_station_id:0,gps_epoch_time_ms:0,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:0,gps_l1_code_ind:0,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,gps_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec}}) \ No newline at end of file diff --git a/testdata/msg1004_0.rtcm b/testdata/msg1004_0.rtcm new file mode 100644 index 0000000..9b3cf26 Binary files /dev/null and b/testdata/msg1004_0.rtcm differ diff --git a/testdata/msg1004_0.txt b/testdata/msg1004_0.txt new file mode 100644 index 0000000..1d55ee1 --- /dev/null +++ b/testdata/msg1004_0.txt @@ -0,0 +1,695 @@ +Msg1004( + Msg1004T { + reference_station_id: 0, + gps_epoch_time_ms: 0, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 0, + gps_l1_code_ind: 0, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + gps_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1004_1.in b/testdata/msg1004_1.in new file mode 100644 index 0000000..0fbb290 --- /dev/null +++ b/testdata/msg1004_1.in @@ -0,0 +1 @@ +Message::Msg1004(Msg1004T {reference_station_id:4095,gps_epoch_time_ms:1073741823,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1004Sat {gps_satellite_id:63,gps_l1_code_ind:1,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76447076.78999999,l1_cnr_dbhz:None,gps_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec}}) \ No newline at end of file diff --git a/testdata/msg1004_1.rtcm b/testdata/msg1004_1.rtcm new file mode 100644 index 0000000..234eb3d Binary files /dev/null and b/testdata/msg1004_1.rtcm differ diff --git a/testdata/msg1004_1.txt b/testdata/msg1004_1.txt new file mode 100644 index 0000000..af4cec7 --- /dev/null +++ b/testdata/msg1004_1.txt @@ -0,0 +1,447 @@ +Msg1004( + Msg1004T { + reference_station_id: 4095, + gps_epoch_time_ms: 1073741823, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1004Sat { + gps_satellite_id: 63, + gps_l1_code_ind: 1, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76447076.78999999, + l1_cnr_dbhz: None, + gps_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1004_2.in b/testdata/msg1004_2.in new file mode 100644 index 0000000..a35d011 --- /dev/null +++ b/testdata/msg1004_2.in @@ -0,0 +1 @@ +Message::Msg1004(Msg1004T {reference_station_id:2667,gps_epoch_time_ms:64064519,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:3,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec}}) \ No newline at end of file diff --git a/testdata/msg1004_2.rtcm b/testdata/msg1004_2.rtcm new file mode 100644 index 0000000..9c9284d Binary files /dev/null and b/testdata/msg1004_2.rtcm differ diff --git a/testdata/msg1004_2.txt b/testdata/msg1004_2.txt new file mode 100644 index 0000000..d4ff7a1 --- /dev/null +++ b/testdata/msg1004_2.txt @@ -0,0 +1,14 @@ +Msg1004( + Msg1004T { + reference_station_id: 2667, + gps_epoch_time_ms: 64064519, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 3, + satellites: DataVec( + [ + , + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1004_3.in b/testdata/msg1004_3.in new file mode 100644 index 0000000..56fa50e --- /dev/null +++ b/testdata/msg1004_3.in @@ -0,0 +1 @@ +Message::Msg1004(Msg1004T {reference_station_id:814,gps_epoch_time_ms:342705964,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:5,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1004Sat {gps_satellite_id:4,gps_l1_code_ind:1,l1_pseudorange_m:Some(255400.62),l1_phase_pseudorange_diff_m:Some(-189.615),l1_lock_time_index:72,l1_pseudorange_amb_m:37773849.708,l1_cnr_dbhz:Some(9.25),gps_l2_code_ind:2,l2_l1_pseudorange_diff_m:Some(-109.92),l2_phase_l1_pseudorange_diff_m:Some(-214.5395),l2_lock_time_index:80,l2_cnr_dbhz:Some(37.75),});vec.push(Msg1004Sat {gps_satellite_id:39,gps_l1_code_ind:1,l1_pseudorange_m:Some(208112.2),l1_phase_pseudorange_diff_m:Some(182.356),l1_lock_time_index:108,l1_pseudorange_amb_m:27281113.678,l1_cnr_dbhz:Some(52.25),gps_l2_code_ind:2,l2_l1_pseudorange_diff_m:Some(134.56),l2_phase_l1_pseudorange_diff_m:Some(-229.181),l2_lock_time_index:8,l2_cnr_dbhz:Some(57.5),});vec.push(Msg1004Sat {gps_satellite_id:44,gps_l1_code_ind:1,l1_pseudorange_m:Some(99012.68000000001),l1_phase_pseudorange_diff_m:Some(188.637),l1_lock_time_index:78,l1_pseudorange_amb_m:17687755.022,l1_cnr_dbhz:Some(34.25),gps_l2_code_ind:1,l2_l1_pseudorange_diff_m:Some(-148.59999),l2_phase_l1_pseudorange_diff_m:Some(-149.404),l2_lock_time_index:30,l2_cnr_dbhz:Some(37.0),});vec}}) \ No newline at end of file diff --git a/testdata/msg1004_3.rtcm b/testdata/msg1004_3.rtcm new file mode 100644 index 0000000..b693522 Binary files /dev/null and b/testdata/msg1004_3.rtcm differ diff --git a/testdata/msg1004_3.txt b/testdata/msg1004_3.txt new file mode 100644 index 0000000..08b3382 --- /dev/null +++ b/testdata/msg1004_3.txt @@ -0,0 +1,91 @@ +Msg1004( + Msg1004T { + reference_station_id: 814, + gps_epoch_time_ms: 342705964, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 5, + satellites: DataVec( + [ + Msg1004Sat { + gps_satellite_id: 4, + gps_l1_code_ind: 1, + l1_pseudorange_m: Some( + 255400.62, + ), + l1_phase_pseudorange_diff_m: Some( + -189.615, + ), + l1_lock_time_index: 72, + l1_pseudorange_amb_m: 37773849.708, + l1_cnr_dbhz: Some( + 9.25, + ), + gps_l2_code_ind: 2, + l2_l1_pseudorange_diff_m: Some( + -109.92, + ), + l2_phase_l1_pseudorange_diff_m: Some( + -214.5395, + ), + l2_lock_time_index: 80, + l2_cnr_dbhz: Some( + 37.75, + ), + }, + Msg1004Sat { + gps_satellite_id: 39, + gps_l1_code_ind: 1, + l1_pseudorange_m: Some( + 208112.2, + ), + l1_phase_pseudorange_diff_m: Some( + 182.356, + ), + l1_lock_time_index: 108, + l1_pseudorange_amb_m: 27281113.678, + l1_cnr_dbhz: Some( + 52.25, + ), + gps_l2_code_ind: 2, + l2_l1_pseudorange_diff_m: Some( + 134.56, + ), + l2_phase_l1_pseudorange_diff_m: Some( + -229.181, + ), + l2_lock_time_index: 8, + l2_cnr_dbhz: Some( + 57.5, + ), + }, + Msg1004Sat { + gps_satellite_id: 44, + gps_l1_code_ind: 1, + l1_pseudorange_m: Some( + 99012.68000000001, + ), + l1_phase_pseudorange_diff_m: Some( + 188.637, + ), + l1_lock_time_index: 78, + l1_pseudorange_amb_m: 17687755.022, + l1_cnr_dbhz: Some( + 34.25, + ), + gps_l2_code_ind: 1, + l2_l1_pseudorange_diff_m: Some( + -148.59999, + ), + l2_phase_l1_pseudorange_diff_m: Some( + -149.404, + ), + l2_lock_time_index: 30, + l2_cnr_dbhz: Some( + 37.0, + ), + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1009_0.in b/testdata/msg1009_0.in new file mode 100644 index 0000000..c099c57 --- /dev/null +++ b/testdata/msg1009_0.in @@ -0,0 +1 @@ +Message::Msg1009(Msg1009T {reference_station_id:0,glo_epoch_time_ms:0,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec.push(Msg1009Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,});vec}}) \ No newline at end of file diff --git a/testdata/msg1009_0.rtcm b/testdata/msg1009_0.rtcm new file mode 100644 index 0000000..73ae6ad Binary files /dev/null and b/testdata/msg1009_0.rtcm differ diff --git a/testdata/msg1009_0.txt b/testdata/msg1009_0.txt new file mode 100644 index 0000000..4f338ad --- /dev/null +++ b/testdata/msg1009_0.txt @@ -0,0 +1,385 @@ +Msg1009( + Msg1009T { + reference_station_id: 0, + glo_epoch_time_ms: 0, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + Msg1009Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1009_1.in b/testdata/msg1009_1.in new file mode 100644 index 0000000..586a89d --- /dev/null +++ b/testdata/msg1009_1.in @@ -0,0 +1 @@ +Message::Msg1009(Msg1009T {reference_station_id:4095,glo_epoch_time_ms:134217727,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec.push(Msg1009Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,});vec}}) \ No newline at end of file diff --git a/testdata/msg1009_1.rtcm b/testdata/msg1009_1.rtcm new file mode 100644 index 0000000..bbdcfa5 Binary files /dev/null and b/testdata/msg1009_1.rtcm differ diff --git a/testdata/msg1009_1.txt b/testdata/msg1009_1.txt new file mode 100644 index 0000000..30bb6be --- /dev/null +++ b/testdata/msg1009_1.txt @@ -0,0 +1,261 @@ +Msg1009( + Msg1009T { + reference_station_id: 4095, + glo_epoch_time_ms: 134217727, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + Msg1009Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1009_2.in b/testdata/msg1009_2.in new file mode 100644 index 0000000..d87d61d --- /dev/null +++ b/testdata/msg1009_2.in @@ -0,0 +1 @@ +Message::Msg1009(Msg1009T {reference_station_id:590,glo_epoch_time_ms:79628141,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec}}) \ No newline at end of file diff --git a/testdata/msg1009_2.rtcm b/testdata/msg1009_2.rtcm new file mode 100644 index 0000000..0aa5175 Binary files /dev/null and b/testdata/msg1009_2.rtcm differ diff --git a/testdata/msg1009_2.txt b/testdata/msg1009_2.txt new file mode 100644 index 0000000..bbdc82b --- /dev/null +++ b/testdata/msg1009_2.txt @@ -0,0 +1,14 @@ +Msg1009( + Msg1009T { + reference_station_id: 590, + glo_epoch_time_ms: 79628141, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + , + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1009_3.in b/testdata/msg1009_3.in new file mode 100644 index 0000000..fb6d69e --- /dev/null +++ b/testdata/msg1009_3.in @@ -0,0 +1 @@ +Message::Msg1009(Msg1009T {reference_station_id:1031,glo_epoch_time_ms:98691640,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1009Sat {glo_satellite_id:13,glo_l1_code_ind:0,glo_satellite_freq_chan_number:3,l1_pseudorange_m:Some(493067.2),l1_phase_pseudorange_diff_m:Some(99.1695),l1_lock_time_index:47,});vec.push(Msg1009Sat {glo_satellite_id:48,glo_l1_code_ind:1,glo_satellite_freq_chan_number:23,l1_pseudorange_m:Some(474692.64),l1_phase_pseudorange_diff_m:Some(-54.870000000000005),l1_lock_time_index:34,});vec.push(Msg1009Sat {glo_satellite_id:48,glo_l1_code_ind:1,glo_satellite_freq_chan_number:12,l1_pseudorange_m:Some(290447.68),l1_phase_pseudorange_diff_m:Some(151.5915),l1_lock_time_index:91,});vec}}) \ No newline at end of file diff --git a/testdata/msg1009_3.rtcm b/testdata/msg1009_3.rtcm new file mode 100644 index 0000000..b901ec2 Binary files /dev/null and b/testdata/msg1009_3.rtcm differ diff --git a/testdata/msg1009_3.txt b/testdata/msg1009_3.txt new file mode 100644 index 0000000..fd72e53 --- /dev/null +++ b/testdata/msg1009_3.txt @@ -0,0 +1,49 @@ +Msg1009( + Msg1009T { + reference_station_id: 1031, + glo_epoch_time_ms: 98691640, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1009Sat { + glo_satellite_id: 13, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: 3, + l1_pseudorange_m: Some( + 493067.2, + ), + l1_phase_pseudorange_diff_m: Some( + 99.1695, + ), + l1_lock_time_index: 47, + }, + Msg1009Sat { + glo_satellite_id: 48, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 23, + l1_pseudorange_m: Some( + 474692.64, + ), + l1_phase_pseudorange_diff_m: Some( + -54.870000000000005, + ), + l1_lock_time_index: 34, + }, + Msg1009Sat { + glo_satellite_id: 48, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 12, + l1_pseudorange_m: Some( + 290447.68, + ), + l1_phase_pseudorange_diff_m: Some( + 151.5915, + ), + l1_lock_time_index: 91, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1010_0.in b/testdata/msg1010_0.in new file mode 100644 index 0000000..6ffa28c --- /dev/null +++ b/testdata/msg1010_0.in @@ -0,0 +1 @@ +Message::Msg1010(Msg1010T {reference_station_id:0,glo_epoch_time_ms:0,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,});vec}}) \ No newline at end of file diff --git a/testdata/msg1010_0.rtcm b/testdata/msg1010_0.rtcm new file mode 100644 index 0000000..df7763b Binary files /dev/null and b/testdata/msg1010_0.rtcm differ diff --git a/testdata/msg1010_0.txt b/testdata/msg1010_0.txt new file mode 100644 index 0000000..67a9faa --- /dev/null +++ b/testdata/msg1010_0.txt @@ -0,0 +1,447 @@ +Msg1010( + Msg1010T { + reference_station_id: 0, + glo_epoch_time_ms: 0, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1010_1.in b/testdata/msg1010_1.in new file mode 100644 index 0000000..bf7bef0 --- /dev/null +++ b/testdata/msg1010_1.in @@ -0,0 +1 @@ +Message::Msg1010(Msg1010T {reference_station_id:4095,glo_epoch_time_ms:134217727,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec.push(Msg1010Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,});vec}}) \ No newline at end of file diff --git a/testdata/msg1010_1.rtcm b/testdata/msg1010_1.rtcm new file mode 100644 index 0000000..d3e19c4 Binary files /dev/null and b/testdata/msg1010_1.rtcm differ diff --git a/testdata/msg1010_1.txt b/testdata/msg1010_1.txt new file mode 100644 index 0000000..3470437 --- /dev/null +++ b/testdata/msg1010_1.txt @@ -0,0 +1,323 @@ +Msg1010( + Msg1010T { + reference_station_id: 4095, + glo_epoch_time_ms: 134217727, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + Msg1010Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1010_2.in b/testdata/msg1010_2.in new file mode 100644 index 0000000..e6929d7 --- /dev/null +++ b/testdata/msg1010_2.in @@ -0,0 +1 @@ +Message::Msg1010(Msg1010T {reference_station_id:2327,glo_epoch_time_ms:25031398,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:5,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec}}) \ No newline at end of file diff --git a/testdata/msg1010_2.rtcm b/testdata/msg1010_2.rtcm new file mode 100644 index 0000000..10bcd06 Binary files /dev/null and b/testdata/msg1010_2.rtcm differ diff --git a/testdata/msg1010_2.txt b/testdata/msg1010_2.txt new file mode 100644 index 0000000..bee5bb4 --- /dev/null +++ b/testdata/msg1010_2.txt @@ -0,0 +1,14 @@ +Msg1010( + Msg1010T { + reference_station_id: 2327, + glo_epoch_time_ms: 25031398, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 5, + satellites: DataVec( + [ + , + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1010_3.in b/testdata/msg1010_3.in new file mode 100644 index 0000000..3207263 --- /dev/null +++ b/testdata/msg1010_3.in @@ -0,0 +1 @@ +Message::Msg1010(Msg1010T {reference_station_id:3185,glo_epoch_time_ms:64154730,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:1,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1010Sat {glo_satellite_id:39,glo_l1_code_ind:0,glo_satellite_freq_chan_number:21,l1_pseudorange_m:Some(70677.56),l1_phase_pseudorange_diff_m:Some(129.2465),l1_lock_time_index:37,l1_pseudorange_amb_m:70151435.17199999,l1_cnr_dbhz:Some(54.0),});vec.push(Msg1010Sat {glo_satellite_id:35,glo_l1_code_ind:1,glo_satellite_freq_chan_number:21,l1_pseudorange_m:Some(592077.14),l1_phase_pseudorange_diff_m:Some(-240.4095),l1_lock_time_index:13,l1_pseudorange_amb_m:54562227.356,l1_cnr_dbhz:Some(4.25),});vec.push(Msg1010Sat {glo_satellite_id:45,glo_l1_code_ind:0,glo_satellite_freq_chan_number:4,l1_pseudorange_m:Some(130547.48),l1_phase_pseudorange_diff_m:Some(236.788),l1_lock_time_index:107,l1_pseudorange_amb_m:53363057.524,l1_cnr_dbhz:Some(9.75),});vec}}) \ No newline at end of file diff --git a/testdata/msg1010_3.rtcm b/testdata/msg1010_3.rtcm new file mode 100644 index 0000000..7df3f42 Binary files /dev/null and b/testdata/msg1010_3.rtcm differ diff --git a/testdata/msg1010_3.txt b/testdata/msg1010_3.txt new file mode 100644 index 0000000..f26ce68 --- /dev/null +++ b/testdata/msg1010_3.txt @@ -0,0 +1,61 @@ +Msg1010( + Msg1010T { + reference_station_id: 3185, + glo_epoch_time_ms: 64154730, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 1, + satellites: DataVec( + [ + Msg1010Sat { + glo_satellite_id: 39, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: 21, + l1_pseudorange_m: Some( + 70677.56, + ), + l1_phase_pseudorange_diff_m: Some( + 129.2465, + ), + l1_lock_time_index: 37, + l1_pseudorange_amb_m: 70151435.17199999, + l1_cnr_dbhz: Some( + 54.0, + ), + }, + Msg1010Sat { + glo_satellite_id: 35, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 21, + l1_pseudorange_m: Some( + 592077.14, + ), + l1_phase_pseudorange_diff_m: Some( + -240.4095, + ), + l1_lock_time_index: 13, + l1_pseudorange_amb_m: 54562227.356, + l1_cnr_dbhz: Some( + 4.25, + ), + }, + Msg1010Sat { + glo_satellite_id: 45, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: 4, + l1_pseudorange_m: Some( + 130547.48, + ), + l1_phase_pseudorange_diff_m: Some( + 236.788, + ), + l1_lock_time_index: 107, + l1_pseudorange_amb_m: 53363057.524, + l1_cnr_dbhz: Some( + 9.75, + ), + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1011_0.in b/testdata/msg1011_0.in new file mode 100644 index 0000000..03bcf0f --- /dev/null +++ b/testdata/msg1011_0.in @@ -0,0 +1 @@ +Message::Msg1011(Msg1011T {reference_station_id:0,glo_epoch_time_ms:0,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec.push(Msg1011Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,});vec}}) \ No newline at end of file diff --git a/testdata/msg1011_0.rtcm b/testdata/msg1011_0.rtcm new file mode 100644 index 0000000..5c72471 Binary files /dev/null and b/testdata/msg1011_0.rtcm differ diff --git a/testdata/msg1011_0.txt b/testdata/msg1011_0.txt new file mode 100644 index 0000000..6bde843 --- /dev/null +++ b/testdata/msg1011_0.txt @@ -0,0 +1,633 @@ +Msg1011( + Msg1011T { + reference_station_id: 0, + glo_epoch_time_ms: 0, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + Msg1011Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1011_1.in b/testdata/msg1011_1.in new file mode 100644 index 0000000..a98de22 --- /dev/null +++ b/testdata/msg1011_1.in @@ -0,0 +1 @@ +Message::Msg1011(Msg1011T {reference_station_id:4095,glo_epoch_time_ms:134217727,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec.push(Msg1011Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,});vec}}) \ No newline at end of file diff --git a/testdata/msg1011_1.rtcm b/testdata/msg1011_1.rtcm new file mode 100644 index 0000000..0ec8aa1 Binary files /dev/null and b/testdata/msg1011_1.rtcm differ diff --git a/testdata/msg1011_1.txt b/testdata/msg1011_1.txt new file mode 100644 index 0000000..6d47b76 --- /dev/null +++ b/testdata/msg1011_1.txt @@ -0,0 +1,385 @@ +Msg1011( + Msg1011T { + reference_station_id: 4095, + glo_epoch_time_ms: 134217727, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + Msg1011Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1011_2.in b/testdata/msg1011_2.in new file mode 100644 index 0000000..23f3637 --- /dev/null +++ b/testdata/msg1011_2.in @@ -0,0 +1 @@ +Message::Msg1011(Msg1011T {reference_station_id:1045,glo_epoch_time_ms:79588044,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec}}) \ No newline at end of file diff --git a/testdata/msg1011_2.rtcm b/testdata/msg1011_2.rtcm new file mode 100644 index 0000000..a7e0b1a Binary files /dev/null and b/testdata/msg1011_2.rtcm differ diff --git a/testdata/msg1011_2.txt b/testdata/msg1011_2.txt new file mode 100644 index 0000000..fb982a9 --- /dev/null +++ b/testdata/msg1011_2.txt @@ -0,0 +1,14 @@ +Msg1011( + Msg1011T { + reference_station_id: 1045, + glo_epoch_time_ms: 79588044, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 7, + satellites: DataVec( + [ + , + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1011_3.in b/testdata/msg1011_3.in new file mode 100644 index 0000000..302997f --- /dev/null +++ b/testdata/msg1011_3.in @@ -0,0 +1 @@ +Message::Msg1011(Msg1011T {reference_station_id:42,glo_epoch_time_ms:125814993,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:0,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1011Sat {glo_satellite_id:14,glo_l1_code_ind:0,glo_satellite_freq_chan_number:21,l1_pseudorange_m:Some(71544.36),l1_phase_pseudorange_diff_m:Some(-91.1045),l1_lock_time_index:28,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:Some(100.46),l2_phase_l1_pseudorange_diff_m:Some(186.524),l2_lock_time_index:98,});vec.push(Msg1011Sat {glo_satellite_id:22,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-1,l1_pseudorange_m:Some(407520.96),l1_phase_pseudorange_diff_m:Some(-182.9975),l1_lock_time_index:73,glo_l2_code_ind:2,l2_l1_pseudorange_diff_m:Some(79.0),l2_phase_l1_pseudorange_diff_m:Some(-229.8115),l2_lock_time_index:85,});vec.push(Msg1011Sat {glo_satellite_id:4,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-3,l1_pseudorange_m:Some(326764.60000000003),l1_phase_pseudorange_diff_m:Some(-30.892500000000002),l1_lock_time_index:27,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(98.78),l2_phase_l1_pseudorange_diff_m:Some(-93.788),l2_lock_time_index:119,});vec}}) \ No newline at end of file diff --git a/testdata/msg1011_3.rtcm b/testdata/msg1011_3.rtcm new file mode 100644 index 0000000..30914d3 Binary files /dev/null and b/testdata/msg1011_3.rtcm differ diff --git a/testdata/msg1011_3.txt b/testdata/msg1011_3.txt new file mode 100644 index 0000000..6d3f31a --- /dev/null +++ b/testdata/msg1011_3.txt @@ -0,0 +1,73 @@ +Msg1011( + Msg1011T { + reference_station_id: 42, + glo_epoch_time_ms: 125814993, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1011Sat { + glo_satellite_id: 14, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: 21, + l1_pseudorange_m: Some( + 71544.36, + ), + l1_phase_pseudorange_diff_m: Some( + -91.1045, + ), + l1_lock_time_index: 28, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: Some( + 100.46, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 186.524, + ), + l2_lock_time_index: 98, + }, + Msg1011Sat { + glo_satellite_id: 22, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -1, + l1_pseudorange_m: Some( + 407520.96, + ), + l1_phase_pseudorange_diff_m: Some( + -182.9975, + ), + l1_lock_time_index: 73, + glo_l2_code_ind: 2, + l2_l1_pseudorange_diff_m: Some( + 79.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + -229.8115, + ), + l2_lock_time_index: 85, + }, + Msg1011Sat { + glo_satellite_id: 4, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -3, + l1_pseudorange_m: Some( + 326764.60000000003, + ), + l1_phase_pseudorange_diff_m: Some( + -30.892500000000002, + ), + l1_lock_time_index: 27, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 98.78, + ), + l2_phase_l1_pseudorange_diff_m: Some( + -93.788, + ), + l2_lock_time_index: 119, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1012_0.in b/testdata/msg1012_0.in new file mode 100644 index 0000000..265f0bc --- /dev/null +++ b/testdata/msg1012_0.in @@ -0,0 +1 @@ +Message::Msg1012(Msg1012T {reference_station_id:0,glo_epoch_time_ms:0,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:0,smoothing_interval_index:0,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:0,glo_l1_code_ind:0,glo_satellite_freq_chan_number:-7,l1_pseudorange_m:Some(0.0),l1_phase_pseudorange_diff_m:Some(0.0),l1_lock_time_index:0,l1_pseudorange_amb_m:0.0,l1_cnr_dbhz:None,glo_l2_code_ind:0,l2_l1_pseudorange_diff_m:Some(0.0),l2_phase_l1_pseudorange_diff_m:Some(0.0),l2_lock_time_index:0,l2_cnr_dbhz:None,});vec}}) \ No newline at end of file diff --git a/testdata/msg1012_0.rtcm b/testdata/msg1012_0.rtcm new file mode 100644 index 0000000..2604a3b Binary files /dev/null and b/testdata/msg1012_0.rtcm differ diff --git a/testdata/msg1012_0.txt b/testdata/msg1012_0.txt new file mode 100644 index 0000000..78d50a7 --- /dev/null +++ b/testdata/msg1012_0.txt @@ -0,0 +1,726 @@ +Msg1012( + Msg1012T { + reference_station_id: 0, + glo_epoch_time_ms: 0, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 0, + satellites: DataVec( + [ + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 0, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: -7, + l1_pseudorange_m: Some( + 0.0, + ), + l1_phase_pseudorange_diff_m: Some( + 0.0, + ), + l1_lock_time_index: 0, + l1_pseudorange_amb_m: 0.0, + l1_cnr_dbhz: None, + glo_l2_code_ind: 0, + l2_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 0.0, + ), + l2_lock_time_index: 0, + l2_cnr_dbhz: None, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1012_1.in b/testdata/msg1012_1.in new file mode 100644 index 0000000..8e10223 --- /dev/null +++ b/testdata/msg1012_1.in @@ -0,0 +1 @@ +Message::Msg1012(Msg1012T {reference_station_id:4095,glo_epoch_time_ms:134217727,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:1,smoothing_interval_index:7,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec.push(Msg1012Sat {glo_satellite_id:63,glo_l1_code_ind:1,glo_satellite_freq_chan_number:24,l1_pseudorange_m:None,l1_phase_pseudorange_diff_m:None,l1_lock_time_index:127,l1_pseudorange_amb_m:76147284.332,l1_cnr_dbhz:None,glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:None,l2_phase_l1_pseudorange_diff_m:None,l2_lock_time_index:127,l2_cnr_dbhz:None,});vec}}) \ No newline at end of file diff --git a/testdata/msg1012_1.rtcm b/testdata/msg1012_1.rtcm new file mode 100644 index 0000000..acdc427 Binary files /dev/null and b/testdata/msg1012_1.rtcm differ diff --git a/testdata/msg1012_1.txt b/testdata/msg1012_1.txt new file mode 100644 index 0000000..bbdaffb --- /dev/null +++ b/testdata/msg1012_1.txt @@ -0,0 +1,478 @@ +Msg1012( + Msg1012T { + reference_station_id: 4095, + glo_epoch_time_ms: 134217727, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 7, + satellites: DataVec( + [ + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + Msg1012Sat { + glo_satellite_id: 63, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 24, + l1_pseudorange_m: None, + l1_phase_pseudorange_diff_m: None, + l1_lock_time_index: 127, + l1_pseudorange_amb_m: 76147284.332, + l1_cnr_dbhz: None, + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: None, + l2_phase_l1_pseudorange_diff_m: None, + l2_lock_time_index: 127, + l2_cnr_dbhz: None, + }, + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1012_2.in b/testdata/msg1012_2.in new file mode 100644 index 0000000..07b31a2 --- /dev/null +++ b/testdata/msg1012_2.in @@ -0,0 +1 @@ +Message::Msg1012(Msg1012T {reference_station_id:1747,glo_epoch_time_ms:6309661,synchronous_gnss_msg_flag:0,divergence_free_smoothing_flag:1,smoothing_interval_index:2,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec}}) \ No newline at end of file diff --git a/testdata/msg1012_2.rtcm b/testdata/msg1012_2.rtcm new file mode 100644 index 0000000..2243e26 Binary files /dev/null and b/testdata/msg1012_2.rtcm differ diff --git a/testdata/msg1012_2.txt b/testdata/msg1012_2.txt new file mode 100644 index 0000000..8ab0b8f --- /dev/null +++ b/testdata/msg1012_2.txt @@ -0,0 +1,14 @@ +Msg1012( + Msg1012T { + reference_station_id: 1747, + glo_epoch_time_ms: 6309661, + synchronous_gnss_msg_flag: 0, + divergence_free_smoothing_flag: 1, + smoothing_interval_index: 2, + satellites: DataVec( + [ + , + ], + ), + }, +) \ No newline at end of file diff --git a/testdata/msg1012_3.in b/testdata/msg1012_3.in new file mode 100644 index 0000000..61be17c --- /dev/null +++ b/testdata/msg1012_3.in @@ -0,0 +1 @@ +Message::Msg1012(Msg1012T {reference_station_id:372,glo_epoch_time_ms:108959412,synchronous_gnss_msg_flag:1,divergence_free_smoothing_flag:0,smoothing_interval_index:1,satellites:{#[allow(unused_mut)] let mut vec = DataVec::<_,31>::new();vec.push(Msg1012Sat {glo_satellite_id:25,glo_l1_code_ind:1,glo_satellite_freq_chan_number:19,l1_pseudorange_m:Some(472538.32),l1_phase_pseudorange_diff_m:Some(23.1415),l1_lock_time_index:115,l1_pseudorange_amb_m:62356831.264,l1_cnr_dbhz:Some(31.75),glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:Some(42.559998),l2_phase_l1_pseudorange_diff_m:Some(-200.7535),l2_lock_time_index:30,l2_cnr_dbhz:Some(53.75),});vec.push(Msg1012Sat {glo_satellite_id:32,glo_l1_code_ind:1,glo_satellite_freq_chan_number:-4,l1_pseudorange_m:Some(12397.7),l1_phase_pseudorange_diff_m:Some(-98.16850000000001),l1_lock_time_index:4,l1_pseudorange_amb_m:56360982.103999995,l1_cnr_dbhz:Some(31.0),glo_l2_code_ind:3,l2_l1_pseudorange_diff_m:Some(62.64),l2_phase_l1_pseudorange_diff_m:Some(-130.199),l2_lock_time_index:124,l2_cnr_dbhz:Some(55.0),});vec.push(Msg1012Sat {glo_satellite_id:60,glo_l1_code_ind:0,glo_satellite_freq_chan_number:21,l1_pseudorange_m:Some(429090.10000000003),l1_phase_pseudorange_diff_m:Some(218.106),l1_lock_time_index:28,l1_pseudorange_amb_m:50365132.944,l1_cnr_dbhz:Some(40.5),glo_l2_code_ind:1,l2_l1_pseudorange_diff_m:Some(119.659996),l2_phase_l1_pseudorange_diff_m:Some(141.829),l2_lock_time_index:125,l2_cnr_dbhz:Some(12.75),});vec}}) \ No newline at end of file diff --git a/testdata/msg1012_3.rtcm b/testdata/msg1012_3.rtcm new file mode 100644 index 0000000..5f61037 Binary files /dev/null and b/testdata/msg1012_3.rtcm differ diff --git a/testdata/msg1012_3.txt b/testdata/msg1012_3.txt new file mode 100644 index 0000000..b39bb5b --- /dev/null +++ b/testdata/msg1012_3.txt @@ -0,0 +1,94 @@ +Msg1012( + Msg1012T { + reference_station_id: 372, + glo_epoch_time_ms: 108959412, + synchronous_gnss_msg_flag: 1, + divergence_free_smoothing_flag: 0, + smoothing_interval_index: 1, + satellites: DataVec( + [ + Msg1012Sat { + glo_satellite_id: 25, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: 19, + l1_pseudorange_m: Some( + 472538.32, + ), + l1_phase_pseudorange_diff_m: Some( + 23.1415, + ), + l1_lock_time_index: 115, + l1_pseudorange_amb_m: 62356831.264, + l1_cnr_dbhz: Some( + 31.75, + ), + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: Some( + 42.559998, + ), + l2_phase_l1_pseudorange_diff_m: Some( + -200.7535, + ), + l2_lock_time_index: 30, + l2_cnr_dbhz: Some( + 53.75, + ), + }, + Msg1012Sat { + glo_satellite_id: 32, + glo_l1_code_ind: 1, + glo_satellite_freq_chan_number: -4, + l1_pseudorange_m: Some( + 12397.7, + ), + l1_phase_pseudorange_diff_m: Some( + -98.16850000000001, + ), + l1_lock_time_index: 4, + l1_pseudorange_amb_m: 56360982.103999995, + l1_cnr_dbhz: Some( + 31.0, + ), + glo_l2_code_ind: 3, + l2_l1_pseudorange_diff_m: Some( + 62.64, + ), + l2_phase_l1_pseudorange_diff_m: Some( + -130.199, + ), + l2_lock_time_index: 124, + l2_cnr_dbhz: Some( + 55.0, + ), + }, + Msg1012Sat { + glo_satellite_id: 60, + glo_l1_code_ind: 0, + glo_satellite_freq_chan_number: 21, + l1_pseudorange_m: Some( + 429090.10000000003, + ), + l1_phase_pseudorange_diff_m: Some( + 218.106, + ), + l1_lock_time_index: 28, + l1_pseudorange_amb_m: 50365132.944, + l1_cnr_dbhz: Some( + 40.5, + ), + glo_l2_code_ind: 1, + l2_l1_pseudorange_diff_m: Some( + 119.659996, + ), + l2_phase_l1_pseudorange_diff_m: Some( + 141.829, + ), + l2_lock_time_index: 125, + l2_cnr_dbhz: Some( + 12.75, + ), + }, + ], + ), + }, +) \ No newline at end of file diff --git a/tests/msg1002_tests.rs b/tests/msg1002_tests.rs new file mode 100644 index 0000000..d9b048b --- /dev/null +++ b/tests/msg1002_tests.rs @@ -0,0 +1,3 @@ +#[macro_use] +mod common; +test_msg![msg1002_0, msg1002_1, msg1002_2, msg1002_3]; diff --git a/tests/msg1003_tests.rs b/tests/msg1003_tests.rs new file mode 100644 index 0000000..d7d2732 --- /dev/null +++ b/tests/msg1003_tests.rs @@ -0,0 +1,3 @@ +#[macro_use] +mod common; +test_msg![msg1003_0, msg1003_1, msg1003_2, msg1003_3]; diff --git a/tests/msg1004_tests.rs b/tests/msg1004_tests.rs new file mode 100644 index 0000000..d3550f5 --- /dev/null +++ b/tests/msg1004_tests.rs @@ -0,0 +1,3 @@ +#[macro_use] +mod common; +test_msg![msg1004_0, msg1004_1, msg1004_2, msg1004_3]; diff --git a/tests/msg1009_tests.rs b/tests/msg1009_tests.rs new file mode 100644 index 0000000..fb065a8 --- /dev/null +++ b/tests/msg1009_tests.rs @@ -0,0 +1,3 @@ +#[macro_use] +mod common; +test_msg![msg1009_0, msg1009_1, msg1009_2, msg1009_3]; diff --git a/tests/msg1010_tests.rs b/tests/msg1010_tests.rs new file mode 100644 index 0000000..2d4f264 --- /dev/null +++ b/tests/msg1010_tests.rs @@ -0,0 +1,3 @@ +#[macro_use] +mod common; +test_msg![msg1010_0, msg1010_1, msg1010_2, msg1010_3]; diff --git a/tests/msg1011_tests.rs b/tests/msg1011_tests.rs new file mode 100644 index 0000000..b5be098 --- /dev/null +++ b/tests/msg1011_tests.rs @@ -0,0 +1,3 @@ +#[macro_use] +mod common; +test_msg![msg1011_0, msg1011_1, msg1011_2, msg1011_3]; diff --git a/tests/msg1012_tests.rs b/tests/msg1012_tests.rs new file mode 100644 index 0000000..b00594b --- /dev/null +++ b/tests/msg1012_tests.rs @@ -0,0 +1,3 @@ +#[macro_use] +mod common; +test_msg![msg1012_0, msg1012_1, msg1012_2, msg1012_3];