FastLED 3.9.15
Loading...
Searching...
No Matches
PerfDisc.ino
// @filter: (board is not ATtiny1604)
#include <Arduino.h>
#include <FastLED.h>
#include <fl/gfx/gfx.h>
#define NUM_LEDS 1
#ifndef PIN_DATA
#define PIN_DATA 3
#endif
// 32x8 = 256 pixels = 768 bytes — fits AVR 2KB RAM with room for stack.
static const int W = 32;
static const int H = 8;
static CRGB canvas_buf[W * H];
void setup() {
Serial.begin(115200);
FastLED.addLeds<NEOPIXEL, PIN_DATA>(leds, NUM_LEDS);
delay(500);
Serial.println(F("\n--- PerfDisc AVR Benchmark ---"));
}
void loop() {
const int ITERS = 100;
// Blend mode — radius 6 (spans ~12px)
unsigned long t0 = micros();
for (int i = 0; i < ITERS; i++) {
canvas.drawDisc(CRGB::Blue, 16, 4, 6, fl::DrawMode::DRAW_MODE_BLEND);
}
unsigned long t1 = micros();
unsigned long bl_r6 = (t1 - t0) / ITERS;
// Blend mode — radius 10 (spans ~20px)
t0 = micros();
for (int i = 0; i < ITERS; i++) {
canvas.drawDisc(CRGB(255, 255, 255), 16, 4, 10, fl::DrawMode::DRAW_MODE_BLEND);
}
t1 = micros();
unsigned long bl_r10 = (t1 - t0) / ITERS;
Serial.print(F("BL r6: ")); Serial.print(bl_r6); Serial.println(F(" us"));
Serial.print(F("BL r10: ")); Serial.print(bl_r10); Serial.println(F(" us"));
Serial.println(F("---"));
delay(3000);
}
void setup()
void loop()
#define NUM_LEDS
#define PIN_DATA
fl::CRGB leds[NUM_LEDS]
#define ITERS
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
static const int H
Definition PerfDisc.ino:20
static const int W
Definition PerfDisc.ino:19
static CRGB canvas_buf[W *H]
Definition PerfDisc.ino:21
Convenience alias for CRGB canvas — use fl::CanvasRGB for no-template syntax.
Definition gfx.h:105
2D antialiased graphics for LED matrices
fl::CRGB CRGB
Definition crgb.h:25
void delay(u32 ms, bool run_async=true) FL_NOEXCEPT
Public delay wrapper that keeps bare Arduino delay() preferred after using fl::delay; while still all...
Definition delay.h:98
fl::u32 micros()
Universal microsecond timer - returns microseconds since system startup.
@ DRAW_MODE_BLEND
Definition draw_mode.h:5
@ Blue
<div style='background:#0000FF;width:4em;height:4em;'></div>
Definition crgb.h:512
#define Serial
Definition serial.h:304