remove some more generics
This commit is contained in:
parent
81babe0329
commit
a4bebbbb98
1
satrs-example/src/acs/assembly.rs
Normal file
1
satrs-example/src/acs/assembly.rs
Normal file
@ -0,0 +1 @@
|
|||||||
|
// TODO: Write the assembly
|
1
satrs-example/src/acs/ctrl.rs
Normal file
1
satrs-example/src/acs/ctrl.rs
Normal file
@ -0,0 +1 @@
|
|||||||
|
// TODO: Write dummy controller
|
@ -1 +1,4 @@
|
|||||||
|
pub mod assembly;
|
||||||
|
pub mod ctrl;
|
||||||
pub mod mgm;
|
pub mod mgm;
|
||||||
|
pub mod subsystem;
|
||||||
|
1
satrs-example/src/acs/subsystem.rs
Normal file
1
satrs-example/src/acs/subsystem.rs
Normal file
@ -0,0 +1 @@
|
|||||||
|
// TODO: Write subsystem
|
@ -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,
|
||||||
);
|
);
|
||||||
|
@ -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,
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user