compiles again
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
This commit is contained in:
parent
cb0a65c4d4
commit
8e89c8dd66
@ -8,14 +8,13 @@ use derive_new::new;
|
|||||||
use satrs::{
|
use satrs::{
|
||||||
hk::{HkRequest, HkRequestVariant},
|
hk::{HkRequest, HkRequestVariant},
|
||||||
mode::{ModeAndSubmode, ModeError, ModeProvider, ModeReply, ModeRequestHandler},
|
mode::{ModeAndSubmode, ModeError, ModeProvider, ModeReply, ModeRequestHandler},
|
||||||
power::{SwitchState, SwitchStateBinary},
|
|
||||||
pus::EcssTmSender,
|
pus::EcssTmSender,
|
||||||
queue::{GenericSendError, GenericTargetedMessagingError},
|
queue::{GenericSendError, GenericTargetedMessagingError},
|
||||||
request::{GenericMessage, MessageMetadata, UniqueApidTargetId},
|
request::{GenericMessage, MessageMetadata, UniqueApidTargetId},
|
||||||
};
|
};
|
||||||
use satrs_example::{config::components::PUS_MODE_SERVICE, DeviceMode, TimestampHelper};
|
use satrs_example::{config::components::PUS_MODE_SERVICE, DeviceMode, TimestampHelper};
|
||||||
use satrs_minisim::{
|
use satrs_minisim::{
|
||||||
eps::{PcduReply, PcduRequest, SwitchMap, SwitchMapWrapper},
|
eps::{PcduReply, PcduRequest, SwitchMap, SwitchMapBinaryWrapper},
|
||||||
SerializableSimMsgPayload, SimReply, SimRequest,
|
SerializableSimMsgPayload, SimReply, SimRequest,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -76,7 +75,7 @@ impl SerialInterface for SerialInterfaceToSim {
|
|||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
pub struct SerialInterfaceDummy {
|
pub struct SerialInterfaceDummy {
|
||||||
// Need interior mutability here for both fields.
|
// Need interior mutability here for both fields.
|
||||||
pub switch_map: RefCell<SwitchMapWrapper>,
|
pub switch_map: RefCell<SwitchMapBinaryWrapper>,
|
||||||
pub reply_deque: RefCell<VecDeque<SimReply>>,
|
pub reply_deque: RefCell<VecDeque<SimReply>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,20 +91,10 @@ impl SerialInterface for SerialInterfaceDummy {
|
|||||||
PcduRequest::SwitchDevice { switch, state } => {
|
PcduRequest::SwitchDevice { switch, state } => {
|
||||||
match switch_map_mut.entry(switch) {
|
match switch_map_mut.entry(switch) {
|
||||||
std::collections::hash_map::Entry::Occupied(mut val) => {
|
std::collections::hash_map::Entry::Occupied(mut val) => {
|
||||||
match state {
|
*val.get_mut() = state;
|
||||||
SwitchStateBinary::Off => {
|
|
||||||
*val.get_mut() = SwitchState::Off;
|
|
||||||
}
|
|
||||||
SwitchStateBinary::On => {
|
|
||||||
*val.get_mut() = SwitchState::On;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
std::collections::hash_map::Entry::Vacant(vacant) => {
|
std::collections::hash_map::Entry::Vacant(vacant) => {
|
||||||
match state {
|
vacant.insert(state);
|
||||||
SwitchStateBinary::Off => vacant.insert(SwitchState::Off),
|
|
||||||
SwitchStateBinary::On => vacant.insert(SwitchState::On),
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -205,6 +194,8 @@ impl<ComInterface: SerialInterface, TmSender: EcssTmSender> PcduHandler<ComInter
|
|||||||
// Handle requests.
|
// Handle requests.
|
||||||
self.handle_composite_requests();
|
self.handle_composite_requests();
|
||||||
self.handle_mode_requests();
|
self.handle_mode_requests();
|
||||||
|
// Poll the switch states and telemetry regularly here.
|
||||||
|
if self.mode() == DeviceMode::Normal as u32 {}
|
||||||
}
|
}
|
||||||
OpCode::PollAndRecvReplies => {
|
OpCode::PollAndRecvReplies => {
|
||||||
self.poll_and_handle_replies();
|
self.poll_and_handle_replies();
|
||||||
|
@ -204,15 +204,14 @@ pub mod eps {
|
|||||||
}
|
}
|
||||||
Self(switch_map)
|
Self(switch_map)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl From<SwitchMapBinaryWrapper> for SwitchMapWrapper {
|
pub fn from_binary_switch_map_ref(switch_map: &SwitchMapBinary) -> Self {
|
||||||
fn from(value: SwitchMapBinaryWrapper) -> Self {
|
Self(
|
||||||
value
|
switch_map
|
||||||
.0
|
|
||||||
.iter()
|
.iter()
|
||||||
.map(|(key, value)| (*key, SwitchState::from(value.into())))
|
.map(|(key, value)| (*key, SwitchState::from(*value)))
|
||||||
.collect()
|
.collect(),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user