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