pub struct VerificationReporterCore {
pub dest_id: u16,
/* private fields */
}Fields§
§dest_id: u16Implementations§
Source§impl VerificationReporterCore
Primary verification handler. It provides an API to send PUS 1 verification telemetry packets
and verify the various steps of telecommand handling as specified in the PUS standard.
impl VerificationReporterCore
Primary verification handler. It provides an API to send PUS 1 verification telemetry packets and verify the various steps of telecommand handling as specified in the PUS standard.
This is the core component which can be used without alloc support. Please note that
the buffer passed to the API exposes by this struct will be used to serialize the source data.
This buffer may not be re-used to serialize the whole telemetry because that would overwrite
the source data itself.
pub fn new(apid: u16) -> Option<Self>
pub fn set_apid(&mut self, apid: u16) -> bool
pub fn apid(&self) -> u16
pub fn dest_id(&self) -> u16
pub fn set_dest_id(&mut self, dest_id: u16)
Sourcepub fn add_tc(
&mut self,
pus_tc: &(impl CcsdsPacket + IsPusTelecommand),
) -> VerificationToken<TcStateNone>
pub fn add_tc( &mut self, pus_tc: &(impl CcsdsPacket + IsPusTelecommand), ) -> VerificationToken<TcStateNone>
Initialize verification handling by passing a TC reference. This returns a token required to call the acceptance functions
Sourcepub fn add_tc_with_req_id(
&mut self,
req_id: RequestId,
) -> VerificationToken<TcStateNone>
pub fn add_tc_with_req_id( &mut self, req_id: RequestId, ) -> VerificationToken<TcStateNone>
Same as Self::add_tc but pass a request ID instead of the direct telecommand. This can be useful if the executing thread does not have full access to the telecommand.
Sourcepub fn acceptance_success<'src_data>(
&self,
src_data_buf: &'src_data mut [u8],
token: VerificationToken<TcStateNone>,
seq_count: u16,
msg_count: u16,
time_stamp: Option<&'src_data [u8]>,
) -> Result<VerificationSendable<'src_data, TcStateNone, VerifSuccess>, VerificationErrorWithToken<TcStateNone>>
pub fn acceptance_success<'src_data>( &self, src_data_buf: &'src_data mut [u8], token: VerificationToken<TcStateNone>, seq_count: u16, msg_count: u16, time_stamp: Option<&'src_data [u8]>, ) -> Result<VerificationSendable<'src_data, TcStateNone, VerifSuccess>, VerificationErrorWithToken<TcStateNone>>
Package a PUS TM[1, 1] packet, see 8.1.2.1 of the PUS standard.
pub fn send_acceptance_success( &self, sendable: VerificationSendable<'_, TcStateNone, VerifSuccess>, sender: &(impl EcssTmSenderCore + ?Sized), ) -> Result<VerificationToken<TcStateAccepted>, VerificationOrSendErrorWithToken<TcStateNone>>
pub fn send_acceptance_failure( &self, sendable: VerificationSendable<'_, TcStateNone, VerifFailure>, sender: &(impl EcssTmSenderCore + ?Sized), ) -> Result<(), VerificationOrSendErrorWithToken<TcStateNone>>
Sourcepub fn acceptance_failure<'src_data>(
&self,
src_data_buf: &'src_data mut [u8],
token: VerificationToken<TcStateNone>,
seq_count: u16,
msg_count: u16,
params: FailParams<'src_data, '_>,
) -> Result<VerificationSendable<'src_data, TcStateNone, VerifFailure>, VerificationErrorWithToken<TcStateNone>>
pub fn acceptance_failure<'src_data>( &self, src_data_buf: &'src_data mut [u8], token: VerificationToken<TcStateNone>, seq_count: u16, msg_count: u16, params: FailParams<'src_data, '_>, ) -> Result<VerificationSendable<'src_data, TcStateNone, VerifFailure>, VerificationErrorWithToken<TcStateNone>>
Package a PUS TM[1, 2] packet, see 8.1.2.2 of the PUS standard.
Sourcepub fn start_success<'src_data>(
&self,
src_data_buf: &'src_data mut [u8],
token: VerificationToken<TcStateAccepted>,
seq_count: u16,
msg_count: u16,
time_stamp: Option<&'src_data [u8]>,
) -> Result<VerificationSendable<'src_data, TcStateAccepted, VerifSuccess>, VerificationErrorWithToken<TcStateAccepted>>
pub fn start_success<'src_data>( &self, src_data_buf: &'src_data mut [u8], token: VerificationToken<TcStateAccepted>, seq_count: u16, msg_count: u16, time_stamp: Option<&'src_data [u8]>, ) -> Result<VerificationSendable<'src_data, TcStateAccepted, VerifSuccess>, VerificationErrorWithToken<TcStateAccepted>>
Package and send a PUS TM[1, 3] packet, see 8.1.2.3 of the PUS standard.
Requires a token previously acquired by calling Self::acceptance_success.
pub fn send_start_success( &self, sendable: VerificationSendable<'_, TcStateAccepted, VerifSuccess>, sender: &(impl EcssTmSenderCore + ?Sized), ) -> Result<VerificationToken<TcStateStarted>, VerificationOrSendErrorWithToken<TcStateAccepted>>
Sourcepub fn start_failure<'src_data>(
&self,
src_data_buf: &'src_data mut [u8],
token: VerificationToken<TcStateAccepted>,
seq_count: u16,
msg_count: u16,
params: FailParams<'src_data, '_>,
) -> Result<VerificationSendable<'src_data, TcStateAccepted, VerifFailure>, VerificationErrorWithToken<TcStateAccepted>>
pub fn start_failure<'src_data>( &self, src_data_buf: &'src_data mut [u8], token: VerificationToken<TcStateAccepted>, seq_count: u16, msg_count: u16, params: FailParams<'src_data, '_>, ) -> Result<VerificationSendable<'src_data, TcStateAccepted, VerifFailure>, VerificationErrorWithToken<TcStateAccepted>>
Package and send a PUS TM[1, 4] packet, see 8.1.2.4 of the PUS standard.
Requires a token previously acquired by calling Self::acceptance_success. It consumes the token because verification handling is done.
pub fn send_start_failure( &self, sendable: VerificationSendable<'_, TcStateAccepted, VerifFailure>, sender: &(impl EcssTmSenderCore + ?Sized), ) -> Result<(), VerificationOrSendErrorWithToken<TcStateAccepted>>
Sourcepub fn step_success<'src_data>(
&self,
src_data_buf: &'src_data mut [u8],
token: &VerificationToken<TcStateStarted>,
seq_count: u16,
msg_count: u16,
time_stamp: Option<&'src_data [u8]>,
step: impl EcssEnumeration,
) -> Result<VerificationSendable<'src_data, TcStateStarted, VerifSuccess>, EcssTmtcError>
pub fn step_success<'src_data>( &self, src_data_buf: &'src_data mut [u8], token: &VerificationToken<TcStateStarted>, seq_count: u16, msg_count: u16, time_stamp: Option<&'src_data [u8]>, step: impl EcssEnumeration, ) -> Result<VerificationSendable<'src_data, TcStateStarted, VerifSuccess>, EcssTmtcError>
Package and send a PUS TM[1, 5] packet, see 8.1.2.5 of the PUS standard.
Requires a token previously acquired by calling Self::start_success.
Sourcepub fn step_failure<'src_data>(
&self,
src_data_buf: &'src_data mut [u8],
token: VerificationToken<TcStateStarted>,
seq_count: u16,
msg_count: u16,
params: FailParamsWithStep<'src_data, '_>,
) -> Result<VerificationSendable<'src_data, TcStateStarted, VerifFailure>, VerificationErrorWithToken<TcStateStarted>>
pub fn step_failure<'src_data>( &self, src_data_buf: &'src_data mut [u8], token: VerificationToken<TcStateStarted>, seq_count: u16, msg_count: u16, params: FailParamsWithStep<'src_data, '_>, ) -> Result<VerificationSendable<'src_data, TcStateStarted, VerifFailure>, VerificationErrorWithToken<TcStateStarted>>
Package and send a PUS TM[1, 6] packet, see 8.1.2.6 of the PUS standard.
Requires a token previously acquired by calling Self::start_success. It consumes the token because verification handling is done.
Sourcepub fn completion_success<'src_data, TcState: WasAtLeastAccepted + Copy>(
&self,
src_data_buf: &'src_data mut [u8],
token: VerificationToken<TcState>,
seq_counter: u16,
msg_counter: u16,
time_stamp: Option<&'src_data [u8]>,
) -> Result<VerificationSendable<'src_data, TcState, VerifSuccess>, VerificationErrorWithToken<TcState>>
pub fn completion_success<'src_data, TcState: WasAtLeastAccepted + Copy>( &self, src_data_buf: &'src_data mut [u8], token: VerificationToken<TcState>, seq_counter: u16, msg_counter: u16, time_stamp: Option<&'src_data [u8]>, ) -> Result<VerificationSendable<'src_data, TcState, VerifSuccess>, VerificationErrorWithToken<TcState>>
Package and send a PUS TM[1, 7] packet, see 8.1.2.7 of the PUS standard.
Requires a token previously acquired by calling Self::start_success. It consumes the token because verification handling is done.
Sourcepub fn completion_failure<'src_data, TcState: WasAtLeastAccepted + Copy>(
&self,
src_data_buf: &'src_data mut [u8],
token: VerificationToken<TcState>,
seq_count: u16,
msg_count: u16,
params: FailParams<'src_data, '_>,
) -> Result<VerificationSendable<'src_data, TcState, VerifFailure>, VerificationErrorWithToken<TcState>>
pub fn completion_failure<'src_data, TcState: WasAtLeastAccepted + Copy>( &self, src_data_buf: &'src_data mut [u8], token: VerificationToken<TcState>, seq_count: u16, msg_count: u16, params: FailParams<'src_data, '_>, ) -> Result<VerificationSendable<'src_data, TcState, VerifFailure>, VerificationErrorWithToken<TcState>>
Package and send a PUS TM[1, 8] packet, see 8.1.2.8 of the PUS standard.
Requires a token previously acquired by calling Self::start_success. It consumes the token because verification handling is done.
pub fn send_step_or_completion_success<TcState: WasAtLeastAccepted + Copy>( &self, sendable: VerificationSendable<'_, TcState, VerifSuccess>, sender: &(impl EcssTmSenderCore + ?Sized), ) -> Result<(), VerificationOrSendErrorWithToken<TcState>>
pub fn send_step_or_completion_failure<TcState: WasAtLeastAccepted + Copy>( &self, sendable: VerificationSendable<'_, TcState, VerifFailure>, sender: &(impl EcssTmSenderCore + ?Sized), ) -> Result<(), VerificationOrSendErrorWithToken<TcState>>
Trait Implementations§
Source§impl Clone for VerificationReporterCore
impl Clone for VerificationReporterCore
Source§fn clone(&self) -> VerificationReporterCore
fn clone(&self) -> VerificationReporterCore
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for VerificationReporterCore
impl RefUnwindSafe for VerificationReporterCore
impl Send for VerificationReporterCore
impl Sync for VerificationReporterCore
impl Unpin for VerificationReporterCore
impl UnwindSafe for VerificationReporterCore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.