Struct cameleon::u3v::register_map::Sbrm
source · pub struct Sbrm { /* private fields */ }
Expand description
Represent Technology Specific Boot Register Map (SBRM).
To maintain consistency with the device data, Sbrm
doesn’t cache any data. It means
that all methods of this struct cause communication with the device every time, thus the device
is expected to be opened when methods are called.
Implementations§
source§impl Sbrm
impl Sbrm
sourcepub fn new<Ctrl: DeviceControl + ?Sized>(
device: &mut Ctrl,
sbrm_addr: u64
) -> ControlResult<Self>
pub fn new<Ctrl: DeviceControl + ?Sized>( device: &mut Ctrl, sbrm_addr: u64 ) -> ControlResult<Self>
Constructs new Sbrm
, consider using super::ControlHandle::sbrm
isntead.
sourcepub fn u3v_version<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<Version>
pub fn u3v_version<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<Version>
Version of U3V of the device.
sourcepub fn maximum_command_transfer_length<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<u32>
pub fn maximum_command_transfer_length<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<u32>
Maximum command transfer length in bytes.
This value specifies the maximum byte length of the command which is sent from the host to the device at one time.
sourcepub fn maximum_acknowledge_trasfer_length<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<u32>
pub fn maximum_acknowledge_trasfer_length<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<u32>
Maximum acknowledge transfer length in bytes.
This value specifies the maximum byte length of the acknowledge command which is sent from the device to the host at one time.
sourcepub fn number_of_stream_channel<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<u32>
pub fn number_of_stream_channel<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<u32>
The number of stream channels the device has.
sourcepub fn sirm<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<Option<Sirm>>
pub fn sirm<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<Option<Sirm>>
Return Sirm
if it’s available.
sourcepub fn sirm_address<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<Option<u64>>
pub fn sirm_address<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<Option<u64>>
The initial address of Sirm
.
NOTE: Some device doesn’t support this feature.
Please refer to U3VCapablitiy
to see whether the feature is available on the device.
sourcepub fn sirm_length<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<Option<u32>>
pub fn sirm_length<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<Option<u32>>
The length of Sirm
.
NOTE: Some device doesn’t support this feature.
Please refer to U3VCapablitiy
to see whether the feature is available on the device.
sourcepub fn eirm_address<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<Option<u64>>
pub fn eirm_address<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<Option<u64>>
The initial address of Eirm
.
NOTE: Some device doesn’t support this feature.
Please refer to U3VCapablitiy
to see whether the feature is available on the device.
sourcepub fn eirm_length<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<Option<u32>>
pub fn eirm_length<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<Option<u32>>
The length of Eirm
.
NOTE: Some device doesn’t support this feature.
Please refer to U3VCapablitiy
to see whether the feature is available on the device.
sourcepub fn iidc2_address<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<Option<u64>>
pub fn iidc2_address<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<Option<u64>>
The initial address of IIDC2
.
NOTE: Some device doesn’t support this feature.
Please refer to U3VCapablitiy
to see whether the feature is available on the device.
sourcepub fn current_speed<Ctrl: DeviceControl + ?Sized>(
&self,
device: &mut Ctrl
) -> ControlResult<BusSpeed>
pub fn current_speed<Ctrl: DeviceControl + ?Sized>( &self, device: &mut Ctrl ) -> ControlResult<BusSpeed>
Current bus speed used to communication.
sourcepub fn u3v_capability(&self) -> ControlResult<U3VCapablitiy>
pub fn u3v_capability(&self) -> ControlResult<U3VCapablitiy>
Indicate some optional features are supported or not.