Struct Ws2811

Source
pub struct Ws2811<SPI, DEVICE = Ws2811Rgb> { /* private fields */ }

Implementations§

Source§

impl<SPI, E> Ws2811<SPI>
where SPI: FullDuplex<u8, Error = E>,

Source

pub fn new_rgb(spi: SPI) -> Self

Use Ws2811 devices via spi RGB

The SPI bus should run within 1.6 MHz to 3.2 MHz

You may need to look at the datasheet and your own hal to verify this.

Please ensure that the mcu is pretty fast, otherwise weird timing issues will occur

Source§

impl<SPI, E> Ws2811<SPI, Ws2811Rbg>
where SPI: FullDuplex<u8, Error = E>,

Source

pub fn new_rbg(spi: SPI) -> Self

Use Ws2811 devices via spi RBG

The SPI bus should run within 1.6 MHz to 3.2 MHz

You may need to look at the datasheet and your own hal to verify this.

Please ensure that the mcu is pretty fast, otherwise weird timing issues will occur

Trait Implementations§

Source§

impl<SPI, E> SmartLedsWrite for Ws2811<SPI>
where SPI: FullDuplex<u8, Error = E>,

Source§

fn write<T, I>(&mut self, iterator: T) -> Result<(), E>
where T: Iterator<Item = I>, I: Into<Self::Color>,

Write all the items of an iterator to a Ws2811 strip

Source§

type Error = E

Source§

type Color = Rgb<u8>

Source§

impl<SPI, E> SmartLedsWrite for Ws2811<SPI, Ws2811Rbg>
where SPI: FullDuplex<u8, Error = E>,

Source§

fn write<T, I>(&mut self, iterator: T) -> Result<(), E>
where T: Iterator<Item = I>, I: Into<Self::Color>,

Write all the items of an iterator to a Ws2811 strip

Source§

type Error = E

Source§

type Color = Rgb<u8>

Auto Trait Implementations§

§

impl<SPI, DEVICE> Freeze for Ws2811<SPI, DEVICE>
where SPI: Freeze,

§

impl<SPI, DEVICE> RefUnwindSafe for Ws2811<SPI, DEVICE>
where SPI: RefUnwindSafe, DEVICE: RefUnwindSafe,

§

impl<SPI, DEVICE> Send for Ws2811<SPI, DEVICE>
where SPI: Send, DEVICE: Send,

§

impl<SPI, DEVICE> Sync for Ws2811<SPI, DEVICE>
where SPI: Sync, DEVICE: Sync,

§

impl<SPI, DEVICE> Unpin for Ws2811<SPI, DEVICE>
where SPI: Unpin, DEVICE: Unpin,

§

impl<SPI, DEVICE> UnwindSafe for Ws2811<SPI, DEVICE>
where SPI: UnwindSafe, DEVICE: UnwindSafe,

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

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.