37namespace third_party {
82 for (
int i = 7; i >= 0; i--) {
83 buffer[7-i] = (color & (1 << i)) ?
one() :
zero();
102 spi_->endTransaction();
130 for (
int j = 0; j < 24; j++) {
131 spi_->transfer(spi_buffer[j]);
184 if (F_CPU >= 78000000) {
190 "nop; nop; nop; nop; nop; nop; nop; nop;"
191 "nop; nop; nop; nop; nop; nop; nop; nop;"
192 "nop; nop; nop; nop; nop; nop; nop; nop;"
193 "nop; nop; nop; nop; nop; nop; nop; nop;"
194 "nop; nop; nop; nop; nop; nop; nop; nop;"
195 "nop; nop; nop; nop; nop; nop; nop; nop;"
196 "nop; nop; nop; nop; nop; nop; nop; nop;"
197 "nop; nop; nop; nop; nop; nop; nop; nop;"
201 "nop; nop; nop; nop; nop; nop; nop; nop;"
202 "nop; nop; nop; nop; nop; nop; nop; nop;"
203 "nop; nop; nop; nop; nop; nop; nop; nop;"
204 "nop; nop; nop; nop; nop; nop;"
210 "nop; nop; nop; nop; nop; nop; nop; nop;"
211 "nop; nop; nop; nop; nop; nop; nop; nop;"
212 "nop; nop; nop; nop; nop; nop; nop; nop;"
213 "nop; nop; nop; nop; nop; nop;"
217 "nop; nop; nop; nop; nop; nop; nop; nop;"
218 "nop; nop; nop; nop; nop; nop; nop; nop;"
219 "nop; nop; nop; nop; nop; nop; nop; nop;"
220 "nop; nop; nop; nop; nop; nop; nop; nop;"
221 "nop; nop; nop; nop; nop; nop; nop; nop;"
222 "nop; nop; nop; nop; nop; nop; nop; nop;"
223 "nop; nop; nop; nop; nop; nop; nop; nop;"
232 "nop; nop; nop; nop; nop; nop; nop; nop;"
233 "nop; nop; nop; nop; nop; nop; nop; nop;"
234 "nop; nop; nop; nop; nop; nop; nop; nop;"
235 "nop; nop; nop; nop; nop; nop; nop; nop;"
239 "nop; nop; nop; nop; nop; nop; nop; nop;"
240 "nop; nop; nop; nop; nop; nop; nop;"
246 "nop; nop; nop; nop; nop; nop; nop; nop;"
247 "nop; nop; nop; nop; nop; nop; nop;"
251 "nop; nop; nop; nop; nop; nop; nop; nop;"
252 "nop; nop; nop; nop; nop; nop; nop; nop;"
253 "nop; nop; nop; nop; nop; nop; nop; nop;"
254 "nop; nop; nop; nop; nop; nop; nop; nop;"
262 for (
int i = 7; i >= 0; i--) {
fl::UISlider brightness("Brightness", BRIGHTNESS, 0, 255)
void set_brightness(uint8_t brightness)
Set brightness (0-100%)
uint8_t one() const
Convert color bit to SPI signal for '1' bit.
void end()
End SPI communication.
void end_transfer()
Complete LED data transfer Sends reset signal to latch data into LEDs.
static constexpr uint32_t kSpiClockHz
uint8_t zero() const
Convert color bit to SPI signal for '0' bit.
void begin()
Initialize SPI communication.
ezWS2812(uint16_t num_leds, SPIClass &spi=SPI)
Constructor.
static constexpr uint8_t kResetBytes
void set_all(uint8_t red, uint8_t green, uint8_t blue)
Set all LEDs to the same color.
void color_to_spi(uint8_t color, uint8_t *buffer) const
Convert color byte to SPI bit pattern.
static constexpr uint8_t kResetByte
void set_pixel(uint8_t red, uint8_t green, uint8_t blue, uint16_t count=1)
Set color for specific number of LEDs.
static constexpr uint16_t kResetTimeUs
ezWS2812gpio(uint16_t num_leds, uint8_t pin)
Constructor.
volatile uint32_t * port_set_
volatile uint32_t * port_clear_
void set_brightness(uint8_t brightness)
Set brightness (0-100%)
void send_bit(bool bit_value) const
Send a single bit using precise timing.
void end_transfer()
Complete LED data transfer.
void end()
End communication.
void begin()
Initialize GPIO pin.
void set_all(uint8_t red, uint8_t green, uint8_t blue)
Set all LEDs to the same color.
void send_byte(uint8_t byte_value) const
Send a byte (8 bits) with MSB first.
void set_pixel(uint8_t red, uint8_t green, uint8_t blue, uint16_t count=1)
Set color for specific number of LEDs.
@ SPI
Generic SPI clockless driver.
void pinMode(int pin, PinMode mode)
Set pin mode (input, output, pull-up, pull-down)
void digitalWrite(int pin, PinValue val)
Write digital value to pin.
void delayMicroseconds(u32 us)
Delay for a given number of microseconds.
Base definition for an LED controller.