Struct svd_rs::field::FieldInfo

source ·
#[non_exhaustive]
pub struct FieldInfo { pub name: String, pub description: Option<String>, pub bit_range: BitRange, pub access: Option<Access>, pub modified_write_values: Option<ModifiedWriteValues>, pub write_constraint: Option<WriteConstraint>, pub read_action: Option<ReadAction>, pub enumerated_values: Vec<EnumeratedValues>, pub derived_from: Option<String>, }
Expand description

A partition of a register

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

Name string used to identify the field. Field names must be unique within a register

§description: Option<String>

String describing the details of the register

§bit_range: BitRange

Bit position of the field within the register

§access: Option<Access>

Predefined strings set the access type. The element can be omitted if access rights get inherited from parent elements

§modified_write_values: Option<ModifiedWriteValues>

Describe the manipulation of data written to a field.

§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 field is not modified

§enumerated_values: Vec<EnumeratedValues>

Describes the field

§derived_from: Option<String>

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

Implementations§

source§

impl FieldInfo

source

pub fn builder() -> FieldInfoBuilder

Make a builder for FieldInfo

source

pub const fn single(self) -> Field

Construct single Field

source

pub const fn array(self, dim: DimElement) -> Field

Construct Field array

source

pub fn maybe_array(self, dim: Option<DimElement>) -> Field

Construct single Field or array

source

pub fn modify_from( &mut self, builder: FieldInfoBuilder, lvl: ValidateLevel ) -> Result<(), SvdError>

Modify an existing FieldInfo based on a builder.

source

pub fn validate(&self, lvl: ValidateLevel) -> Result<(), SvdError>

Validate the FieldInfo.

source

pub fn validate_all(&self, lvl: ValidateLevel) -> Result<(), SvdError>

Validate the FieldInfo recursively

source

pub fn bit_offset(&self) -> u32

Get bit offset

source

pub fn bit_width(&self) -> u32

Get bit width

source

pub fn lsb(&self) -> u32

Get the position of the least significant bit

source

pub fn msb(&self) -> u32

Get the position of the most significant bit

source

pub fn get_enumerated_values(&self, usage: Usage) -> Option<&EnumeratedValues>

Get enumeratedValues cluster by usage

source

pub fn get_mut_enumerated_values( &mut self, usage: Usage ) -> Option<&mut EnumeratedValues>

Get mutable enumeratedValues by usage

Trait Implementations§

source§

impl Clone for FieldInfo

source§

fn clone(&self) -> FieldInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FieldInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Description for FieldInfo

source§

fn description(&self) -> Option<&str>

Get description
source§

impl From<FieldInfo> for FieldInfoBuilder

source§

fn from(f: FieldInfo) -> Self

Converts to this type from the input type.
source§

impl Name for FieldInfo

source§

fn name(&self) -> &str

Get name
source§

impl PartialEq for FieldInfo

source§

fn eq(&self, other: &FieldInfo) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for FieldInfo

source§

impl StructuralPartialEq for FieldInfo

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.