use fugit::NanosDurationU32 as Nanoseconds;
use crate::{color::LedChannels, driver::ClocklessLed};
pub struct Sk6812;
impl Sk6812 {
pub const fn frame_buffer_size(pixel_count: usize) -> usize {
super::clockless_frame_buffer_size::<Self>(pixel_count)
}
}
impl ClocklessLed for Sk6812 {
type Word = u8;
const T_0H: Nanoseconds = Nanoseconds::nanos(300);
const T_0L: Nanoseconds = Nanoseconds::nanos(900);
const T_1H: Nanoseconds = Nanoseconds::nanos(600);
const T_1L: Nanoseconds = Nanoseconds::nanos(600);
const T_RESET: Nanoseconds = Nanoseconds::micros(80);
const LED_CHANNELS: LedChannels = LedChannels::Rgbw(crate::color::RgbwChannels::RBGW);
}