Skip to main content

LedDriverMemory

Struct LedDriverMemory 

Source
pub struct LedDriverMemory {
    pub leds: [Led; 12],
    /* private fields */
}
Expand description

Memory interface for the Crazyflie LED ring

Provides methods to control the 12 LEDs in the Crazyflie LED ring by writing RGB values to the LED driver memory. Colors are compressed to RGB565 format with intensity applied before writing.

Fields§

§leds: [Led; 12]

The 12 LEDs in the ring

Implementations§

Source§

impl LedDriverMemory

Source

pub async fn write_leds(&self) -> Result<()>

Write the current LED values to the Crazyflie LED ring

Converts each LED’s RGB values to RGB565 format with intensity applied, and writes the 24-byte result to address 0x00 of the LED driver memory.

Trait Implementations§

Source§

impl Debug for LedDriverMemory

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromMemoryBackend for LedDriverMemory

Source§

async fn from_memory_backend(memory: MemoryBackend) -> Result<Self>

Create a memory-specific type from a MemoryBackend. When created the memory is automatically read to populate the fields of the type. Read more
Source§

async fn initialize_memory_backend(memory: MemoryBackend) -> Result<Self>

Get a specific memory by its ID and initialize it according to the defaults. Note that the values will not be written to the memory by default, the user needs to handle this. Read more
Source§

fn close_memory(self) -> MemoryBackend

Close the memory and return the backend to the subsystem Read more

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

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

Source§

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.