Struct capsules_extra::max17205::MAX17205Driver
source · pub struct MAX17205Driver<'a, I: I2CDevice> { /* private fields */ }
Implementations§
source§impl<'a, I: I2CDevice> MAX17205Driver<'a, I>
impl<'a, I: I2CDevice> MAX17205Driver<'a, I>
pub fn new( max: &'a MAX17205<'_, I>, grant: Grant<App, UpcallCount<{ upcall::COUNT }>, AllowRoCount<0>, AllowRwCount<0>>, ) -> Self
Trait Implementations§
source§impl<I: I2CDevice> MAX17205Client for MAX17205Driver<'_, I>
impl<I: I2CDevice> MAX17205Client for MAX17205Driver<'_, I>
fn status(&self, status: u16, error: Result<(), ErrorCode>)
fn state_of_charge( &self, percent: u16, capacity: u16, full_capacity: u16, error: Result<(), ErrorCode>, )
fn voltage_current( &self, voltage: u16, current: u16, error: Result<(), ErrorCode>, )
fn coulomb(&self, coulomb: u16, error: Result<(), ErrorCode>)
fn romid(&self, rid: u64, error: Result<(), ErrorCode>)
source§impl<I: I2CDevice> SyscallDriver for MAX17205Driver<'_, I>
impl<I: I2CDevice> SyscallDriver for MAX17205Driver<'_, I>
source§fn command(
&self,
command_num: usize,
_data: usize,
_: usize,
process_id: ProcessId,
) -> CommandReturn
fn command( &self, command_num: usize, _data: usize, _: usize, process_id: ProcessId, ) -> CommandReturn
Setup and read the MAX17205.
§command_num
0
: Driver existence check.1
: Read the current status of the MAX17205.2
: Read the current state of charge percent.3
: Read the current voltage and current draw.4
: Read the raw coulomb count.5
: Read the unique 64 bit RomID.
source§fn allocate_grant(&self, processid: ProcessId) -> Result<(), Error>
fn allocate_grant(&self, processid: ProcessId) -> Result<(), Error>
Request to allocate a capsule’s grant for a specific process. Read more
source§fn allow_userspace_readable(
&self,
app: ProcessId,
which: usize,
slice: ReadWriteProcessBuffer,
) -> Result<ReadWriteProcessBuffer, (ReadWriteProcessBuffer, ErrorCode)>
fn allow_userspace_readable( &self, app: ProcessId, which: usize, slice: ReadWriteProcessBuffer, ) -> Result<ReadWriteProcessBuffer, (ReadWriteProcessBuffer, ErrorCode)>
System call for a process to pass a buffer (a
UserspaceReadableProcessBuffer
) to the kernel that the kernel can
either read or write. The kernel calls this method only after it checks
that the entire buffer is within memory the process can both read and
write. Read moreAuto Trait Implementations§
impl<'a, I> !Freeze for MAX17205Driver<'a, I>
impl<'a, I> !RefUnwindSafe for MAX17205Driver<'a, I>
impl<'a, I> !Send for MAX17205Driver<'a, I>
impl<'a, I> !Sync for MAX17205Driver<'a, I>
impl<'a, I> Unpin for MAX17205Driver<'a, I>
impl<'a, I> !UnwindSafe for MAX17205Driver<'a, I>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more