pub type LedsComponentType<L, const NUMLEDS: usize> = LedDriver<'static, L, NUMLEDS>;
Aliased Type§
struct LedsComponentType<L, const NUMLEDS: usize> { /* private fields */ }
Implementations
Trait Implementations
Source§impl<L, const NUM_LEDS: usize> SyscallDriver for LedDriver<'_, L, NUM_LEDS>where
L: Led,
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
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 more