This commit is contained in:
2023-07-06 00:49:18 +02:00
parent 90493a6dcb
commit f7bf4a4d7b
10 changed files with 308 additions and 420 deletions

View File

@ -66,9 +66,7 @@ impl PusServiceHandler for PusService5EventHandler {
token,
));
}
let mut partial_error = None;
let time_stamp = self.psb().get_current_timestamp(&mut partial_error);
let mut handle_enable_disable_request = |enable: bool, stamp: [u8; 7]| {
let handle_enable_disable_request = |enable: bool, stamp: [u8; 7]| {
if tc.user_data().is_none() || tc.user_data().unwrap().len() < 4 {
return Err(PusPacketHandlingError::NotEnoughAppData(
"At least 4 bytes event ID expected".into(),
@ -79,6 +77,7 @@ impl PusServiceHandler for PusService5EventHandler {
let start_token = self
.psb
.verification_handler
.borrow_mut()
.start_success(token, Some(&stamp))
.map_err(|_| PartialPusHandlingError::VerificationError);
let partial_error = start_token.clone().err();
@ -109,6 +108,8 @@ impl PusServiceHandler for PusService5EventHandler {
}
Ok(PusPacketHandlerResult::RequestHandled)
};
let mut partial_error = None;
let time_stamp = self.psb().get_current_timestamp(&mut partial_error);
match srv.unwrap() {
Subservice::TmInfoReport
| Subservice::TmLowSeverityReport

View File

@ -148,6 +148,7 @@ pub mod std_mod {
use spacepackets::time::cds::TimeProvider;
use spacepackets::time::{StdTimestampError, TimeWriter};
use spacepackets::tm::PusTm;
use std::cell::RefCell;
use std::format;
use std::string::String;
use std::sync::{mpsc, RwLockWriteGuard};
@ -340,7 +341,9 @@ pub mod std_mod {
pub tm_tx: mpsc::Sender<StoreAddr>,
pub tm_store: SharedTmStore,
pub tm_apid: u16,
pub verification_handler: StdVerifReporterWithSender,
/// The verification handler is wrapped in a [RefCell] to allow the interior mutability
/// pattern. This makes writing methods which are not mutable a lot easier.
pub verification_handler: RefCell<StdVerifReporterWithSender>,
pub pus_buf: [u8; 2048],
pub pus_size: usize,
}
@ -360,7 +363,7 @@ pub mod std_mod {
tm_apid,
tm_tx,
tm_store,
verification_handler,
verification_handler: RefCell::new(verification_handler),
pus_buf: [0; 2048],
pus_size: 0,
}

View File

@ -72,6 +72,7 @@ impl PusServiceHandler for PusService11SchedHandler {
let start_token = self
.psb
.verification_handler
.get_mut()
.start_success(token, Some(&time_stamp))
.expect("Error sending start success");
@ -79,6 +80,7 @@ impl PusServiceHandler for PusService11SchedHandler {
if self.scheduler.is_enabled() {
self.psb
.verification_handler
.get_mut()
.completion_success(start_token, Some(&time_stamp))
.expect("Error sending completion success");
} else {
@ -89,6 +91,7 @@ impl PusServiceHandler for PusService11SchedHandler {
let start_token = self
.psb
.verification_handler
.get_mut()
.start_success(token, Some(&time_stamp))
.expect("Error sending start success");
@ -96,6 +99,7 @@ impl PusServiceHandler for PusService11SchedHandler {
if !self.scheduler.is_enabled() {
self.psb
.verification_handler
.get_mut()
.completion_success(start_token, Some(&time_stamp))
.expect("Error sending completion success");
} else {
@ -106,6 +110,7 @@ impl PusServiceHandler for PusService11SchedHandler {
let start_token = self
.psb
.verification_handler
.get_mut()
.start_success(token, Some(&time_stamp))
.expect("Error sending start success");
@ -117,6 +122,7 @@ impl PusServiceHandler for PusService11SchedHandler {
self.psb
.verification_handler
.get_mut()
.completion_success(start_token, Some(&time_stamp))
.expect("Error sending completion success");
}
@ -124,6 +130,7 @@ impl PusServiceHandler for PusService11SchedHandler {
let start_token = self
.psb
.verification_handler
.get_mut()
.start_success(token, Some(&time_stamp))
.expect("error sending start success");
@ -134,6 +141,7 @@ impl PusServiceHandler for PusService11SchedHandler {
self.psb
.verification_handler
.get_mut()
.completion_success(start_token, Some(&time_stamp))
.expect("sending completion success failed");
}

View File

@ -62,6 +62,7 @@ impl PusServiceHandler for PusService17TestHandler {
let result = self
.psb
.verification_handler
.get_mut()
.start_success(token, Some(&time_stamp))
.map_err(|_| PartialPusHandlingError::VerificationError);
let start_token = if let Ok(result) = result {
@ -87,6 +88,7 @@ impl PusServiceHandler for PusService17TestHandler {
if self
.psb
.verification_handler
.get_mut()
.completion_success(start_token, Some(&time_stamp))
.is_err()
{