Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
- Better naming for pool abstractions - Added last unittests for PUS helper services - Introduce new abstraction for PUS schedulers - `StoreAddr` is now a generic u64 - `spacepackets` points to 0.7.0 release
34 lines
1.2 KiB
Rust
34 lines
1.2 KiB
Rust
use log::{error, warn};
|
|
use satrs_core::pus::event_srv::PusService5EventHandler;
|
|
use satrs_core::pus::{EcssTcInSharedStoreConverter, PusPacketHandlerResult};
|
|
|
|
pub struct Pus5Wrapper {
|
|
pub pus_5_handler: PusService5EventHandler<EcssTcInSharedStoreConverter>,
|
|
}
|
|
|
|
impl Pus5Wrapper {
|
|
pub fn handle_next_packet(&mut self) -> bool {
|
|
match self.pus_5_handler.handle_one_tc() {
|
|
Ok(result) => match result {
|
|
PusPacketHandlerResult::RequestHandled => {}
|
|
PusPacketHandlerResult::RequestHandledPartialSuccess(e) => {
|
|
warn!("PUS 5 partial packet handling success: {e:?}")
|
|
}
|
|
PusPacketHandlerResult::CustomSubservice(invalid, _) => {
|
|
warn!("PUS 5 invalid subservice {invalid}");
|
|
}
|
|
PusPacketHandlerResult::SubserviceNotImplemented(subservice, _) => {
|
|
warn!("PUS 5 subservice {subservice} not implemented");
|
|
}
|
|
PusPacketHandlerResult::Empty => {
|
|
return true;
|
|
}
|
|
},
|
|
Err(error) => {
|
|
error!("PUS packet handling error: {error:?}")
|
|
}
|
|
}
|
|
false
|
|
}
|
|
}
|