diff --git a/satrs-example/src/acs/mgm.rs b/satrs-example/src/acs/mgm.rs index 5ef17ee..740ddd2 100644 --- a/satrs-example/src/acs/mgm.rs +++ b/satrs-example/src/acs/mgm.rs @@ -163,7 +163,7 @@ pub struct MgmHandlerLis3Mdl< dev_str: &'static str, mode_node: ModeRequestHandlerMpscBounded, composite_request_rx: mpsc::Receiver>, - hk_reply_tx: mpsc::Sender>, + hk_reply_tx: mpsc::SyncSender>, switch_helper: SwitchHelper, tm_sender: TmSender, pub com_interface: ComInterface, diff --git a/satrs-example/src/eps/pcdu.rs b/satrs-example/src/eps/pcdu.rs index 473cbdc..f047285 100644 --- a/satrs-example/src/eps/pcdu.rs +++ b/satrs-example/src/eps/pcdu.rs @@ -208,7 +208,7 @@ pub struct PcduHandler { dev_str: &'static str, mode_node: ModeRequestHandlerMpscBounded, composite_request_rx: mpsc::Receiver>, - hk_reply_tx: mpsc::Sender>, + hk_reply_tx: mpsc::SyncSender>, switch_request_rx: mpsc::Receiver>, tm_sender: TmSender, pub com_interface: ComInterface, diff --git a/satrs-example/src/main.rs b/satrs-example/src/main.rs index e651e99..f10b916 100644 --- a/satrs-example/src/main.rs +++ b/satrs-example/src/main.rs @@ -1,5 +1,3 @@ -#[cfg(not(feature = "heap_tmtc"))] -use std::sync::RwLock; use std::{ net::{IpAddr, SocketAddr}, sync::{mpsc, Arc, Mutex}, @@ -13,10 +11,6 @@ use eps::{ PowerSwitchHelper, }; use events::EventHandler; -#[cfg(feature = "heap_tmtc")] -use interface::udp::DynamicUdpTmHandler; -#[cfg(not(feature = "heap_tmtc"))] -use interface::udp::StaticUdpTmHandler; use interface::{ sim_client_udp::create_sim_client, tcp::{SyncTcpTmSource, TcpTask}, @@ -35,12 +29,6 @@ use pus::{ PusTcDistributor, PusTcMpscRouter, }; use requests::GenericRequestRouter; -#[cfg(not(feature = "heap_tmtc"))] -use satrs::pus::EcssTcInSharedPoolConverter; -#[cfg(feature = "heap_tmtc")] -use satrs::pus::EcssTcInVecConverter; -#[cfg(not(feature = "heap_tmtc"))] -use satrs::tmtc::{PacketSenderWithSharedPool, SharedPacketPool}; use satrs::{ hal::std::{tcp_server::ServerConfig, udp_server::UdpTcServer}, mode::{Mode, ModeAndSubmode, ModeRequest, ModeRequestHandlerMpscBounded}, @@ -50,8 +38,6 @@ use satrs::{ spacepackets::time::{cds::CdsTime, TimeWriter}, tmtc::TcSender, }; -#[cfg(not(feature = "heap_tmtc"))] -use satrs_example::config::pool::create_static_pools; use satrs_example::{ config::{ components::{MGM_HANDLER_0, NO_SENDER, PCDU_HANDLER, TCP_SERVER, UDP_SERVER}, @@ -62,16 +48,26 @@ use satrs_example::{ DeviceMode, }; use tm_sender::TmSender; -#[cfg(feature = "heap_tmtc")] -use tmtc::tc_source::TcSourceTaskDynamic; -#[cfg(not(feature = "heap_tmtc"))] -use tmtc::tc_source::TcSourceTaskStatic; -#[cfg(feature = "heap_tmtc")] -use tmtc::tm_sink::TmSinkDynamic; -#[cfg(not(feature = "heap_tmtc"))] -use tmtc::tm_sink::TmSinkStatic; use tmtc::{tc_source::TcSourceTask, tm_sink::TmSink}; +cfg_if::cfg_if! { + if #[cfg(feature = "heap_tmtc")] { + use interface::udp::DynamicUdpTmHandler; + use satrs::pus::EcssTcInVecConverter; + use tmtc::{tc_source::TcSourceTaskDynamic, tm_sink::TmSinkDynamic}; + } else { + use std::sync::RwLock; + use interface::udp::StaticUdpTmHandler; + use satrs::pus::EcssTcInSharedPoolConverter; + use satrs::tmtc::{PacketSenderWithSharedPool, SharedPacketPool}; + use satrs_example::config::pool::create_static_pools; + use tmtc::{ + tc_source::TcSourceTaskStatic as TcSourceTask, + tm_sink::TmSinkStatic as TmSink, + }; + } +} + mod acs; mod eps; mod events; @@ -104,9 +100,9 @@ fn main() { cfg_if::cfg_if! { if #[cfg(not(feature = "heap_tmtc"))] { - let tm_sink_tx_sender = - PacketSenderWithSharedPool::new(tm_sink_tx.clone(), shared_tm_pool_wrapper.clone()); - let tm_sender = TmSender::Static(tm_sink_tx_sender.clone()); + let tm_sender = TmSender::Static( + PacketSenderWithSharedPool::new(tm_sink_tx.clone(), shared_tm_pool_wrapper.clone()) + ); } else if #[cfg(feature = "heap_tmtc")] { let tm_sender = TmSender::Heap(tm_sink_tx.clone()); } @@ -162,8 +158,8 @@ fn main() { let (pus_mode_tx, pus_mode_rx) = mpsc::channel(); let (_pus_action_reply_tx, pus_action_reply_rx) = mpsc::channel(); - let (pus_hk_reply_tx, pus_hk_reply_rx) = mpsc::channel(); - let (pus_mode_reply_tx, pus_mode_reply_rx) = mpsc::sync_channel(5); + let (pus_hk_reply_tx, pus_hk_reply_rx) = mpsc::sync_channel(50); + let (pus_mode_reply_tx, pus_mode_reply_rx) = mpsc::sync_channel(30); cfg_if::cfg_if! { if #[cfg(not(feature = "heap_tmtc"))] {