diff --git a/satrs-core/src/cfdp/dest.rs b/satrs-core/src/cfdp/dest.rs new file mode 100644 index 0000000..13e5cbe --- /dev/null +++ b/satrs-core/src/cfdp/dest.rs @@ -0,0 +1,13 @@ +use super::{TransactionStep, State}; + +pub struct DestinationHandler { + step: TransactionStep, + state: State +} + +impl DestinationHandler { + + pub fn state_machine() {} + + +} diff --git a/satrs-core/src/cfdp/mod.rs b/satrs-core/src/cfdp/mod.rs new file mode 100644 index 0000000..f62bd14 --- /dev/null +++ b/satrs-core/src/cfdp/mod.rs @@ -0,0 +1,25 @@ +pub mod dest; + +#[derive(Copy, Clone, PartialEq, Eq)] +pub enum TransactionStep { + Idle = 0, + TransactionStart = 1, + ReceivingFileDataPdus = 2, + SendingAckPdu = 3, + TransferCompletion = 4, + SendingFinishedPdu = 5 +} + +#[derive(Copy, Clone, PartialEq, Eq)] +pub enum State { + Idle = 0, + BusyClass1Nacked = 2, + BusyClass2Acked = 3, +} + +#[cfg(test)] +mod tests { + #[test] + fn basic_test() { + } +} diff --git a/satrs-core/src/lib.rs b/satrs-core/src/lib.rs index 43c8cfb..6484cc8 100644 --- a/satrs-core/src/lib.rs +++ b/satrs-core/src/lib.rs @@ -40,6 +40,7 @@ pub mod request; pub mod res_code; pub mod seq_count; pub mod tmtc; +pub mod cfdp; pub use spacepackets;