From 5fffcc011feb500ce9bd5fc52008836085b16c9c Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 25 Aug 2026 14:01:49 +0200 Subject: [PATCH] Rename example models crates to types - satrs-example/models (package "models") -> satrs-example/types ("types") - embedded-examples/models (package "embedded-models") -> embedded-examples/types ("embedded-types") Updates all path dependencies and use/models:: references accordingly. Co-Authored-By: Claude Sonnet 5 --- Cargo.toml | 4 +- embedded-examples/embedded-client/Cargo.toml | 2 +- .../embedded-client/src/bin/stm32f3-client.rs | 6 +- .../embedded-client/src/bin/stm32h7-client.rs | 6 +- .../stm32f3-disco-rtic/Cargo.lock | 24 ++-- .../stm32f3-disco-rtic/Cargo.toml | 2 +- .../stm32f3-disco-rtic/src/main.rs | 4 +- .../stm32h7-nucleo-rtic/Cargo.lock | 24 ++-- .../stm32h7-nucleo-rtic/Cargo.toml | 2 +- .../stm32h7-nucleo-rtic/src/main.rs | 8 +- .../{models => types}/Cargo.toml | 2 +- .../{models => types}/src/lib.rs | 0 satrs-example/Cargo.toml | 2 +- satrs-example/client/Cargo.toml | 2 +- satrs-example/client/src/main.rs | 111 +++++++++--------- satrs-example/minisim/Cargo.toml | 2 +- satrs-example/minisim/src/acs.rs | 4 +- satrs-example/minisim/src/eps.rs | 4 +- satrs-example/minisim/src/lib.rs | 4 +- satrs-example/src/acs/mgm.rs | 42 +++---- satrs-example/src/acs/mgm_assembly.rs | 66 +++++------ satrs-example/src/acs/subsystem.rs | 76 ++++++------ satrs-example/src/ccsds.rs | 2 +- satrs-example/src/config.rs | 4 +- satrs-example/src/control.rs | 4 +- satrs-example/src/eps/mod.rs | 2 +- satrs-example/src/eps/pcdu.rs | 34 +++--- satrs-example/src/event_manager.rs | 2 +- satrs-example/src/interface/udp.rs | 4 +- satrs-example/src/lib.rs | 4 +- satrs-example/src/main.rs | 4 +- satrs-example/src/tmtc/tc_source.rs | 2 +- satrs-example/src/tmtc/tm_sink.rs | 2 +- satrs-example/{models => types}/Cargo.toml | 2 +- .../{models => types}/src/acs/ctrl.rs | 0 .../{models => types}/src/acs/mgm.rs | 0 .../{models => types}/src/acs/mgm_assembly.rs | 0 .../{models => types}/src/acs/mgt.rs | 0 .../{models => types}/src/acs/mod.rs | 0 .../{models => types}/src/acs/subsystem.rs | 0 satrs-example/{models => types}/src/ccsds.rs | 0 .../{models => types}/src/control.rs | 0 satrs-example/{models => types}/src/lib.rs | 0 satrs-example/{models => types}/src/pcdu.rs | 0 44 files changed, 230 insertions(+), 233 deletions(-) rename embedded-examples/{models => types}/Cargo.toml (92%) rename embedded-examples/{models => types}/src/lib.rs (100%) rename satrs-example/{models => types}/Cargo.toml (95%) rename satrs-example/{models => types}/src/acs/ctrl.rs (100%) rename satrs-example/{models => types}/src/acs/mgm.rs (100%) rename satrs-example/{models => types}/src/acs/mgm_assembly.rs (100%) rename satrs-example/{models => types}/src/acs/mgt.rs (100%) rename satrs-example/{models => types}/src/acs/mod.rs (100%) rename satrs-example/{models => types}/src/acs/subsystem.rs (100%) rename satrs-example/{models => types}/src/ccsds.rs (100%) rename satrs-example/{models => types}/src/control.rs (100%) rename satrs-example/{models => types}/src/lib.rs (100%) rename satrs-example/{models => types}/src/pcdu.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index 525944a..f8a4267 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,12 +4,12 @@ members = [ "satrs", "satrs-mib", "satrs-example", - "satrs-example/models", + "satrs-example/types", "satrs-example/client", "satrs-example/minisim", "satrs-shared", "embedded-examples/embedded-client", - "embedded-examples/models", + "embedded-examples/types", ] exclude = [ diff --git a/embedded-examples/embedded-client/Cargo.toml b/embedded-examples/embedded-client/Cargo.toml index bc4946b..face393 100644 --- a/embedded-examples/embedded-client/Cargo.toml +++ b/embedded-examples/embedded-client/Cargo.toml @@ -9,7 +9,7 @@ serialport = "4" toml = "0.9" serde = { version = "1", features = ["derive"] } spacepackets = { version = "0.18" } -embedded-models = { path = "../models" } +embedded-types = { path = "../types" } tmtc-utils = { git = "https://egit.irs.uni-stuttgart.de/rust/tmtc-utils.git", version = "0.1", rev = "d8015379a45e77400dd9c71afbf22ca415ed67d1" } postcard = { version = "1", features = ["alloc"] } anyhow = "1" diff --git a/embedded-examples/embedded-client/src/bin/stm32f3-client.rs b/embedded-examples/embedded-client/src/bin/stm32f3-client.rs index 2d6d93c..5fb8d3d 100644 --- a/embedded-examples/embedded-client/src/bin/stm32f3-client.rs +++ b/embedded-examples/embedded-client/src/bin/stm32f3-client.rs @@ -4,7 +4,7 @@ use anyhow::bail; use clap::Parser; use cobs::CobsDecoderOwned; use embedded_client::setup_logger; -use embedded_models::stm32f3; +use embedded_types::stm32f3; use spacepackets::{CcsdsPacketCreatorOwned, CcsdsPacketReader, SpHeader}; use tmtc_utils::transport::serial::PacketTransportSerialCobs; @@ -34,7 +34,7 @@ fn main() -> anyhow::Result<()> { let mut transport = PacketTransportSerialCobs::new(serial, CobsDecoderOwned::new(1024)); if cli.ping { - let tc = create_stm32f3_tc(&embedded_models::stm32f3::Request::Ping); + let tc = create_stm32f3_tc(&embedded_types::stm32f3::Request::Ping); log::info!( "Sending ping request with TC ID: {:#010x}", tc.ccsds_packet_id_and_psc().raw() @@ -66,6 +66,6 @@ fn main() -> anyhow::Result<()> { fn create_stm32f3_tc(request: &stm32f3::Request) -> CcsdsPacketCreatorOwned { let req_raw = postcard::to_allocvec(&request).unwrap(); - let sp_header = SpHeader::new_from_apid(embedded_models::stm32f3::PUS_APID); + let sp_header = SpHeader::new_from_apid(embedded_types::stm32f3::PUS_APID); CcsdsPacketCreatorOwned::new_tc_with_checksum(sp_header, &req_raw).unwrap() } diff --git a/embedded-examples/embedded-client/src/bin/stm32h7-client.rs b/embedded-examples/embedded-client/src/bin/stm32h7-client.rs index 93f4f5a..bfb6af9 100644 --- a/embedded-examples/embedded-client/src/bin/stm32h7-client.rs +++ b/embedded-examples/embedded-client/src/bin/stm32h7-client.rs @@ -3,7 +3,7 @@ use std::{net::UdpSocket, time::Duration}; use anyhow::{Context as _, bail}; use clap::Parser; use embedded_client::setup_logger; -use embedded_models::{TmHeader, stm32h7}; +use embedded_types::{TmHeader, stm32h7}; use spacepackets::{CcsdsPacketCreatorOwned, CcsdsPacketReader, SpHeader}; use tmtc_utils::transport::udp::PacketTransportUdp; @@ -40,7 +40,7 @@ fn main() -> anyhow::Result<()> { .with_context(|| "crateing UDP transport failed")?; if cli.ping { - let tc = create_stm32h7_tc(&embedded_models::stm32h7::Request::Ping); + let tc = create_stm32h7_tc(&embedded_types::stm32h7::Request::Ping); log::info!( "Sending ping request with TC ID: {:#010x}", tc.ccsds_packet_id_and_psc().raw() @@ -90,6 +90,6 @@ fn main() -> anyhow::Result<()> { fn create_stm32h7_tc(request: &stm32h7::Request) -> CcsdsPacketCreatorOwned { let req_raw = postcard::to_allocvec(&request).unwrap(); - let sp_header = SpHeader::new_from_apid(embedded_models::stm32h7::PUS_APID); + let sp_header = SpHeader::new_from_apid(embedded_types::stm32h7::PUS_APID); CcsdsPacketCreatorOwned::new_tc_with_checksum(sp_header, &req_raw).unwrap() } diff --git a/embedded-examples/stm32f3-disco-rtic/Cargo.lock b/embedded-examples/stm32f3-disco-rtic/Cargo.lock index 0cd6c1d..329491a 100644 --- a/embedded-examples/stm32f3-disco-rtic/Cargo.lock +++ b/embedded-examples/stm32f3-disco-rtic/Cargo.lock @@ -633,17 +633,6 @@ dependencies = [ "embedded-io 0.7.1", ] -[[package]] -name = "embedded-models" -version = "0.1.0" -dependencies = [ - "arbitrary-int", - "defmt 1.1.1", - "postcard", - "serde", - "spacepackets", -] - [[package]] name = "embedded-storage" version = "0.3.1" @@ -659,6 +648,17 @@ dependencies = [ "embedded-storage", ] +[[package]] +name = "embedded-types" +version = "0.1.0" +dependencies = [ + "arbitrary-int", + "defmt 1.1.1", + "postcard", + "serde", + "spacepackets", +] + [[package]] name = "enumset" version = "1.1.13" @@ -1164,7 +1164,7 @@ dependencies = [ "embassy-sync", "embassy-time", "embedded-hal 1.0.0", - "embedded-models", + "embedded-types", "enumset", "heapless 0.9.3", "panic-probe", diff --git a/embedded-examples/stm32f3-disco-rtic/Cargo.toml b/embedded-examples/stm32f3-disco-rtic/Cargo.toml index 9c33521..062e628 100644 --- a/embedded-examples/stm32f3-disco-rtic/Cargo.toml +++ b/embedded-examples/stm32f3-disco-rtic/Cargo.toml @@ -7,7 +7,7 @@ default-run = "satrs-stm32f3-disco-rtic" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -embedded-models = { path = "../models", features = ["defmt"] } +embedded-types = { path = "../types", features = ["defmt"] } cortex-m = { version = "0.7", features = ["critical-section-single-core"] } cortex-m-rt = "0.7" defmt = "1" diff --git a/embedded-examples/stm32f3-disco-rtic/src/main.rs b/embedded-examples/stm32f3-disco-rtic/src/main.rs index 3946d78..8bbb5c9 100644 --- a/embedded-examples/stm32f3-disco-rtic/src/main.rs +++ b/embedded-examples/stm32f3-disco-rtic/src/main.rs @@ -3,7 +3,7 @@ use arbitrary_int::u14; use cortex_m_semihosting::debug::{self, EXIT_FAILURE, EXIT_SUCCESS}; use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; -use embedded_models::{create_tm_packet, stm32f3, tm_size, TmHeader}; +use embedded_types::{create_tm_packet, stm32f3, tm_size, TmHeader}; use spacepackets::{CcsdsPacketCreationError, CcsdsPacketIdAndPsc, SpHeader}; use defmt_rtt as _; // global logger @@ -50,7 +50,7 @@ mod app { use super::*; use arbitrary_int::u14; use embassy_time::Timer; - use embedded_models::stm32f3::{Request, Response}; + use embedded_types::stm32f3::{Request, Response}; use rtic::Mutex; use rtic_sync::{ channel::{Receiver, Sender}, diff --git a/embedded-examples/stm32h7-nucleo-rtic/Cargo.lock b/embedded-examples/stm32h7-nucleo-rtic/Cargo.lock index 153f813..36b406c 100644 --- a/embedded-examples/stm32h7-nucleo-rtic/Cargo.lock +++ b/embedded-examples/stm32h7-nucleo-rtic/Cargo.lock @@ -575,17 +575,6 @@ dependencies = [ "embedded-io", ] -[[package]] -name = "embedded-models" -version = "0.1.0" -dependencies = [ - "arbitrary-int", - "defmt 1.1.0", - "postcard", - "serde", - "spacepackets", -] - [[package]] name = "embedded-nal" version = "0.9.0" @@ -620,6 +609,17 @@ dependencies = [ "embedded-storage", ] +[[package]] +name = "embedded-types" +version = "0.1.0" +dependencies = [ + "arbitrary-int", + "defmt 1.1.0", + "postcard", + "serde", + "spacepackets", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -1032,7 +1032,7 @@ dependencies = [ "embassy-sync", "embassy-time", "embedded-alloc", - "embedded-models", + "embedded-types", "panic-probe", "postcard", "rtic", diff --git a/embedded-examples/stm32h7-nucleo-rtic/Cargo.toml b/embedded-examples/stm32h7-nucleo-rtic/Cargo.toml index ff80346..126406e 100644 --- a/embedded-examples/stm32h7-nucleo-rtic/Cargo.toml +++ b/embedded-examples/stm32h7-nucleo-rtic/Cargo.toml @@ -14,7 +14,7 @@ name = "integration" harness = false [dependencies] -embedded-models = { path = "../models", features = ["defmt"] } +embedded-types = { path = "../types", features = ["defmt"] } cortex-m = { version = "0.7", features = ["critical-section-single-core"] } arbitrary-int = "2" diff --git a/embedded-examples/stm32h7-nucleo-rtic/src/main.rs b/embedded-examples/stm32h7-nucleo-rtic/src/main.rs index 3c262c5..3886e5f 100644 --- a/embedded-examples/stm32h7-nucleo-rtic/src/main.rs +++ b/embedded-examples/stm32h7-nucleo-rtic/src/main.rs @@ -39,10 +39,10 @@ mod app { use embassy_time::Duration; use embassy_time::Timer; use embassy_time::WithTimeout as _; - use embedded_models::create_tm_packet; - use embedded_models::stm32h7; - use embedded_models::tm_size; - use embedded_models::TmHeader; + use embedded_types::create_tm_packet; + use embedded_types::stm32h7; + use embedded_types::tm_size; + use embedded_types::TmHeader; use spacepackets::CcsdsPacketCreationError; use spacepackets::CcsdsPacketIdAndPsc; use spacepackets::CcsdsPacketReader; diff --git a/embedded-examples/models/Cargo.toml b/embedded-examples/types/Cargo.toml similarity index 92% rename from embedded-examples/models/Cargo.toml rename to embedded-examples/types/Cargo.toml index 57b8164..3f6d446 100644 --- a/embedded-examples/models/Cargo.toml +++ b/embedded-examples/types/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "embedded-models" +name = "embedded-types" version = "0.1.0" edition = "2024" diff --git a/embedded-examples/models/src/lib.rs b/embedded-examples/types/src/lib.rs similarity index 100% rename from embedded-examples/models/src/lib.rs rename to embedded-examples/types/src/lib.rs diff --git a/satrs-example/Cargo.toml b/satrs-example/Cargo.toml index 2c285ec..e7a8477 100644 --- a/satrs-example/Cargo.toml +++ b/satrs-example/Cargo.toml @@ -29,7 +29,7 @@ serde = { version = "1", features = ["derive"] } serde_json = "1" satrs = { path = "../satrs", features = ["test_util"] } -models = { path = "./models" } +types = { path = "./types" } satrs-minisim = { path = "./minisim" } satrs-mib = { path = "../satrs-mib" } diff --git a/satrs-example/client/Cargo.toml b/satrs-example/client/Cargo.toml index 97ceb43..47df34b 100644 --- a/satrs-example/client/Cargo.toml +++ b/satrs-example/client/Cargo.toml @@ -10,7 +10,7 @@ fern = "0.7" humantime = "2" serde = { version = "1" } satrs-example = { path = ".." } -models = { path = "../models" } +types = { path = "../types" } spacepackets = { version = "0.18", default-features = false } bitbybit = "2" arbitrary-int = "2" diff --git a/satrs-example/client/src/main.rs b/satrs-example/client/src/main.rs index d390467..dffca66 100644 --- a/satrs-example/client/src/main.rs +++ b/satrs-example/client/src/main.rs @@ -1,7 +1,6 @@ use anyhow::bail; use arbitrary_int::u11; use clap::Parser as _; -use models::{Apid, MessageType, TcHeader, acs::mgm::request::HkRequest}; use satrs_example::config::{OBSW_SERVER_ADDR, SERVER_PORT}; use spacepackets::{CcsdsPacketIdAndPsc, SpacePacketHeader}; use std::{ @@ -12,6 +11,7 @@ use std::{ }, time::{Duration, SystemTime}, }; +use types::{Apid, MessageType, TcHeader, acs::mgm::request::HkRequest}; #[derive(clap::Parser)] pub struct Cli { @@ -33,11 +33,11 @@ enum Commands { impl Commands { #[inline] - pub fn target_id(&self) -> models::ComponentId { + pub fn target_id(&self) -> types::ComponentId { match self { - Commands::Mgm0(_mgm_args) => models::ComponentId::AcsMgm0, - Commands::Mgm1(_mgm_args) => models::ComponentId::AcsMgm1, - Commands::MgmAssy(_mgm_assembly_args) => models::ComponentId::AcsMgmAssembly, + Commands::Mgm0(_mgm_args) => types::ComponentId::AcsMgm0, + Commands::Mgm1(_mgm_args) => types::ComponentId::AcsMgm1, + Commands::MgmAssy(_mgm_assembly_args) => types::ComponentId::AcsMgmAssembly, } } } @@ -104,10 +104,10 @@ fn main() -> anyhow::Result<()> { client.set_read_timeout(Some(Duration::from_millis(200)))?; if cli.ping { - let request = models::ccsds::CcsdsTcPacketOwned::new_with_request( + let request = types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Tmtc as u16)), - TcHeader::new(models::ComponentId::Controller, models::MessageType::Ping), - models::control::request::Request::Ping, + TcHeader::new(types::ComponentId::Controller, types::MessageType::Ping), + types::control::request::Request::Ping, ); let sent_tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&request.sp_header); log::info!("sending ping request with TC ID {:#010x}", sent_tc_id.raw()); @@ -115,10 +115,10 @@ fn main() -> anyhow::Result<()> { client.send_to(&request_packet, addr).unwrap(); } if cli.test_event { - let request = models::ccsds::CcsdsTcPacketOwned::new_with_request( + let request = types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Tmtc as u16)), - TcHeader::new(models::ComponentId::Controller, models::MessageType::Event), - models::control::request::Request::TestEvent, + TcHeader::new(types::ComponentId::Controller, types::MessageType::Event), + types::control::request::Request::TestEvent, ); let sent_tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&request.sp_header); log::info!( @@ -133,10 +133,10 @@ fn main() -> anyhow::Result<()> { match cmd { Commands::Mgm0(args) | Commands::Mgm1(args) => { if args.ping { - let request = models::ccsds::CcsdsTcPacketOwned::new_with_request( + let request = types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Acs as u16)), - TcHeader::new(cmd.target_id(), models::MessageType::Ping), - models::acs::mgm::request::Request::Ping, + TcHeader::new(cmd.target_id(), types::MessageType::Ping), + types::acs::mgm::request::Request::Ping, ); let sent_tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&request.sp_header); log::info!( @@ -148,12 +148,12 @@ fn main() -> anyhow::Result<()> { client.send_to(&request_packet, addr).unwrap(); } if args.request_hk { - let request = models::ccsds::CcsdsTcPacketOwned::new_with_request( + let request = types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Acs as u16)), - TcHeader::new(target_id, models::MessageType::Hk), - models::acs::mgm::request::Request::Hk(HkRequest { - id: models::acs::mgm::request::HkId::Sensor, - req_type: models::HkRequestType::OneShot, + TcHeader::new(target_id, types::MessageType::Hk), + types::acs::mgm::request::Request::Hk(HkRequest { + id: types::acs::mgm::request::HkId::Sensor, + req_type: types::HkRequestType::OneShot, }), ); let sent_tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&request.sp_header); @@ -167,15 +167,15 @@ fn main() -> anyhow::Result<()> { } if let Some(mode) = args.mode { let dev_mode = match mode { - DeviceModeSelect::Off => models::DeviceMode::Off, - DeviceModeSelect::Normal => models::DeviceMode::Normal, + DeviceModeSelect::Off => types::DeviceMode::Off, + DeviceModeSelect::Normal => types::DeviceMode::Normal, }; - let request = models::ccsds::CcsdsTcPacketOwned::new_with_request( + let request = types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Acs as u16)), - TcHeader::new(target_id, models::MessageType::Mode), - models::acs::mgm::request::Request::Mode( - models::acs::mgm::request::ModeRequest::SetMode(dev_mode), + TcHeader::new(target_id, types::MessageType::Mode), + types::acs::mgm::request::Request::Mode( + types::acs::mgm::request::ModeRequest::SetMode(dev_mode), ), ); let sent_tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&request.sp_header); @@ -190,10 +190,10 @@ fn main() -> anyhow::Result<()> { } Commands::MgmAssy(mgm_assembly_args) => { if mgm_assembly_args.ping { - let request = models::ccsds::CcsdsTcPacketOwned::new_with_request( + let request = types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Acs as u16)), - TcHeader::new(cmd.target_id(), models::MessageType::Ping), - models::acs::mgm::request::Request::Ping, + TcHeader::new(cmd.target_id(), types::MessageType::Ping), + types::acs::mgm::request::Request::Ping, ); let sent_tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&request.sp_header); log::info!( @@ -207,21 +207,21 @@ fn main() -> anyhow::Result<()> { if let Some(mode) = mgm_assembly_args.mode { let assembly_mode = match mode { AssemblyModeSelect::NoModeKeeping => { - models::acs::mgm_assembly::Mode::NoModeKeeping + types::acs::mgm_assembly::Mode::NoModeKeeping } AssemblyModeSelect::Off => { - models::acs::mgm_assembly::Mode::Device(models::DeviceMode::Off) + types::acs::mgm_assembly::Mode::Device(types::DeviceMode::Off) } AssemblyModeSelect::Normal => { - models::acs::mgm_assembly::Mode::Device(models::DeviceMode::Normal) + types::acs::mgm_assembly::Mode::Device(types::DeviceMode::Normal) } }; - let request = models::ccsds::CcsdsTcPacketOwned::new_with_request( + let request = types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Acs as u16)), - TcHeader::new(target_id, models::MessageType::Mode), - models::acs::mgm_assembly::request::Request::Mode( - models::acs::mgm_assembly::request::ModeRequest::SetMode(assembly_mode), + TcHeader::new(target_id, types::MessageType::Mode), + types::acs::mgm_assembly::request::Request::Mode( + types::acs::mgm_assembly::request::ModeRequest::SetMode(assembly_mode), ), ); let sent_tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&request.sp_header); @@ -262,8 +262,7 @@ fn main() -> anyhow::Result<()> { fn handle_raw_tm_packet(data: &[u8]) -> anyhow::Result<()> { match spacepackets::CcsdsPacketReader::new_with_checksum(data) { Ok(packet) => { - let tm_header_result = - postcard::take_from_bytes::(packet.user_data()); + let tm_header_result = postcard::take_from_bytes::(packet.user_data()); if let Err(e) = tm_header_result { bail!("Failed to deserialize TM header: {}", e); } @@ -283,7 +282,7 @@ fn handle_raw_tm_packet(data: &[u8]) -> anyhow::Result<()> { ); } if tm_header.message_type == MessageType::Event { - let response = postcard::from_bytes::(remainder); + let response = postcard::from_bytes::(remainder); log::info!( "Received event from {:?}: {:?}", tm_header.sender_id, @@ -292,43 +291,43 @@ fn handle_raw_tm_packet(data: &[u8]) -> anyhow::Result<()> { return Ok(()); } match tm_header.sender_id { - models::ComponentId::EpsPcdu => { + types::ComponentId::EpsPcdu => { let response = - postcard::from_bytes::(remainder); + postcard::from_bytes::(remainder); log::info!("Received response from PCDU: {:?}", response.unwrap()); } - models::ComponentId::Controller => { + types::ComponentId::Controller => { let response = - postcard::from_bytes::(remainder); + postcard::from_bytes::(remainder); log::info!("Received response from controller: {:?}", response.unwrap()); } - models::ComponentId::AcsMgmAssembly => { + types::ComponentId::AcsMgmAssembly => { let response = postcard::from_bytes::< - models::acs::mgm_assembly::response::Response, + types::acs::mgm_assembly::response::Response, >(remainder); log::info!( "Received response from MGM Assembly: {:?}", response.unwrap() ); } - models::ComponentId::AcsMgm0 => { + types::ComponentId::AcsMgm0 => { let response = - postcard::from_bytes::(remainder); + postcard::from_bytes::(remainder); log::info!("Received response from MGM0: {:?}", response.unwrap()); } - models::ComponentId::AcsMgm1 => { + types::ComponentId::AcsMgm1 => { let response = - postcard::from_bytes::(remainder); + postcard::from_bytes::(remainder); log::info!("Received response from MGM1: {:?}", response.unwrap()); } - models::ComponentId::AcsSubsystem => todo!(), - models::ComponentId::EpsSubsystem => todo!(), - models::ComponentId::UdpServer => todo!(), - models::ComponentId::TcpServer => todo!(), - models::ComponentId::Ground => todo!(), - models::ComponentId::EventManager => {} - models::ComponentId::AcsController => todo!(), - models::ComponentId::AcsMgt => todo!(), + types::ComponentId::AcsSubsystem => todo!(), + types::ComponentId::EpsSubsystem => todo!(), + types::ComponentId::UdpServer => todo!(), + types::ComponentId::TcpServer => todo!(), + types::ComponentId::Ground => todo!(), + types::ComponentId::EventManager => {} + types::ComponentId::AcsController => todo!(), + types::ComponentId::AcsMgt => todo!(), } } Err(_) => todo!(), diff --git a/satrs-example/minisim/Cargo.toml b/satrs-example/minisim/Cargo.toml index ec69ee2..ab835ab 100644 --- a/satrs-example/minisim/Cargo.toml +++ b/satrs-example/minisim/Cargo.toml @@ -18,7 +18,7 @@ tai-time = { version = "0.3", features = ["serde"] } nexosim = { version = "0.3.1" } satrs = { path = "../../satrs" } -models = { path = "../models" } +types = { path = "../types" } [dev-dependencies] delegate = "0.13" diff --git a/satrs-example/minisim/src/acs.rs b/satrs-example/minisim/src/acs.rs index fe5546c..fc008e5 100644 --- a/satrs-example/minisim/src/acs.rs +++ b/satrs-example/minisim/src/acs.rs @@ -1,6 +1,5 @@ use std::{f32::consts::PI, sync::mpsc, time::Duration}; -use models::pcdu::SwitchStateBinary; use nexosim::{ model::{Context, Model}, ports::Output, @@ -12,6 +11,7 @@ use satrs_minisim::{ }, SimReply, }; +use types::pcdu::SwitchStateBinary; use crate::time::current_millis; @@ -179,7 +179,6 @@ impl Model for MagnetorquerModel {} pub mod tests { use std::time::Duration; - use models::pcdu::{SwitchId, SwitchStateBinary}; use satrs_minisim::{ acs::{ lis3mdl::{self, MgmLis3MdlReply}, @@ -187,6 +186,7 @@ pub mod tests { }, SerializableSimMsgPayload, SimComponent, SimMessageProvider, SimRequest, }; + use types::pcdu::{SwitchId, SwitchStateBinary}; use crate::{eps::tests::switch_device_on, test_helpers::SimTestbench}; diff --git a/satrs-example/minisim/src/eps.rs b/satrs-example/minisim/src/eps.rs index 4354337..b3626ee 100644 --- a/satrs-example/minisim/src/eps.rs +++ b/satrs-example/minisim/src/eps.rs @@ -1,11 +1,11 @@ use std::{sync::mpsc, time::Duration}; -use models::pcdu::{SwitchId, SwitchMapBinaryWrapper, SwitchStateBinary}; use nexosim::{ model::{Context, Model}, ports::Output, }; use satrs_minisim::{eps::PcduReply, SimReply}; +use types::pcdu::{SwitchId, SwitchMapBinaryWrapper, SwitchStateBinary}; pub const SWITCH_INFO_DELAY_MS: u64 = 10; @@ -73,10 +73,10 @@ pub(crate) mod tests { use super::*; use std::time::Duration; - use models::pcdu::SwitchMapBinary; use satrs_minisim::{ eps::PcduRequest, SerializableSimMsgPayload, SimComponent, SimMessageProvider, SimRequest, }; + use types::pcdu::SwitchMapBinary; use crate::test_helpers::SimTestbench; diff --git a/satrs-example/minisim/src/lib.rs b/satrs-example/minisim/src/lib.rs index 92c82bd..d659d90 100644 --- a/satrs-example/minisim/src/lib.rs +++ b/satrs-example/minisim/src/lib.rs @@ -161,7 +161,7 @@ impl From for SimCtrlReply { pub mod eps { use super::*; - use models::pcdu::{SwitchId, SwitchMapBinary, SwitchStateBinary}; + use types::pcdu::{SwitchId, SwitchMapBinary, SwitchStateBinary}; #[derive(Debug, Copy, Clone)] #[repr(u8)] @@ -197,7 +197,7 @@ pub mod eps { pub mod acs { use std::time::Duration; - use models::pcdu::SwitchStateBinary; + use types::pcdu::SwitchStateBinary; use super::*; diff --git a/satrs-example/src/acs/mgm.rs b/satrs-example/src/acs/mgm.rs index af98218..ca4fde7 100644 --- a/satrs-example/src/acs/mgm.rs +++ b/satrs-example/src/acs/mgm.rs @@ -1,8 +1,3 @@ -use models::acs::mgm::SensorData; -use models::acs::mgm::request::ModeRequest; -use models::acs::mgm::response::ModeResponse; -use models::pcdu::SwitchId; -use models::{ComponentId, DeviceMode, HkRequestType, acs::mgm}; use satrs::spacepackets::CcsdsPacketIdAndPsc; use satrs_example::{HkHelperSingleSet, ModeHelper, TimestampHelper, TmtcQueues}; use satrs_minisim::acs::MgmRequestLis3Mdl; @@ -13,6 +8,11 @@ use satrs_minisim::{SerializableSimMsgPayload, SimReply, SimRequest}; use std::sync::mpsc; use std::sync::{Arc, Mutex}; use std::time::Duration; +use types::acs::mgm::SensorData; +use types::acs::mgm::request::ModeRequest; +use types::acs::mgm::response::ModeResponse; +use types::pcdu::SwitchId; +use types::{ComponentId, DeviceMode, HkRequestType, acs::mgm}; use satrs::request::MessageMetadata; @@ -308,7 +308,7 @@ impl MgmHandlerLis3Mdl { pub fn handle_hk_request( &mut self, tc_id: Option, - hk_request: &models::acs::mgm::request::HkRequest, + hk_request: &types::acs::mgm::request::HkRequest, ) { match hk_request.req_type { HkRequestType::OneShot => { @@ -460,14 +460,14 @@ mod tests { }; use arbitrary_int::u11; - use models::{ + use satrs::{request::GenericMessage, spacepackets::SpacePacketHeader}; + use satrs_minisim::acs::lis3mdl::MgmLis3RawValues; + use types::{ Apid, ComponentId, TcHeader, acs::mgm::request::HkRequest, ccsds::{CcsdsTcPacketOwned, CcsdsTmPacketOwned}, pcdu::{SwitchRequest, SwitchState, SwitchStateBinary}, }; - use satrs::{request::GenericMessage, spacepackets::SpacePacketHeader}; - use satrs_minisim::acs::lis3mdl::MgmLis3RawValues; use crate::eps::pcdu::{SharedSwitchSet, SwitchMap, SwitchSet}; @@ -490,11 +490,11 @@ mod tests { pub fn create_request_tc( select: MgmSelect, - request: models::acs::mgm::request::Request, - ) -> models::ccsds::CcsdsTcPacketOwned { - models::ccsds::CcsdsTcPacketOwned::new_with_request( + request: types::acs::mgm::request::Request, + ) -> types::ccsds::CcsdsTcPacketOwned { + types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Acs as u16)), - TcHeader::new(select.id(), models::MessageType::Ping), + TcHeader::new(select.id(), types::MessageType::Ping), request, ) } @@ -602,9 +602,9 @@ mod tests { assert_eq!(tm_packet.tm_header.sender_id, ComponentId::AcsMgm0); let response = - postcard::from_bytes::(&tm_packet.payload) + postcard::from_bytes::(&tm_packet.payload) .expect("failed to deserialize mode reply"); - matches!(response, models::acs::mgm::response::Response::Ok); + matches!(response, types::acs::mgm::response::Response::Ok); // The device should have been polled once. assert_eq!(testbench.test_spi_interface().call_count, 1); let mgm_set = *testbench.handler.shared_mgm_set.lock().unwrap(); @@ -691,9 +691,9 @@ mod tests { assert_eq!(tm_packet.tm_header.sender_id, ComponentId::AcsMgm0); let response = - postcard::from_bytes::(&tm_packet.payload) + postcard::from_bytes::(&tm_packet.payload) .expect("failed to deserialize mode reply"); - if let models::acs::mgm::response::Response::Hk(mgm::response::HkResponse::MgmData(data)) = + if let types::acs::mgm::response::Response::Hk(mgm::response::HkResponse::MgmData(data)) = response { assert_eq!(data.valid, false); @@ -743,17 +743,17 @@ mod tests { assert_eq!(mode_tm.tm_header.sender_id, ComponentId::AcsMgm0); let response = - postcard::from_bytes::(&mode_tm.payload) + postcard::from_bytes::(&mode_tm.payload) .expect("failed to deserialize mode reply"); - matches!(response, models::acs::mgm::response::Response::Ok); + matches!(response, types::acs::mgm::response::Response::Ok); let hk_tm = testbench.tm_rx.try_recv().expect("no hk reply generated"); assert_eq!(hk_tm.tm_header.sender_id, ComponentId::AcsMgm0); - let response = postcard::from_bytes::(&hk_tm.payload) + let response = postcard::from_bytes::(&hk_tm.payload) .expect("failed to deserialize mode reply"); - if let models::acs::mgm::response::Response::Hk(mgm::response::HkResponse::MgmData(data)) = + if let types::acs::mgm::response::Response::Hk(mgm::response::HkResponse::MgmData(data)) = response { // Set is now valid. diff --git a/satrs-example/src/acs/mgm_assembly.rs b/satrs-example/src/acs/mgm_assembly.rs index 0d1b204..6a0af15 100644 --- a/satrs-example/src/acs/mgm_assembly.rs +++ b/satrs-example/src/acs/mgm_assembly.rs @@ -1,11 +1,11 @@ use std::{sync::mpsc, time::Duration}; -use models::{ +use satrs::spacepackets::CcsdsPacketIdAndPsc; +use satrs_example::{ModeHelper, TmtcQueues}; +use types::{ ComponentId, DeviceMode, acs::mgm_assembly::{Mode, request, response}, }; -use satrs::spacepackets::CcsdsPacketIdAndPsc; -use satrs_example::{ModeHelper, TmtcQueues}; use crate::ccsds::pack_ccsds_tm_packet_for_now; @@ -16,8 +16,8 @@ pub struct ParentQueueHelper { /// Helper component for communication with a parent component, which is usually as assembly. pub struct ChildrenQueueHelper { - pub request_tx_queues: [mpsc::SyncSender; 2], - pub report_rx_queues: [mpsc::Receiver; 2], + pub request_tx_queues: [mpsc::SyncSender; 2], + pub report_rx_queues: [mpsc::Receiver; 2], } #[derive(Debug, Default, Clone, Copy, PartialEq, Eq)] @@ -80,14 +80,14 @@ impl Assembly { match self.tmtc_queues.tc_rx.try_recv() { Ok(packet) => { let tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&packet.sp_header); - match postcard::from_bytes::( + match postcard::from_bytes::( &packet.payload, ) { Ok(request) => match request { - models::acs::mgm_assembly::request::Request::Ping => { + types::acs::mgm_assembly::request::Request::Ping => { self.send_telemetry(Some(tc_id), response::Response::Ok) } - models::acs::mgm_assembly::request::Request::Mode(request) => { + types::acs::mgm_assembly::request::Request::Mode(request) => { match request { request::ModeRequest::SetMode(assembly_mode) => { self.start_transition(false, assembly_mode, Some(tc_id)) @@ -117,7 +117,7 @@ impl Assembly { pub fn send_telemetry( &self, tc_id: Option, - response: models::acs::mgm_assembly::response::Response, + response: types::acs::mgm_assembly::response::Response, ) { match pack_ccsds_tm_packet_for_now(Self::ID, tc_id, &response) { Ok(packet) => { @@ -165,12 +165,12 @@ impl Assembly { loop { match rx.try_recv() { Ok(report) => match report { - models::acs::mgm::response::ModeResponse::Mode(device_mode) => { + types::acs::mgm::response::ModeResponse::Mode(device_mode) => { self.mgm_modes[idx].mode = Some(device_mode); self.mgm_modes[idx].reply_received = true; mode_report_received = true; } - models::acs::mgm::response::ModeResponse::SetModeTimeout => { + types::acs::mgm::response::ModeResponse::SetModeTimeout => { // Ignore, handle this with our own timeout. log::warn!("MGM {} mode timeout", idx); } @@ -275,7 +275,7 @@ impl Assembly { pub fn command_children(&self, mode: DeviceMode) { for tx in &self.children_queues.request_tx_queues { - tx.send(models::acs::mgm::request::ModeRequest::SetMode(mode)) + tx.send(types::acs::mgm::request::ModeRequest::SetMode(mode)) .unwrap(); } } @@ -320,20 +320,20 @@ mod tests { use std::sync::mpsc::TryRecvError; use arbitrary_int::u11; - use models::{ + use satrs::spacepackets::SpacePacketHeader; + use types::{ Apid, Message, MessageType, TcHeader, acs::mgm_assembly, ccsds::{CcsdsTcPacketOwned, CcsdsTmPacketOwned}, }; - use satrs::spacepackets::SpacePacketHeader; use super::*; pub struct Testbench { subsystem_req_tx: mpsc::SyncSender, subsystem_report_rx: mpsc::Receiver, - mgm_request_rx: [mpsc::Receiver; 2], - mgm_report_tx: [mpsc::SyncSender; 2], + mgm_request_rx: [mpsc::Receiver; 2], + mgm_report_tx: [mpsc::SyncSender; 2], tc_tx: mpsc::SyncSender, tm_rx: mpsc::Receiver, assembly: Assembly, @@ -396,9 +396,9 @@ mod tests { } pub fn create_request_tc( - request: models::acs::mgm_assembly::request::Request, - ) -> models::ccsds::CcsdsTcPacketOwned { - models::ccsds::CcsdsTcPacketOwned::new_with_request( + request: types::acs::mgm_assembly::request::Request, + ) -> types::ccsds::CcsdsTcPacketOwned { + types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Acs as u16)), TcHeader::new(Assembly::ID, request.message_type()), request, @@ -429,13 +429,13 @@ mod tests { let request = rx.try_recv().unwrap(); assert_eq!( request, - models::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) + types::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) ); } // Confirm the mode is set. for tx in tb.mgm_report_tx.iter() { - tx.send(models::acs::mgm::response::ModeResponse::Mode( + tx.send(types::acs::mgm::response::ModeResponse::Mode( DeviceMode::Normal, )) .unwrap(); @@ -467,13 +467,13 @@ mod tests { let request = rx.try_recv().unwrap(); assert_eq!( request, - models::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) + types::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) ); } // Confirm the mode is set. for tx in tb.mgm_report_tx.iter() { - tx.send(models::acs::mgm::response::ModeResponse::Mode( + tx.send(types::acs::mgm::response::ModeResponse::Mode( DeviceMode::Normal, )) .unwrap(); @@ -505,18 +505,18 @@ mod tests { let request = rx.try_recv().unwrap(); assert_eq!( request, - models::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) + types::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) ); } // One device is sufficient. tb.mgm_report_tx[0] - .send(models::acs::mgm::response::ModeResponse::Mode( + .send(types::acs::mgm::response::ModeResponse::Mode( DeviceMode::Normal, )) .unwrap(); tb.mgm_report_tx[1] - .send(models::acs::mgm::response::ModeResponse::Mode( + .send(types::acs::mgm::response::ModeResponse::Mode( DeviceMode::Off, )) .unwrap(); @@ -547,13 +547,13 @@ mod tests { let request = rx.try_recv().unwrap(); assert_eq!( request, - models::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) + types::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) ); } // Confirm the mode is set. for tx in tb.mgm_report_tx.iter() { - tx.send(models::acs::mgm::response::ModeResponse::Mode( + tx.send(types::acs::mgm::response::ModeResponse::Mode( DeviceMode::Off, )) .unwrap(); @@ -585,13 +585,13 @@ mod tests { let request = rx.try_recv().unwrap(); assert_eq!( request, - models::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) + types::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) ); } // Confirm the mode is set. for tx in tb.mgm_report_tx.iter() { - tx.send(models::acs::mgm::response::ModeResponse::Mode( + tx.send(types::acs::mgm::response::ModeResponse::Mode( DeviceMode::Normal, )) .unwrap(); @@ -608,7 +608,7 @@ mod tests { ); for tx in tb.mgm_report_tx.iter() { - tx.send(models::acs::mgm::response::ModeResponse::Mode( + tx.send(types::acs::mgm::response::ModeResponse::Mode( DeviceMode::Off, )) .unwrap(); @@ -621,13 +621,13 @@ mod tests { let request = rx.try_recv().unwrap(); assert_eq!( request, - models::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) + types::acs::mgm::request::ModeRequest::SetMode(DeviceMode::Normal) ); } // Let the mode keeping fail. for tx in tb.mgm_report_tx.iter() { - tx.send(models::acs::mgm::response::ModeResponse::Mode( + tx.send(types::acs::mgm::response::ModeResponse::Mode( DeviceMode::Off, )) .unwrap(); diff --git a/satrs-example/src/acs/subsystem.rs b/satrs-example/src/acs/subsystem.rs index c36a806..056a686 100644 --- a/satrs-example/src/acs/subsystem.rs +++ b/satrs-example/src/acs/subsystem.rs @@ -4,16 +4,16 @@ use std::{ time::Duration, }; -use models::{ - ComponentId, - acs::subsystem::{Mode, response}, -}; use satrs::{ mode_tree::{ModeStoreProvider, ModeStoreVec, SequenceModeTables, TargetModeTables}, spacepackets::CcsdsPacketIdAndPsc, subsystem::SubsystemCommandingHelper, }; use satrs_example::{ModeHelper, TmtcQueues}; +use types::{ + ComponentId, + acs::subsystem::{Mode, response}, +}; #[derive(Debug)] pub struct TransitionInfo { @@ -29,16 +29,16 @@ pub enum TransitionState { #[derive(Debug)] pub struct ChildModes { - mgm_assembly_mode: models::acs::mgm_assembly::Mode, - mgt_mode: models::acs::mgt::Mode, - controller_mode: models::acs::ctrl::Mode, + mgm_assembly_mode: types::acs::mgm_assembly::Mode, + mgt_mode: types::acs::mgt::Mode, + controller_mode: types::acs::ctrl::Mode, } #[derive(Debug)] pub struct TransitionCommands { - mgm_assembly_mode: Option<(models::acs::mgm_assembly::Mode, TransitionInfo)>, - mgt_mode: Option<(models::acs::mgt::Mode, TransitionInfo)>, - controller_mode: Option<(models::acs::ctrl::Mode, TransitionInfo)>, + mgm_assembly_mode: Option<(types::acs::mgm_assembly::Mode, TransitionInfo)>, + mgt_mode: Option<(types::acs::mgt::Mode, TransitionInfo)>, + controller_mode: Option<(types::acs::ctrl::Mode, TransitionInfo)>, } const OFF_SEQUENCE: [TransitionCommands; 2] = [ @@ -46,7 +46,7 @@ const OFF_SEQUENCE: [TransitionCommands; 2] = [ mgm_assembly_mode: None, mgt_mode: None, controller_mode: Some(( - models::acs::ctrl::Mode::Passive, + types::acs::ctrl::Mode::Passive, TransitionInfo { check_mode_reached: true, }, @@ -54,13 +54,13 @@ const OFF_SEQUENCE: [TransitionCommands; 2] = [ }, TransitionCommands { mgm_assembly_mode: Some(( - models::acs::mgm_assembly::Mode::Device(models::DeviceMode::Off), + types::acs::mgm_assembly::Mode::Device(types::DeviceMode::Off), TransitionInfo { check_mode_reached: false, }, )), mgt_mode: Some(( - models::acs::mgt::Mode::Off, + types::acs::mgt::Mode::Off, TransitionInfo { check_mode_reached: false, }, @@ -72,13 +72,13 @@ const OFF_SEQUENCE: [TransitionCommands; 2] = [ const SAFE_SEQUENCE: [TransitionCommands; 2] = [ TransitionCommands { mgm_assembly_mode: Some(( - models::acs::mgm_assembly::Mode::Device(models::DeviceMode::Normal), + types::acs::mgm_assembly::Mode::Device(types::DeviceMode::Normal), TransitionInfo { check_mode_reached: false, }, )), mgt_mode: Some(( - models::acs::mgt::Mode::Normal, + types::acs::mgt::Mode::Normal, TransitionInfo { check_mode_reached: false, }, @@ -89,7 +89,7 @@ const SAFE_SEQUENCE: [TransitionCommands; 2] = [ mgm_assembly_mode: None, mgt_mode: None, controller_mode: Some(( - models::acs::ctrl::Mode::Safe, + types::acs::ctrl::Mode::Safe, TransitionInfo { check_mode_reached: false, }, @@ -99,21 +99,21 @@ const SAFE_SEQUENCE: [TransitionCommands; 2] = [ #[derive(Debug)] pub struct ModeRequestSenders { - pub mode_request_ctrl: SyncSender, - pub mode_request_assy: SyncSender, - pub mode_request_mgt: SyncSender, + pub mode_request_ctrl: SyncSender, + pub mode_request_assy: SyncSender, + pub mode_request_mgt: SyncSender, } #[derive(Debug)] pub struct ModeReportReceivers { - pub mode_response_ctrl: Receiver, - pub mode_response_assy: Receiver, - pub mode_response_mgt: Receiver, + pub mode_response_ctrl: Receiver, + pub mode_response_assy: Receiver, + pub mode_response_mgt: Receiver, } #[derive(Debug)] pub struct Subsystem { - mode_helper: ModeHelper, + mode_helper: ModeHelper, transition_step: usize, current_child_modes: Option, mode_request_senders: ModeRequestSenders, @@ -134,19 +134,19 @@ impl Subsystem { mode_store_vec .add_component( ComponentId::AcsMgmAssembly as satrs::ComponentId, - models::acs::mgm_assembly::Mode::NoModeKeeping.into(), + types::acs::mgm_assembly::Mode::NoModeKeeping.into(), ) .unwrap(); mode_store_vec .add_component( ComponentId::AcsController as satrs::ComponentId, - models::acs::ctrl::Mode::Passive.into(), + types::acs::ctrl::Mode::Passive.into(), ) .unwrap(); mode_store_vec .add_component( ComponentId::AcsMgt as satrs::ComponentId, - models::acs::mgt::Mode::Off.into(), + types::acs::mgt::Mode::Off.into(), ) .unwrap(); @@ -156,7 +156,7 @@ impl Subsystem { Self { mode_helper: ModeHelper::new( - models::acs::subsystem::Mode::Off, + types::acs::subsystem::Mode::Off, Duration::from_millis(2000), ), current_child_modes: None, @@ -181,14 +181,14 @@ impl Subsystem { match self.tmtc_queues.tc_rx.try_recv() { Ok(packet) => { let tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&packet.sp_header); - match postcard::from_bytes::( + match postcard::from_bytes::( &packet.payload, ) { Ok(request) => match request { - models::acs::subsystem::request::Request::Ping => { + types::acs::subsystem::request::Request::Ping => { self.send_telemetry(Some(tc_id), response::Response::Ok) } - models::acs::subsystem::request::Request::Mode(mode_request) => { + types::acs::subsystem::request::Request::Mode(mode_request) => { self.handle_mode_request(mode_request); } }, @@ -216,7 +216,7 @@ impl Subsystem { if let Some((target_mode, _info)) = &step.mgm_assembly_mode { self.mode_request_senders .mode_request_assy - .send(models::acs::mgm_assembly::request::ModeRequest::SetMode( + .send(types::acs::mgm_assembly::request::ModeRequest::SetMode( *target_mode, )) .expect("failed to send mode request to MGM assembly"); @@ -224,15 +224,13 @@ impl Subsystem { if let Some((target_mode, _info)) = &step.mgt_mode { self.mode_request_senders .mode_request_mgt - .send(models::acs::mgt::request::ModeRequest::SetMode( - *target_mode, - )) + .send(types::acs::mgt::request::ModeRequest::SetMode(*target_mode)) .expect("failed to send mode request to MGM assembly"); } if let Some((target_mode, _info)) = &step.controller_mode { self.mode_request_senders .mode_request_ctrl - .send(models::acs::ctrl::request::ModeRequest::SetMode( + .send(types::acs::ctrl::request::ModeRequest::SetMode( *target_mode, )) .expect("failed to send mode request to MGM assembly"); @@ -241,10 +239,10 @@ impl Subsystem { pub fn handle_mode_request( &mut self, - mode_request: models::acs::subsystem::request::ModeRequest, + mode_request: types::acs::subsystem::request::ModeRequest, ) { match mode_request { - models::acs::subsystem::request::ModeRequest::SetMode(target_mode) => { + types::acs::subsystem::request::ModeRequest::SetMode(target_mode) => { self.mode_helper.start(target_mode); self.transition_step = 0; let first_step = Self::transition_sequence_for_mode(target_mode) @@ -252,7 +250,7 @@ impl Subsystem { .expect("empty transition table"); self.execute_transition_step(first_step); } - models::acs::subsystem::request::ModeRequest::ReadMode => { + types::acs::subsystem::request::ModeRequest::ReadMode => { self.send_telemetry( None, response::Response::Mode(response::ModeResponse::Mode( @@ -266,7 +264,7 @@ impl Subsystem { pub fn send_telemetry( &self, tc_id: Option, - response: models::acs::subsystem::response::Response, + response: types::acs::subsystem::response::Response, ) { match crate::ccsds::pack_ccsds_tm_packet_for_now(Self::ID, tc_id, &response) { Ok(packet) => { diff --git a/satrs-example/src/ccsds.rs b/satrs-example/src/ccsds.rs index 7122809..2cd7349 100644 --- a/satrs-example/src/ccsds.rs +++ b/satrs-example/src/ccsds.rs @@ -1,10 +1,10 @@ use arbitrary_int::u11; -use models::{Apid, ComponentId, Message, TmHeader, ccsds::CcsdsTmPacketOwned}; use satrs::spacepackets::{ CcsdsPacketIdAndPsc, SpHeader, time::{StdTimestampError, cds::CdsTime}, }; use serde::Serialize; +use types::{Apid, ComponentId, Message, TmHeader, ccsds::CcsdsTmPacketOwned}; #[derive(Debug, thiserror::Error)] pub enum CcsdsTmCreationError { diff --git a/satrs-example/src/config.rs b/satrs-example/src/config.rs index 1cf90bd..16be4cf 100644 --- a/satrs-example/src/config.rs +++ b/satrs-example/src/config.rs @@ -39,14 +39,14 @@ pub const SERVER_PORT: u16 = 7301; lazy_static! { pub static ref PACKET_ID_VALIDATOR: HashSet = { let mut set = HashSet::new(); - for id in models::Apid::iter() { + for id in types::Apid::iter() { set.insert(PacketId::new(PacketType::Tc, true, u11::new(id as u16))); } set }; pub static ref APID_VALIDATOR: HashSet = { let mut set = HashSet::new(); - for id in models::Apid::iter() { + for id in types::Apid::iter() { set.insert(id as u16); } set diff --git a/satrs-example/src/control.rs b/satrs-example/src/control.rs index 0e74795..837c4c6 100644 --- a/satrs-example/src/control.rs +++ b/satrs-example/src/control.rs @@ -1,9 +1,9 @@ -use models::{ +use satrs::spacepackets::CcsdsPacketIdAndPsc; +use types::{ ComponentId, ccsds::{CcsdsTcPacketOwned, CcsdsTmPacketOwned}, control, }; -use satrs::spacepackets::CcsdsPacketIdAndPsc; use crate::ccsds::pack_ccsds_tm_packet_for_now; diff --git a/satrs-example/src/eps/mod.rs b/satrs-example/src/eps/mod.rs index b6c06b4..8075bf1 100644 --- a/satrs-example/src/eps/mod.rs +++ b/satrs-example/src/eps/mod.rs @@ -1,6 +1,6 @@ use derive_new::new; -use models::pcdu::{SwitchId, SwitchRequest, SwitchState, SwitchStateBinary}; use std::{cell::RefCell, collections::VecDeque, sync::mpsc, time::Duration}; +use types::pcdu::{SwitchId, SwitchRequest, SwitchState, SwitchStateBinary}; use satrs::{ queue::GenericSendError, diff --git a/satrs-example/src/eps/pcdu.rs b/satrs-example/src/eps/pcdu.rs index 22cf638..a09dd59 100644 --- a/satrs-example/src/eps/pcdu.rs +++ b/satrs-example/src/eps/pcdu.rs @@ -5,14 +5,6 @@ use std::{ }; use derive_new::new; -use models::{ - ComponentId, DeviceMode, - ccsds::{CcsdsTcPacketOwned, CcsdsTmPacketOwned}, - pcdu::{ - self, SwitchId, SwitchMapBinary, SwitchMapBinaryWrapper, SwitchRequest, SwitchState, - SwitchStateBinary, SwitchesBitfield, - }, -}; use num_enum::{IntoPrimitive, TryFromPrimitive}; use satrs::{request::GenericMessage, spacepackets::CcsdsPacketIdAndPsc}; use satrs_example::TimestampHelper; @@ -22,6 +14,14 @@ use satrs_minisim::{ }; use serde::{Deserialize, Serialize}; use strum::IntoEnumIterator as _; +use types::{ + ComponentId, DeviceMode, + ccsds::{CcsdsTcPacketOwned, CcsdsTmPacketOwned}, + pcdu::{ + self, SwitchId, SwitchMapBinary, SwitchMapBinaryWrapper, SwitchRequest, SwitchState, + SwitchStateBinary, SwitchesBitfield, + }, +}; use crate::ccsds::pack_ccsds_tm_packet_for_now; @@ -531,21 +531,21 @@ mod tests { use std::sync::mpsc; use arbitrary_int::u11; - use models::{ - Apid, TcHeader, - pcdu::{SwitchMapBinary, SwitchStateBinary}, - }; use satrs::{ request::{GenericMessage, MessageMetadata}, spacepackets::SpacePacketHeader, }; + use types::{ + Apid, TcHeader, + pcdu::{SwitchMapBinary, SwitchStateBinary}, + }; use super::*; pub fn create_request_tc( - request: models::pcdu::request::Request, - ) -> models::ccsds::CcsdsTcPacketOwned { - models::ccsds::CcsdsTcPacketOwned::new_with_request( + request: types::pcdu::request::Request, + ) -> types::ccsds::CcsdsTcPacketOwned { + types::ccsds::CcsdsTcPacketOwned::new_with_request( SpacePacketHeader::new_from_apid(u11::new(Apid::Eps as u16)), TcHeader::new(ComponentId::EpsPcdu, request.message_type()), request, @@ -589,8 +589,8 @@ mod tests { #[allow(dead_code)] pub struct PcduTestbench { - pub mode_request_tx: mpsc::SyncSender, - pub mode_reply_rx_to_parent: mpsc::Receiver, + pub mode_request_tx: mpsc::SyncSender, + pub mode_reply_rx_to_parent: mpsc::Receiver, pub tc_tx: mpsc::SyncSender, pub tm_rx: mpsc::Receiver, pub switch_request_tx: mpsc::Sender>, diff --git a/satrs-example/src/event_manager.rs b/satrs-example/src/event_manager.rs index e5a129f..9cd6b6f 100644 --- a/satrs-example/src/event_manager.rs +++ b/satrs-example/src/event_manager.rs @@ -1,4 +1,4 @@ -use models::{ComponentId, Event, Message, ccsds::CcsdsTmPacketOwned, control}; +use types::{ComponentId, Event, Message, ccsds::CcsdsTmPacketOwned, control}; use crate::ccsds::pack_ccsds_tm_packet_for_now; diff --git a/satrs-example/src/interface/udp.rs b/satrs-example/src/interface/udp.rs index 350a740..da20c98 100644 --- a/satrs-example/src/interface/udp.rs +++ b/satrs-example/src/interface/udp.rs @@ -4,10 +4,10 @@ use std::net::{SocketAddr, UdpSocket}; use std::sync::{Arc, Mutex, mpsc}; use log::warn; -use models::ccsds::CcsdsTmPacketOwned; use satrs::hal::std::udp_server::{ReceiveResult, UdpTcServer}; use satrs::pus::HandlingStatus; use satrs::queue::GenericSendError; +use types::ccsds::CcsdsTmPacketOwned; use crate::tmtc::sender::TmTcSender; @@ -112,7 +112,6 @@ mod tests { use arbitrary_int::traits::Integer as _; use arbitrary_int::u14; - use models::Apid; use satrs::spacepackets::ecss::{CreatorConfig, MessageTypeId}; use satrs::{ ComponentId, @@ -122,6 +121,7 @@ mod tests { }, }; use satrs_example::config::OBSW_SERVER_ADDR; + use types::Apid; use crate::tmtc::sender::MockSender; diff --git a/satrs-example/src/lib.rs b/satrs-example/src/lib.rs index 00f376e..9a03e83 100644 --- a/satrs-example/src/lib.rs +++ b/satrs-example/src/lib.rs @@ -5,9 +5,9 @@ use std::{ time::{Duration, Instant}, }; -pub use models::ComponentId; -use models::ccsds::{CcsdsTcPacketOwned, CcsdsTmPacketOwned}; use satrs::spacepackets::{CcsdsPacketIdAndPsc, time::cds::CdsTime}; +pub use types::ComponentId; +use types::ccsds::{CcsdsTcPacketOwned, CcsdsTmPacketOwned}; pub mod config; diff --git a/satrs-example/src/main.rs b/satrs-example/src/main.rs index 6d2bf0f..5c64ce6 100644 --- a/satrs-example/src/main.rs +++ b/satrs-example/src/main.rs @@ -20,7 +20,6 @@ use interface::{ }; use log::info; use logger::setup_logger; -use models::{ComponentId, DeviceMode}; use satrs::{ hal::std::{tcp_server::ServerConfig, udp_server::UdpTcServer}, pus::HandlingStatus, @@ -35,6 +34,7 @@ use satrs_example::{ }; use tmtc::sender::TmTcSender; use tmtc::{tc_source::TcSourceTask, tm_sink::TmSink}; +use types::{ComponentId, DeviceMode}; use crate::{ acs::{mgm, mgm_assembly, subsystem}, @@ -263,7 +263,7 @@ fn main() { // The PCDU is a critical component which should be in normal mode immediately. pcdu_handler_mode_tx - .send(models::pcdu::request::Request::Mode(DeviceMode::Normal)) + .send(types::pcdu::request::Request::Mode(DeviceMode::Normal)) .expect("sending initial mode request failed"); info!("Starting TMTC and UDP task"); diff --git a/satrs-example/src/tmtc/tc_source.rs b/satrs-example/src/tmtc/tc_source.rs index a20af6a..4d3c005 100644 --- a/satrs-example/src/tmtc/tc_source.rs +++ b/satrs-example/src/tmtc/tc_source.rs @@ -1,4 +1,3 @@ -use models::{ComponentId, TcHeader, ccsds::CcsdsTcPacketOwned}; use satrs::{ pus::HandlingStatus, spacepackets::{CcsdsPacketReader, ChecksumType}, @@ -8,6 +7,7 @@ use std::{ collections::HashMap, sync::mpsc::{self, TryRecvError}, }; +use types::{ComponentId, TcHeader, ccsds::CcsdsTcPacketOwned}; pub type CcsdsDistributor = HashMap>; diff --git a/satrs-example/src/tmtc/tm_sink.rs b/satrs-example/src/tmtc/tm_sink.rs index 0cb2724..ea34ca5 100644 --- a/satrs-example/src/tmtc/tm_sink.rs +++ b/satrs-example/src/tmtc/tm_sink.rs @@ -4,8 +4,8 @@ use std::{ }; use arbitrary_int::{u11, u14}; -use models::ccsds::CcsdsTmPacketOwned; use satrs::spacepackets::seq_count::{SequenceCounter, SequenceCounterCcsdsSimple}; +use types::ccsds::CcsdsTmPacketOwned; use crate::interface::tcp::SyncTcpTmSource; diff --git a/satrs-example/models/Cargo.toml b/satrs-example/types/Cargo.toml similarity index 95% rename from satrs-example/models/Cargo.toml rename to satrs-example/types/Cargo.toml index df3fb6e..99b7a90 100644 --- a/satrs-example/models/Cargo.toml +++ b/satrs-example/types/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "models" +name = "types" version = "0.1.0" edition = "2024" diff --git a/satrs-example/models/src/acs/ctrl.rs b/satrs-example/types/src/acs/ctrl.rs similarity index 100% rename from satrs-example/models/src/acs/ctrl.rs rename to satrs-example/types/src/acs/ctrl.rs diff --git a/satrs-example/models/src/acs/mgm.rs b/satrs-example/types/src/acs/mgm.rs similarity index 100% rename from satrs-example/models/src/acs/mgm.rs rename to satrs-example/types/src/acs/mgm.rs diff --git a/satrs-example/models/src/acs/mgm_assembly.rs b/satrs-example/types/src/acs/mgm_assembly.rs similarity index 100% rename from satrs-example/models/src/acs/mgm_assembly.rs rename to satrs-example/types/src/acs/mgm_assembly.rs diff --git a/satrs-example/models/src/acs/mgt.rs b/satrs-example/types/src/acs/mgt.rs similarity index 100% rename from satrs-example/models/src/acs/mgt.rs rename to satrs-example/types/src/acs/mgt.rs diff --git a/satrs-example/models/src/acs/mod.rs b/satrs-example/types/src/acs/mod.rs similarity index 100% rename from satrs-example/models/src/acs/mod.rs rename to satrs-example/types/src/acs/mod.rs diff --git a/satrs-example/models/src/acs/subsystem.rs b/satrs-example/types/src/acs/subsystem.rs similarity index 100% rename from satrs-example/models/src/acs/subsystem.rs rename to satrs-example/types/src/acs/subsystem.rs diff --git a/satrs-example/models/src/ccsds.rs b/satrs-example/types/src/ccsds.rs similarity index 100% rename from satrs-example/models/src/ccsds.rs rename to satrs-example/types/src/ccsds.rs diff --git a/satrs-example/models/src/control.rs b/satrs-example/types/src/control.rs similarity index 100% rename from satrs-example/models/src/control.rs rename to satrs-example/types/src/control.rs diff --git a/satrs-example/models/src/lib.rs b/satrs-example/types/src/lib.rs similarity index 100% rename from satrs-example/models/src/lib.rs rename to satrs-example/types/src/lib.rs diff --git a/satrs-example/models/src/pcdu.rs b/satrs-example/types/src/pcdu.rs similarity index 100% rename from satrs-example/models/src/pcdu.rs rename to satrs-example/types/src/pcdu.rs -- 2.43.0