pub struct LedDriver<'a, L: Led, const NUM_LEDS: usize> { /* private fields */ }
Expand description
Holds the array of LEDs and implements a Driver
interface to
control them.
Implementations§
Trait Implementations§
Source§impl<L: Led, const NUM_LEDS: usize> SyscallDriver for LedDriver<'_, L, NUM_LEDS>
impl<L: Led, const NUM_LEDS: usize> SyscallDriver for LedDriver<'_, L, NUM_LEDS>
Source§fn command(
&self,
command_num: usize,
data: usize,
_: usize,
_: ProcessId,
) -> CommandReturn
fn command( &self, command_num: usize, data: usize, _: usize, _: ProcessId, ) -> CommandReturn
Control the LEDs.
§command_num
0
: Returns the number of LEDs on the board. This will always be 0 or greater, and therefore also allows for checking for this driver.1
: Turn the LED at index specified bydata
on. ReturnsINVAL
if the LED index is not valid.2
: Turn the LED at index specified bydata
off. ReturnsINVAL
if the LED index is not valid.3
: Toggle the LED at index specified bydata
on or off. ReturnsINVAL
if the LED index is not valid.
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, L, const NUM_LEDS: usize> Freeze for LedDriver<'a, L, NUM_LEDS>
impl<'a, L, const NUM_LEDS: usize> RefUnwindSafe for LedDriver<'a, L, NUM_LEDS>where
L: RefUnwindSafe,
impl<'a, L, const NUM_LEDS: usize> Send for LedDriver<'a, L, NUM_LEDS>where
L: Sync,
impl<'a, L, const NUM_LEDS: usize> Sync for LedDriver<'a, L, NUM_LEDS>where
L: Sync,
impl<'a, L, const NUM_LEDS: usize> Unpin for LedDriver<'a, L, NUM_LEDS>
impl<'a, L, const NUM_LEDS: usize> UnwindSafe for LedDriver<'a, L, NUM_LEDS>where
L: RefUnwindSafe,
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