[][src]Struct svd_expander::ClusterSpec

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>,
    // some fields omitted
}

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

impl ClusterSpec[src]

pub fn derived_from_path(&self) -> Option<String>[src]

The full path to the cluster that this cluster inherits from (if any).

pub fn path(&self) -> String[src]

The full path to this cluster.

pub fn iter_clusters<'a>(
    &'a self
) -> Box<dyn Iterator<Item = &ClusterSpec> + 'a>
[src]

Recursively iterates all the register clusters contained within this cluster.

pub fn iter_registers<'a>(
    &'a self
) -> Box<dyn Iterator<Item = &RegisterSpec> + 'a>
[src]

Recursively iterates all the registers contained within this cluster.

pub fn iter_fields<'a>(&'a self) -> Box<dyn Iterator<Item = &FieldSpec> + 'a>[src]

Recursively iterates all the register fields contained within this cluster.

pub fn iter_enumerated_value_sets<'a>(
    &'a self
) -> Box<dyn Iterator<Item = &EnumeratedValueSetSpec> + 'a>
[src]

Recursively iterates all the enumerated value sets on all the regsiters contained within this cluster.

Trait Implementations

impl Clone for ClusterSpec[src]

impl Debug for ClusterSpec[src]

impl PartialEq<ClusterSpec> for ClusterSpec[src]

impl StructuralPartialEq for ClusterSpec[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.