Add CUC impl #4

Merged
muellerr merged 28 commits from add_cuc_time_impl into main 2023-01-09 11:14:42 +01:00
3 changed files with 10 additions and 11 deletions
Showing only changes of commit 177ddba9c5 - Show all commits

View File

@ -286,13 +286,13 @@ impl<TYPE: ToBeBytes> EcssEnumeration for GenericEcssEnumWrapper<TYPE> {
}
fn write_to_be_bytes(&self, buf: &mut [u8]) -> Result<(), ByteConversionError> {
if buf.len() < self.byte_width() as usize {
if buf.len() < self.byte_width() {
return Err(ByteConversionError::ToSliceTooSmall(SizeMissmatch {
found: buf.len(),
expected: self.byte_width() as usize,
expected: self.byte_width(),
}));
}
buf[0..self.byte_width() as usize].copy_from_slice(self.val.to_be_bytes().as_ref());
buf[0..self.byte_width()].copy_from_slice(self.val.to_be_bytes().as_ref());
Ok(())
}
}

View File

@ -338,9 +338,8 @@ impl<ProvidesDaysLen: ProvidesDaysLength> TimeProvider<ProvidesDaysLen> {
unix_seconds: 0,
submillis_precision: None,
};
let unix_days_seconds =
ccsds_to_unix_days(ccsds_days.into()) as i64 * SECONDS_PER_DAY as i64;
provider.setup(unix_days_seconds as i64, ms_of_day.into());
let unix_days_seconds = ccsds_to_unix_days(ccsds_days.into()) * SECONDS_PER_DAY as i64;
provider.setup(unix_days_seconds, ms_of_day.into());
Ok(provider)
}
@ -552,7 +551,7 @@ impl<ProvidesDaysLen: ProvidesDaysLength> CcsdsTimeProvider for TimeProvider<Pro
}
fn date_time(&self) -> Option<DateTime<Utc>> {
self.calc_date_time((self.ms_of_day % 1000) as u32)
self.calc_date_time(self.ms_of_day % 1000)
}
}

View File

@ -206,7 +206,7 @@ impl TimeProviderCcsdsEpoch {
WidthCounterPair(4, counter),
Some(FractionalPart(
FractionalResolution::SixtyNs,
subsec_fractions as u32,
subsec_fractions,
)),
)
}
@ -431,9 +431,9 @@ impl TimeReader for TimeProviderCcsdsEpoch {
3 => {
let mut tmp_buf: [u8; 4] = [0; 4];
tmp_buf[1..4].copy_from_slice(&buf[current_idx..current_idx + 3]);
u32::from_be_bytes(tmp_buf) as u32
u32::from_be_bytes(tmp_buf)
}
4 => u32::from_be_bytes(buf[current_idx..current_idx + 4].try_into().unwrap()) as u32,
4 => u32::from_be_bytes(buf[current_idx..current_idx + 4].try_into().unwrap()),
_ => panic!("unreachable match arm"),
};
current_idx += cntr_len as usize;
@ -458,7 +458,7 @@ impl TimeReader for TimeProviderCcsdsEpoch {
tmp_buf[1..4].copy_from_slice(&buf[current_idx..current_idx + 3]);
fractions = Some(FractionalPart(
fractions_len.try_into().unwrap(),
u32::from_be_bytes(tmp_buf) as u32,
u32::from_be_bytes(tmp_buf),
))
}
_ => panic!("unreachable match arm"),