Skip to main content

BaseReadableRegister

Trait BaseReadableRegister 

pub trait BaseReadableRegister<T>
where T: UIntLike,
{ type Reg: RegisterLongName; const REG_WIDTH: usize; // Required method fn base_get(&self) -> T; }
Expand description

Trait to be implemented by custom register structs that support reading the current value

§DO NOT USE DIRECTLY

This must be public to prevent generating a private_in_public but really should not be used directly. Use Read instead, which also incorporates this functionality.

Required Associated Constants§

Required Associated Types§

type Reg: RegisterLongName

Required Methods§

fn base_get(&self) -> T

Get the raw register value

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

§

impl<N> BaseReadableRegister<u8> for ReadOnly8C8B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 8usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u8> for ReadOnly8C32B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 8usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u8> for ReadWrite8C8B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 8usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u8> for ReadWrite8C32B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 8usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u16> for ReadOnly16C8B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 16usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u16> for ReadOnly16C32B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 16usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u16> for ReadWrite16C8B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 16usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u16> for ReadWrite16C32B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 16usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u32> for ReadOnly32C8B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 32usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u32> for ReadOnly32C32B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 32usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u32> for ReadWrite32C8B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 32usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u32> for ReadWrite32C32B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 32usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u64> for ReadOnly64C8B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 64usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u64> for ReadOnly64C32B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 64usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u64> for ReadWrite64C8B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 64usize

§

type Reg = N

§

impl<N> BaseReadableRegister<u64> for ReadWrite64C32B32<N>
where N: RegisterLongName,

§

const REG_WIDTH: usize = 64usize

§

type Reg = N

§

impl<T, N, R> BaseReadableRegister<T> for ReadRegWrapper<'_, T, N, R>
where T: UIntLike, N: RegisterLongName, R: BaseReadableRegister<T>,

§

const REG_WIDTH: usize = R::REG_WIDTH

§

type Reg = N

§

impl<T, N, R> BaseReadableRegister<T> for ReadWriteRegWrapper<'_, T, N, R>
where T: UIntLike, N: RegisterLongName, R: BaseReadableRegister<T> + BaseWriteableRegister<T>,

§

const REG_WIDTH: usize

§

type Reg = N