Skip to content

Commit c0dd98b

Browse files
committed
Fixed relay mode inverted when upgrading from 0.11.0
1 parent 195af00 commit c0dd98b

File tree

4 files changed

+32
-13
lines changed

4 files changed

+32
-13
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
### Development versions after 0.11.1 release
44

5+
#### Build 2103040
6+
7+
- Fixed relay mode inverted when upgrading from 0.11.0
8+
- Fixed no more than 2 pins per bus configurable in UI
9+
- Changed to non-linear IR brightness steps (PR #1742)
10+
- Fixed various warnings (PR #1744)
11+
- Added UDP DNRGBW Mode (PR #1704)
12+
- Added dynamic LED mapping with ledmap.json file (PR #1738)
13+
- Added support for QuinLED-ESP32-Ethernet board
14+
- Added support for WESP32 ethernet board (PR #1764)
15+
- Added Caching for main UI (PR #1704)
16+
- Added Tetrix mode (PR #1729)
17+
- Added memory check on Bus creation
18+
519
#### Build 2102050
620

721
- Version bump to 0.12.0-a0 "Hikari"

wled00/cfg.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ void deserializeConfig() {
3030
return;
3131
}
3232

33-
//int rev_major = doc[F("rev")][0]; // 1
34-
//int rev_minor = doc[F("rev")][1]; // 0
33+
//int rev_major = doc["rev"][0]; // 1
34+
//int rev_minor = doc["rev"][1]; // 0
3535

3636
//long vid = doc[F("vid")]; // 2010020
3737

@@ -95,7 +95,7 @@ void deserializeConfig() {
9595

9696
CJSON(strip.ablMilliampsMax, hw_led[F("maxpwr")]);
9797
CJSON(strip.milliampsPerLed, hw_led[F("ledma")]);
98-
CJSON(strip.reverseMode, hw_led[F("rev")]);
98+
CJSON(strip.reverseMode, hw_led["rev"]);
9999
CJSON(strip.rgbwMode, hw_led[F("rgbwm")]);
100100

101101
JsonArray ins = hw_led["ins"];
@@ -126,7 +126,7 @@ void deserializeConfig() {
126126
//limit length of strip if it would exceed total configured LEDs
127127
if (start + length > ledCount) length = ledCount - start;
128128
uint8_t ledType = elm[F("type")] | TYPE_WS2812_RGB;
129-
bool reversed = elm[F("rev")];
129+
bool reversed = elm["rev"];
130130
//RGBW mode is enabled if at least one of the strips is RGBW
131131
useRGBW = (useRGBW || BusManager::isRgbw(ledType));
132132
s++;
@@ -163,14 +163,18 @@ void deserializeConfig() {
163163
#endif
164164
CJSON(irEnabled, hw[F("ir")][F("type")]);
165165

166-
int hw_relay_pin = hw[F("relay")][F("pin")];
166+
JsonObject relay = hw[F("relay")];
167+
168+
int hw_relay_pin = relay[F("pin")];
167169
if (pinManager.allocatePin(hw_relay_pin,true)) {
168170
rlyPin = hw_relay_pin;
169171
pinMode(rlyPin, OUTPUT);
170172
} else {
171173
rlyPin = -1;
172174
}
173-
CJSON(rlyMde, hw[F("relay")][F("rev")]);
175+
if (relay.containsKey("rev")) {
176+
rlyMde = !relay["rev"];
177+
}
174178

175179
//int hw_status_pin = hw[F("status")][F("pin")]; // -1
176180

@@ -443,7 +447,7 @@ void serializeConfig() {
443447
hw_led[F("total")] = ledCount;
444448
hw_led[F("maxpwr")] = strip.ablMilliampsMax;
445449
hw_led[F("ledma")] = strip.milliampsPerLed;
446-
hw_led[F("rev")] = strip.reverseMode;
450+
hw_led["rev"] = strip.reverseMode;
447451
hw_led[F("rgbwm")] = strip.rgbwMode;
448452

449453
JsonArray hw_led_ins = hw_led.createNestedArray("ins");
@@ -460,7 +464,7 @@ void serializeConfig() {
460464
uint8_t nPins = bus->getPins(pins);
461465
for (uint8_t i = 0; i < nPins; i++) ins_pin.add(pins[i]);
462466
ins[F("order")] = bus->getColorOrder();
463-
ins[F("rev")] = bus->reversed;
467+
ins["rev"] = bus->reversed;
464468
ins[F("skip")] = (skipFirstLed && s == 0) ? 1 : 0;
465469
ins[F("type")] = bus->getType();
466470
}
@@ -491,7 +495,7 @@ void serializeConfig() {
491495

492496
JsonObject hw_relay = hw.createNestedObject("relay");
493497
hw_relay[F("pin")] = rlyPin;
494-
hw_relay[F("rev")] = rlyMde;
498+
hw_relay["rev"] = !rlyMde;
495499

496500
//JsonObject hw_status = hw.createNestedObject("status");
497501
//hw_status[F("pin")] = -1;

wled00/json.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ void deserializeSegment(JsonObject elem, byte it)
8787

8888
//if (pal != seg.palette && pal < strip.getPaletteCount()) strip.setPalette(pal);
8989
seg.setOption(SEG_OPTION_SELECTED, elem[F("sel")] | seg.getOption(SEG_OPTION_SELECTED));
90-
seg.setOption(SEG_OPTION_REVERSED, elem[F("rev")] | seg.getOption(SEG_OPTION_REVERSED));
90+
seg.setOption(SEG_OPTION_REVERSED, elem["rev"] | seg.getOption(SEG_OPTION_REVERSED));
9191
seg.setOption(SEG_OPTION_MIRROR , elem[F("mi")] | seg.getOption(SEG_OPTION_MIRROR ));
9292

9393
//temporary, strip object gets updated via colorUpdated()
@@ -327,7 +327,7 @@ void serializeSegment(JsonObject& root, WS2812FX::Segment& seg, byte id, bool fo
327327
root[F("ix")] = seg.intensity;
328328
root[F("pal")] = seg.palette;
329329
root[F("sel")] = seg.isSelected();
330-
root[F("rev")] = seg.getOption(SEG_OPTION_REVERSED);
330+
root["rev"] = seg.getOption(SEG_OPTION_REVERSED);
331331
root[F("mi")] = seg.getOption(SEG_OPTION_MIRROR);
332332
}
333333

wled00/wled.h

Lines changed: 3 additions & 2 deletions
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 2102050
11+
#define VERSION 2103040
1212

1313
//uncomment this if you have a "my_config.h" file you'd like to use
1414
//#define WLED_USE_MY_CONFIG
@@ -197,8 +197,9 @@ WLED_GLOBAL int8_t rlyPin _INIT(-1);
197197
#else
198198
WLED_GLOBAL int8_t rlyPin _INIT(RLYPIN);
199199
#endif
200+
//Relay mode (1 = active high, 0 = active low, flipped in cfg.json)
200201
#ifndef RLYMDE
201-
WLED_GLOBAL bool rlyMde _INIT(1);
202+
WLED_GLOBAL bool rlyMde _INIT(true);
202203
#else
203204
WLED_GLOBAL bool rlyMde _INIT(RLYMDE);
204205
#endif

0 commit comments

Comments
 (0)