/// This object is the abstraction for the CCSDS Unsegmented Time Code (CUC) using the CCSDS epoch
/// It is possible to provide subsecond accuracy using the fractional field with various available
/// type (generally seconds) to 4 bytes and the width of the fractions type to 3 bytes. This limits
/// Please note that this object does not implement the [CcsdsTimeProvider] trait by itself because
/// to be converted to a [CucTimeWithLeapSecs] object using the [Self::to_leap_sec_helper] method.
/// This time code is not UTC based. Conversion to UTC based times, for example a UNIX timestamp,
/// let written = timestamp_now.write_to_bytes(&mut raw_stamp).expect("writing timestamp failed");
pub fn new_with_fractions(counter: u32, fractions: FractionalPart) -> Result<Self, CucError> {
pub fn new_with_fine_fractions(counter: u32, subsec_fractions: u32) -> Result<Self, CucError> {
/// The counter width will always be set to 4 bytes because the normal CCSDS epoch will overflow