pub struct ClusterSpec {
pub name: String,
pub description: Option<String>,
pub address_offset: u32,
pub default_register_size: Option<u32>,
pub default_register_reset_value: Option<u32>,
pub default_register_reset_mask: Option<u32>,
pub default_register_access: Option<AccessSpec>,
pub registers: Vec<RegisterSpec>,
pub clusters: Vec<ClusterSpec>,
/* private fields */
}
Expand description
Describes a cluster of registers that exist on a peripheral. Clusters may be top-level constructs of a peripheral or may be nested within other clusters.
Fields§
§name: String
Name that identifies the cluster. Must be unique within the scope of its parent.
description: Option<String>
Description of the details of the register cluster.
address_offset: u32
Cluster’s starting address relative to its parent.
default_register_size: Option<u32>
Default bit width of any register contained within this cluster.
default_register_reset_value: Option<u32>
Default value after reset of any register contained within this cluster.
default_register_reset_mask: Option<u32>
Default register bits that have a defined reset value for any register contained within this cluster.
default_register_access: Option<AccessSpec>
Default access rights of any register contained within this cluster.
registers: Vec<RegisterSpec>
Top-level registers that exist within this cluster.
clusters: Vec<ClusterSpec>
Top-level clusters nested within this cluster.
Implementations§
Source§impl ClusterSpec
impl ClusterSpec
Sourcepub fn derived_from_path(&self) -> Option<String>
pub fn derived_from_path(&self) -> Option<String>
The full path to the cluster that this cluster inherits from (if any).
Sourcepub fn iter_clusters<'a>(
&'a self,
) -> Box<dyn Iterator<Item = &ClusterSpec> + 'a>
pub fn iter_clusters<'a>( &'a self, ) -> Box<dyn Iterator<Item = &ClusterSpec> + 'a>
Recursively iterates all the register clusters contained within this cluster.
Sourcepub fn iter_registers<'a>(
&'a self,
) -> Box<dyn Iterator<Item = &RegisterSpec> + 'a>
pub fn iter_registers<'a>( &'a self, ) -> Box<dyn Iterator<Item = &RegisterSpec> + 'a>
Recursively iterates all the registers contained within this cluster.
Sourcepub fn iter_fields<'a>(&'a self) -> Box<dyn Iterator<Item = &FieldSpec> + 'a>
pub fn iter_fields<'a>(&'a self) -> Box<dyn Iterator<Item = &FieldSpec> + 'a>
Recursively iterates all the register fields contained within this cluster.
Sourcepub fn iter_enumerated_value_sets<'a>(
&'a self,
) -> Box<dyn Iterator<Item = &EnumeratedValueSetSpec> + 'a>
pub fn iter_enumerated_value_sets<'a>( &'a self, ) -> Box<dyn Iterator<Item = &EnumeratedValueSetSpec> + 'a>
Recursively iterates all the enumerated value sets on all the regsiters contained within this cluster.
Trait Implementations§
Source§impl Clone for ClusterSpec
impl Clone for ClusterSpec
Source§fn clone(&self) -> ClusterSpec
fn clone(&self) -> ClusterSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more