diff --git a/src/lib.rs b/src/lib.rs index ab5ff9f..ad077ac 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1011,6 +1011,20 @@ impl CcsdsPacketId { psc: packet.psc(), } } + + pub const fn raw(&self) -> u32 { + ((self.packet_id.raw() as u32) << 16) | self.psc.raw() as u32 + } +} + +impl From for CcsdsPacketId { + #[inline] + fn from(header: SpacePacketHeader) -> Self { + Self { + packet_id: header.packet_id, + psc: header.psc, + } + } } /// CCSDS packet creator with optional support for a CRC16 CCITT checksum appended to the