Trait galileo_osnma::storage::StaticStorage
source · [−]pub trait StaticStorage {
type NavMessageDepth: StaticStorageTypenum;
type NavMessageDepthSats: StaticStorageTypenum;
type MackDepth: StaticStorageTypenum;
type MackDepthSats: StaticStorageTypenum;
const NUM_SATS: usize;
}
Expand description
Trait defining static storage sizes.
A type that implements this trait defines the sizes for the static
storage used for OSNMA data. In general, unsigned integers from the
typenum
crate should be used anywhere a StaticStorageTypenum
is
needed.
There is some consistency that must be ensured between the different sizes. If a type does not follow these consistency rules, users of that type may panic or give wrong results.
Required Associated Types
Number of navigation message subframes to store.
Several navigation messages are stored as a history of past data.
The value used here should usually be one more than the value of
MackDepth
, because tags in the MACK message refer to navigation
data transmitted in the previous subframe.
Product of NUM_SATS
and NavMessageDepth
.
This type should always equal the product of NUM_SATS
and
NavMessageDepth
.
Number of MACK message subframes to store.
Several MACK messages are stored as a history of past data. In order to process Slow MAC, the value of this type should be at least 12, because it is necessary to store the current subframe, the previous subframe (whose tags correspond to the key in the current subframe), plus the 10 previous subframes to account for the Slow MAC delay. If Slow MAC processing is not needed, then this value can be as small as 2.
Product of NUM_SATS
and MackDepth
.
This type should always equal the product of NUM_SATS
and MackDepth
.