FastLED 3.9.15
Loading...
Searching...
No Matches
PerfDisc.ino
Go to the documentation of this file.
1
4
5// @filter: (board is not ATtiny1604)
6
7#include <Arduino.h>
8#include <FastLED.h>
9#include <fl/gfx/gfx.h>
10
11#define NUM_LEDS 1
12#ifndef PIN_DATA
13#define PIN_DATA 3
14#endif
15
17
18// 32x8 = 256 pixels = 768 bytes — fits AVR 2KB RAM with room for stack.
19static const int W = 32;
20static const int H = 8;
21static CRGB canvas_buf[W * H];
22
23void setup() {
24 Serial.begin(115200);
25 FastLED.addLeds<NEOPIXEL, PIN_DATA>(leds, NUM_LEDS);
26 delay(500);
27 Serial.println(F("\n--- PerfDisc AVR Benchmark ---"));
28}
29
30void loop() {
32 const int ITERS = 100;
33
34 // Blend mode — radius 6 (spans ~12px)
35 unsigned long t0 = micros();
36 for (int i = 0; i < ITERS; i++) {
38 }
39 unsigned long t1 = micros();
40 unsigned long bl_r6 = (t1 - t0) / ITERS;
41
42 // Blend mode — radius 10 (spans ~20px)
43 t0 = micros();
44 for (int i = 0; i < ITERS; i++) {
45 canvas.drawDisc(CRGB(255, 255, 255), 16, 4, 10, fl::DrawMode::DRAW_MODE_BLEND);
46 }
47 t1 = micros();
48 unsigned long bl_r10 = (t1 - t0) / ITERS;
49
50 Serial.print(F("BL r6: ")); Serial.print(bl_r6); Serial.println(F(" us"));
51 Serial.print(F("BL r10: ")); Serial.print(bl_r10); Serial.println(F(" us"));
52 Serial.println(F("---"));
53
54 delay(3000);
55}
#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
void setup()
Definition PerfDisc.ino:23
static const int W
Definition PerfDisc.ino:19
static CRGB canvas_buf[W *H]
Definition PerfDisc.ino:21
void loop()
Definition PerfDisc.ino:30
FASTLED_FORCE_INLINE void drawDisc(const RGB_T &color, Coord cx, Coord cy, Coord r, DrawMode mode=DrawMode::DRAW_MODE_BLEND)
Definition gfx.h:85
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
@ 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