Type Alias LedsComponentType

Source
pub type LedsComponentType<L, const NUMLEDS: usize> = LedDriver<'static, L, NUMLEDS>;

Aliased Type§

struct LedsComponentType<L, const NUMLEDS: usize> { /* private fields */ }

Implementations

Source§

impl<'a, L, const NUM_LEDS: usize> LedDriver<'a, L, NUM_LEDS>
where L: Led,

Source

pub fn new(leds: &'a [&'a L; NUM_LEDS]) -> LedDriver<'a, L, NUM_LEDS>

Trait Implementations

Source§

impl<L, const NUM_LEDS: usize> SyscallDriver for LedDriver<'_, L, NUM_LEDS>
where L: Led,

Source§

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 by data on. Returns INVAL if the LED index is not valid.
  • 2: Turn the LED at index specified by data off. Returns INVAL if the LED index is not valid.
  • 3: Toggle the LED at index specified by data on or off. Returns INVAL if the LED index is not valid.
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