Struct capsules_extra::max17205::MAX17205Driver

source ·
pub struct MAX17205Driver<'a, I: I2CDevice> { /* private fields */ }

Implementations§

source§

impl<'a, I: I2CDevice> MAX17205Driver<'a, I>

source

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>

source§

fn status(&self, status: u16, error: Result<(), ErrorCode>)

source§

fn state_of_charge( &self, percent: u16, capacity: u16, full_capacity: u16, error: Result<(), ErrorCode>, )

source§

fn voltage_current( &self, voltage: u16, current: u16, error: Result<(), ErrorCode>, )

source§

fn coulomb(&self, coulomb: u16, error: Result<(), ErrorCode>)

source§

fn romid(&self, rid: u64, error: Result<(), ErrorCode>)

source§

impl<I: I2CDevice> SyscallDriver for MAX17205Driver<'_, I>

source§

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>

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)>

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 more

Auto 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> 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, 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.