#[non_exhaustive]
pub struct RegisterInfo { pub name: String, pub display_name: Option<String>, pub description: Option<String>, pub alternate_group: Option<String>, pub alternate_register: Option<String>, pub address_offset: u32, pub properties: RegisterProperties, pub modified_write_values: Option<ModifiedWriteValues>, pub write_constraint: Option<WriteConstraint>, pub read_action: Option<ReadAction>, pub fields: Option<Vec<Field>>, pub derived_from: Option<String>, }
Expand description

A register is a named, programmable resource that belongs to a peripheral.

Fields (Non-exhaustive)

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
name: String

String to identify the register. Register names are required to be unique within the scope of a peripheral

display_name: Option<String>

Specifies a register name without the restrictions of an ANSI C identifier.

description: Option<String>

String describing the details of the register

alternate_group: Option<String>

Specifies a group name associated with all alternate register that have the same name

alternate_register: Option<String>

This tag can reference a register that has been defined above to current location in the description and that describes the memory location already

address_offset: u32

Define the address offset relative to the enclosing element

properties: RegisterProperties

Specifies register size, access permission and reset value

modified_write_values: Option<ModifiedWriteValues>

Specifies the write side effects

write_constraint: Option<WriteConstraint>

Specifies the subset of allowed write values

read_action: Option<ReadAction>

If set, it specifies the side effect following a read operation. If not set, the register is not modified

fields: Option<Vec<Field>>

None indicates that the <fields> node is not present

derived_from: Option<String>

Specify the register name from which to inherit data. Elements specified subsequently override inherited values

Implementations

Make a builder for RegisterInfo

Construct single Register

Construct Register array

Modify an existing RegisterInfo based on a builder.

Validate the RegisterInfo

Returns iterator over child fields

Returns mutable iterator over child fields

Get field by name

Get mutable field by name

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

Get name

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.