This commit is contained in:
parent
475a587f78
commit
7e551a9ab7
@ -221,7 +221,7 @@ pub trait PoolProviderMemInPlace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub trait PoolProviderMemInPlaceWithGuards: PoolProviderMemInPlace {
|
pub trait PoolProviderMemInPlaceWithGuards: PoolProviderMemInPlace {
|
||||||
/// This function behaves like [PoolProvider::read], but consumes the provided address
|
/// This function behaves like [PoolProviderMemInPlace::read], but consumes the provided address
|
||||||
/// and returns a RAII conformant guard object.
|
/// and returns a RAII conformant guard object.
|
||||||
///
|
///
|
||||||
/// Unless the guard [PoolRwGuard::release] method is called, the data for the
|
/// Unless the guard [PoolRwGuard::release] method is called, the data for the
|
||||||
@ -231,8 +231,8 @@ pub trait PoolProviderMemInPlaceWithGuards: PoolProviderMemInPlace {
|
|||||||
/// manual deletion is necessary when returning from a processing function prematurely.
|
/// manual deletion is necessary when returning from a processing function prematurely.
|
||||||
fn read_with_guard(&mut self, addr: StoreAddr) -> PoolGuard<Self>;
|
fn read_with_guard(&mut self, addr: StoreAddr) -> PoolGuard<Self>;
|
||||||
|
|
||||||
/// This function behaves like [PoolProvider::modify], but consumes the provided address
|
/// This function behaves like [PoolProviderMemInPlace::modify], but consumes the provided
|
||||||
/// and returns a RAII conformant guard object.
|
/// address and returns a RAII conformant guard object.
|
||||||
///
|
///
|
||||||
/// Unless the guard [PoolRwGuard::release] method is called, the data for the
|
/// Unless the guard [PoolRwGuard::release] method is called, the data for the
|
||||||
/// given address will be deleted automatically when the guard is dropped.
|
/// given address will be deleted automatically when the guard is dropped.
|
||||||
|
@ -712,7 +712,7 @@ pub mod std_mod {
|
|||||||
|
|
||||||
/// Converter structure for PUS telecommands which are stored inside a `Vec<u8>` structure.
|
/// Converter structure for PUS telecommands which are stored inside a `Vec<u8>` structure.
|
||||||
/// Please note that this structure is not able to convert TCs which are stored inside a
|
/// Please note that this structure is not able to convert TCs which are stored inside a
|
||||||
/// [SharedPool].
|
/// [SharedStaticMemoryPool].
|
||||||
#[derive(Default, Clone)]
|
#[derive(Default, Clone)]
|
||||||
pub struct EcssTcInVecConverter {
|
pub struct EcssTcInVecConverter {
|
||||||
pub pus_tc_raw: Option<Vec<u8>>,
|
pub pus_tc_raw: Option<Vec<u8>>,
|
||||||
@ -745,9 +745,10 @@ pub mod std_mod {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Converter structure for PUS telecommands which are stored inside a [SharedPool] structure.
|
/// Converter structure for PUS telecommands which are stored inside
|
||||||
/// This is useful if run-time allocation for these packets should be avoided. Please note
|
/// [SharedStaticMemoryPool] structure. This is useful if run-time allocation for these
|
||||||
/// that this structure is not able to convert TCs which are stored as a `Vec<u8>`.
|
/// packets should be avoided. Please note that this structure is not able to convert TCs which
|
||||||
|
/// are stored as a `Vec<u8>`.
|
||||||
pub struct EcssTcInSharedStoreConverter {
|
pub struct EcssTcInSharedStoreConverter {
|
||||||
shared_tc_store: SharedStaticMemoryPool,
|
shared_tc_store: SharedStaticMemoryPool,
|
||||||
pus_buf: Vec<u8>,
|
pus_buf: Vec<u8>,
|
||||||
|
@ -315,11 +315,11 @@ pub mod alloc_mod {
|
|||||||
/// This is the core data structure for scheduling PUS telecommands with [alloc] support.
|
/// This is the core data structure for scheduling PUS telecommands with [alloc] support.
|
||||||
///
|
///
|
||||||
/// It is assumed that the actual telecommand data is stored in a separate TC pool offering
|
/// It is assumed that the actual telecommand data is stored in a separate TC pool offering
|
||||||
/// a [crate::pool::PoolProvider] API. This data structure just tracks the store addresses and their
|
/// a [crate::pool::PoolProviderMemInPlace] API. This data structure just tracks the store
|
||||||
/// release times and offers a convenient API to insert and release telecommands and perform
|
/// addresses and their release times and offers a convenient API to insert and release
|
||||||
/// other functionality specified by the ECSS standard in section 6.11. The time is tracked
|
/// telecommands and perform other functionality specified by the ECSS standard in section 6.11.
|
||||||
/// as a [spacepackets::time::UnixTimestamp] but the only requirement to the timekeeping of
|
/// The time is tracked as a [spacepackets::time::UnixTimestamp] but the only requirement to
|
||||||
/// the user is that it is convertible to that timestamp.
|
/// the timekeeping of the user is that it is convertible to that timestamp.
|
||||||
///
|
///
|
||||||
/// The standard also specifies that the PUS scheduler can be enabled and disabled.
|
/// The standard also specifies that the PUS scheduler can be enabled and disabled.
|
||||||
/// A disabled scheduler should still delete commands where the execution time has been reached
|
/// A disabled scheduler should still delete commands where the execution time has been reached
|
||||||
|
Loading…
Reference in New Issue
Block a user