Trait drone_riscv::reg::Reg[][src]

pub trait Reg<T>: Token + Sync where
    T: RegTag
{ type Val: Bitfield; type UReg: Reg<Urt>; type SReg: Reg<Srt>; type CReg: Reg<Crt>; pub const ADDRESS: usize; pub const RESET: <Self::Val as Bitfield>::Bits; pub unsafe fn val_from(bits: <Self::Val as Bitfield>::Bits) -> Self::Val; pub fn into_unsync(self) -> Self::UReg
    where
        T: RegOwned
, { ... }
pub fn into_sync(self) -> Self::SReg
    where
        T: RegOwned
, { ... }
pub fn into_copy(self) -> Self::CReg { ... }
pub fn as_sync(&self) -> &Self::SReg
    where
        T: RegAtomic
, { ... }
pub fn default_val(&self) -> Self::Val { ... } }

The base trait for a memory-mapped register token.

Associated Types

type Val: Bitfield[src]

Opaque storage for register values.

This type is only a storage, without methods to read or write the stored bits. It should be used in conjunction with RegHold or register fields.

See also Hold.

type UReg: Reg<Urt>[src]

Corresponding unsynchronized register token.

type SReg: Reg<Srt>[src]

Corresponding synchronized register token.

type CReg: Reg<Crt>[src]

Corresponding copyable register token.

Loading content...

Associated Constants

pub const ADDRESS: usize[src]

The register address in memory.

pub const RESET: <Self::Val as Bitfield>::Bits[src]

The register default value.

Loading content...

Required methods

pub unsafe fn val_from(bits: <Self::Val as Bitfield>::Bits) -> Self::Val[src]

Creates a new instance of Reg::Val from raw bits.

Safety

This function is unsafe because it doesn’t require a token.

Loading content...

Provided methods

pub fn into_unsync(self) -> Self::UReg where
    T: RegOwned
[src]

Converts into unsynchronized register token.

pub fn into_sync(self) -> Self::SReg where
    T: RegOwned
[src]

Converts into synchronized register token.

pub fn into_copy(self) -> Self::CReg[src]

Converts into copyable register token.

pub fn as_sync(&self) -> &Self::SReg where
    T: RegAtomic
[src]

Returns a reference to the synchronized register token.

pub fn default_val(&self) -> Self::Val[src]

Creates a new opaque register value, and initializes it with the reset value.

See also default.

Loading content...

Implementors

Loading content...