diff --git a/src/cfdp/pdu/mod.rs b/src/cfdp/pdu/mod.rs index 6f03f32..d70bd50 100644 --- a/src/cfdp/pdu/mod.rs +++ b/src/cfdp/pdu/mod.rs @@ -1,4 +1,5 @@ //! CFDP Packet Data Unit (PDU) support. +use crate::cfdp::pdu::ack::InvalidAckedDirectiveCodeError; use crate::cfdp::*; use crate::crc::CRC_CCITT_FALSE; use crate::util::{UnsignedByteField, UnsignedByteFieldU8, UnsignedEnum}; @@ -85,6 +86,15 @@ pub enum PduError { TlvLv(#[from] TlvLvError), } +impl From for PduError { + fn from(value: InvalidAckedDirectiveCodeError) -> Self { + Self::InvalidDirectiveType { + found: value.0 as u8, + expected: None, + } + } +} + pub trait WritablePduPacket { fn len_written(&self) -> usize; fn write_to_bytes(&self, buf: &mut [u8]) -> Result;