Skip to content

Commit 21e6b4d

Browse files
committed
optimization
replacing MIN / MAX (arduino macros) by more efficient min/max (libc templates)
1 parent a50e77d commit 21e6b4d

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

wled00/FX.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1333,12 +1333,12 @@ uint16_t mode_fire_flicker(void) {
13331333
byte r = (SEGCOLOR(0) >> 16);
13341334
byte g = (SEGCOLOR(0) >> 8);
13351335
byte b = (SEGCOLOR(0) );
1336-
byte lum = (SEGMENT.palette == 0) ? MAX(w, MAX(r, MAX(g, b))) : 255;
1336+
byte lum = (SEGMENT.palette == 0) ? max(w, max(r, max(g, b))) : 255;
13371337
lum /= (((256-SEGMENT.intensity)/16)+1);
13381338
for (int i = 0; i < SEGLEN; i++) {
13391339
byte flicker = random8(lum);
13401340
if (SEGMENT.palette == 0) {
1341-
SEGMENT.setPixelColor(i, MAX(r - flicker, 0), MAX(g - flicker, 0), MAX(b - flicker, 0), MAX(w - flicker, 0));
1341+
SEGMENT.setPixelColor(i, max(r - flicker, 0), max(g - flicker, 0), max(b - flicker, 0), max(w - flicker, 0));
13421342
} else {
13431343
SEGMENT.setPixelColor(i, SEGMENT.color_from_palette(i, true, PALETTE_SOLID_WRAP, 0, 255 - flicker));
13441344
}
@@ -1369,7 +1369,7 @@ uint16_t gradient_base(bool loading) {
13691369
{
13701370
val = abs(((i>pp) ? p2:pp) -i);
13711371
} else {
1372-
val = MIN(abs(pp-i),MIN(abs(p1-i),abs(p2-i)));
1372+
val = min(abs(pp-i), min(abs(p1-i), abs(p2-i)));
13731373
}
13741374
val = (brd > val) ? val/brd * 255 : 255;
13751375
SEGMENT.setPixelColor(i, color_blend(SEGCOLOR(0), SEGMENT.color_from_palette(i, true, PALETTE_SOLID_WRAP, 1), val));
@@ -2129,7 +2129,7 @@ uint16_t mode_fire_2012() {
21292129

21302130
// Step 4. Map from heat cells to LED colors
21312131
for (int j = 0; j < SEGLEN; j++) {
2132-
SEGMENT.setPixelColor(indexToVStrip(j, stripNr), ColorFromPalette(SEGPALETTE, MIN(heat[j],240), 255, NOBLEND));
2132+
SEGMENT.setPixelColor(indexToVStrip(j, stripNr), ColorFromPalette(SEGPALETTE, min(heat[j],byte(240)), 255, NOBLEND));
21332133
}
21342134
}
21352135
};
@@ -2971,7 +2971,7 @@ uint16_t mode_bouncing_balls(void) {
29712971

29722972
uint32_t color = SEGCOLOR(0);
29732973
if (SEGMENT.palette) {
2974-
color = SEGMENT.color_wheel(i*(256/MAX(numBalls, 8)));
2974+
color = SEGMENT.color_wheel(i*(256/max(numBalls, uint16_t(8))));
29752975
} else if (hasCol2) {
29762976
color = SEGCOLOR(i % NUM_COLORS);
29772977
}
@@ -6245,7 +6245,7 @@ uint16_t mode_2Dfloatingblobs(void) {
62456245
if (blob->grow[i]) {
62466246
// enlarge radius until it is >= 4
62476247
blob->r[i] += (fabsf(blob->sX[i]) > fabsf(blob->sY[i]) ? fabsf(blob->sX[i]) : fabsf(blob->sY[i])) * 0.05f;
6248-
if (blob->r[i] >= MIN(cols/4.f,2.f)) {
6248+
if (blob->r[i] >= min(cols/4.f,2.f)) {
62496249
blob->grow[i] = false;
62506250
}
62516251
} else {

wled00/wled.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
// version code in format yymmddb (b = daily build)
11-
#define VERSION 2405220
11+
#define VERSION 2405240
1212

1313
// WLEDMM - you can check for this define in usermods, to only enabled WLEDMM specific code in the "right" fork. Its not defined in AC WLED.
1414
#define _MoonModules_WLED_

0 commit comments

Comments
 (0)