remove some more generics

This commit is contained in:
Robin Müller 2025-02-07 16:39:00 +01:00
parent 81babe0329
commit a4bebbbb98
Signed by: muellerr
GPG Key ID: A649FB78196E3849
6 changed files with 19 additions and 20 deletions

View File

@ -0,0 +1 @@
// TODO: Write the assembly

View File

@ -0,0 +1 @@
// TODO: Write dummy controller

View File

@ -1 +1,4 @@
pub mod assembly;
pub mod ctrl;
pub mod mgm; pub mod mgm;
pub mod subsystem;

View File

@ -0,0 +1 @@
// TODO: Write subsystem

View File

@ -35,6 +35,7 @@ use crate::{
hk::PusHkHelper, hk::PusHkHelper,
pus::hk::{HkReply, HkReplyVariant}, pus::hk::{HkReply, HkReplyVariant},
requests::CompositeRequest, requests::CompositeRequest,
tmtc::sender::TmTcSender,
}; };
pub trait SerialInterface { pub trait SerialInterface {
@ -203,14 +204,14 @@ pub type SharedSwitchSet = Arc<Mutex<SwitchSet>>;
/// Example PCDU device handler. /// Example PCDU device handler.
#[derive(new)] #[derive(new)]
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
pub struct PcduHandler<ComInterface: SerialInterface, TmSender: EcssTmSender> { pub struct PcduHandler<ComInterface: SerialInterface> {
id: UniqueApidTargetId, id: UniqueApidTargetId,
dev_str: &'static str, dev_str: &'static str,
mode_node: ModeRequestHandlerMpscBounded, mode_node: ModeRequestHandlerMpscBounded,
composite_request_rx: mpsc::Receiver<GenericMessage<CompositeRequest>>, composite_request_rx: mpsc::Receiver<GenericMessage<CompositeRequest>>,
hk_reply_tx: mpsc::SyncSender<GenericMessage<HkReply>>, hk_reply_tx: mpsc::SyncSender<GenericMessage<HkReply>>,
switch_request_rx: mpsc::Receiver<GenericMessage<SwitchRequest>>, switch_request_rx: mpsc::Receiver<GenericMessage<SwitchRequest>>,
tm_sender: TmSender, tm_sender: TmTcSender,
pub com_interface: ComInterface, pub com_interface: ComInterface,
shared_switch_map: Arc<Mutex<SwitchSet>>, shared_switch_map: Arc<Mutex<SwitchSet>>,
#[new(value = "PusHkHelper::new(id)")] #[new(value = "PusHkHelper::new(id)")]
@ -223,7 +224,7 @@ pub struct PcduHandler<ComInterface: SerialInterface, TmSender: EcssTmSender> {
tm_buf: [u8; 256], tm_buf: [u8; 256],
} }
impl<ComInterface: SerialInterface, TmSender: EcssTmSender> PcduHandler<ComInterface, TmSender> { impl<ComInterface: SerialInterface> PcduHandler<ComInterface> {
pub fn periodic_operation(&mut self, op_code: OpCode) { pub fn periodic_operation(&mut self, op_code: OpCode) {
match op_code { match op_code {
OpCode::RegularOp => { OpCode::RegularOp => {
@ -404,17 +405,13 @@ impl<ComInterface: SerialInterface, TmSender: EcssTmSender> PcduHandler<ComInter
} }
} }
impl<ComInterface: SerialInterface, TmSender: EcssTmSender> ModeProvider impl<ComInterface: SerialInterface> ModeProvider for PcduHandler<ComInterface> {
for PcduHandler<ComInterface, TmSender>
{
fn mode_and_submode(&self) -> ModeAndSubmode { fn mode_and_submode(&self) -> ModeAndSubmode {
self.mode_and_submode self.mode_and_submode
} }
} }
impl<ComInterface: SerialInterface, TmSender: EcssTmSender> ModeRequestHandler impl<ComInterface: SerialInterface> ModeRequestHandler for PcduHandler<ComInterface> {
for PcduHandler<ComInterface, TmSender>
{
type Error = ModeError; type Error = ModeError;
fn start_transition( fn start_transition(
&mut self, &mut self,
@ -490,17 +487,13 @@ impl<ComInterface: SerialInterface, TmSender: EcssTmSender> ModeRequestHandler
} }
} }
impl<ComInterface: SerialInterface, TmSender: EcssTmSender> ModeNode impl<ComInterface: SerialInterface> ModeNode for PcduHandler<ComInterface> {
for PcduHandler<ComInterface, TmSender>
{
fn id(&self) -> satrs::ComponentId { fn id(&self) -> satrs::ComponentId {
PCDU_HANDLER.into() PCDU_HANDLER.into()
} }
} }
impl<ComInterface: SerialInterface, TmSender: EcssTmSender> ModeChild impl<ComInterface: SerialInterface> ModeChild for PcduHandler<ComInterface> {
for PcduHandler<ComInterface, TmSender>
{
type Sender = mpsc::SyncSender<GenericMessage<ModeReply>>; type Sender = mpsc::SyncSender<GenericMessage<ModeReply>>;
fn add_mode_parent(&mut self, id: satrs::ComponentId, reply_sender: Self::Sender) { fn add_mode_parent(&mut self, id: satrs::ComponentId, reply_sender: Self::Sender) {
@ -563,7 +556,7 @@ mod tests {
pub hk_reply_rx: mpsc::Receiver<GenericMessage<HkReply>>, pub hk_reply_rx: mpsc::Receiver<GenericMessage<HkReply>>,
pub tm_rx: mpsc::Receiver<PacketAsVec>, pub tm_rx: mpsc::Receiver<PacketAsVec>,
pub switch_request_tx: mpsc::Sender<GenericMessage<SwitchRequest>>, pub switch_request_tx: mpsc::Sender<GenericMessage<SwitchRequest>>,
pub handler: PcduHandler<SerialInterfaceTest, mpsc::Sender<PacketAsVec>>, pub handler: PcduHandler<SerialInterfaceTest>,
} }
impl PcduTestbench { impl PcduTestbench {
@ -575,7 +568,7 @@ mod tests {
ModeRequestHandlerMpscBounded::new(PCDU_HANDLER.into(), mode_request_rx); ModeRequestHandlerMpscBounded::new(PCDU_HANDLER.into(), mode_request_rx);
let (composite_request_tx, composite_request_rx) = mpsc::channel(); let (composite_request_tx, composite_request_rx) = mpsc::channel();
let (hk_reply_tx, hk_reply_rx) = mpsc::sync_channel(10); let (hk_reply_tx, hk_reply_rx) = mpsc::sync_channel(10);
let (tm_tx, tm_rx) = mpsc::channel::<PacketAsVec>(); let (tm_tx, tm_rx) = mpsc::sync_channel::<PacketAsVec>(5);
let (switch_request_tx, switch_reqest_rx) = mpsc::channel(); let (switch_request_tx, switch_reqest_rx) = mpsc::channel();
let shared_switch_map = Arc::new(Mutex::new(SwitchSet::default())); let shared_switch_map = Arc::new(Mutex::new(SwitchSet::default()));
let mut handler = PcduHandler::new( let mut handler = PcduHandler::new(
@ -585,7 +578,7 @@ mod tests {
composite_request_rx, composite_request_rx,
hk_reply_tx, hk_reply_tx,
switch_reqest_rx, switch_reqest_rx,
tm_tx, TmTcSender::Heap(tm_tx.clone()),
SerialInterfaceTest::default(), SerialInterfaceTest::default(),
shared_switch_map, shared_switch_map,
); );

View File

@ -311,7 +311,7 @@ fn main() {
mgm_handler_composite_rx, mgm_handler_composite_rx,
pus_hk_reply_tx.clone(), pus_hk_reply_tx.clone(),
switch_helper.clone(), switch_helper.clone(),
tm_sender, tm_sender.clone(),
mgm_spi_interface, mgm_spi_interface,
shared_mgm_set, shared_mgm_set,
); );
@ -341,7 +341,7 @@ fn main() {
pcdu_handler_composite_rx, pcdu_handler_composite_rx,
pus_hk_reply_tx, pus_hk_reply_tx,
switch_request_rx, switch_request_rx,
tm_sink_tx, tm_sender.clone(),
pcdu_serial_interface, pcdu_serial_interface,
shared_switch_set, shared_switch_set,
); );