Skip to content

Commit 10b925a

Browse files
authored
bugfix in enumerating buttons and busses (#4657)
char value was changed from "55" to 'A' which is 65. need to deduct 10 so the result is 'A' if index counter is 10.
1 parent 3538684 commit 10b925a

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

wled00/set.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
146146

147147
bool busesChanged = false;
148148
for (int s = 0; s < 36; s++) { // theoretical limit is 36 : "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
149-
int offset = s < 10 ? '0' : 'A';
149+
int offset = s < 10 ? '0' : 'A' - 10;
150150
char lp[4] = "L0"; lp[2] = offset+s; lp[3] = 0; //ascii 0-9 //strip data pin
151151
char lc[4] = "LC"; lc[2] = offset+s; lc[3] = 0; //strip length
152152
char co[4] = "CO"; co[2] = offset+s; co[3] = 0; //strip color order
@@ -220,7 +220,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
220220
// we will not bother with pre-allocating ColorOrderMappings vector
221221
BusManager::getColorOrderMap().reset();
222222
for (int s = 0; s < WLED_MAX_COLOR_ORDER_MAPPINGS; s++) {
223-
int offset = s < 10 ? '0' : 'A';
223+
int offset = s < 10 ? '0' : 'A' - 10;
224224
char xs[4] = "XS"; xs[2] = offset+s; xs[3] = 0; //start LED
225225
char xc[4] = "XC"; xc[2] = offset+s; xc[3] = 0; //strip length
226226
char xo[4] = "XO"; xo[2] = offset+s; xo[3] = 0; //color order
@@ -259,7 +259,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
259259
disablePullUp = (bool)request->hasArg(F("IP"));
260260
touchThreshold = request->arg(F("TT")).toInt();
261261
for (int i = 0; i < WLED_MAX_BUTTONS; i++) {
262-
int offset = i < 10 ? '0' : 'A';
262+
int offset = i < 10 ? '0' : 'A' - 10;
263263
char bt[4] = "BT"; bt[2] = offset+i; bt[3] = 0; // button pin (use A,B,C,... if WLED_MAX_BUTTONS>10)
264264
char be[4] = "BE"; be[2] = offset+i; be[3] = 0; // button type (use A,B,C,... if WLED_MAX_BUTTONS>10)
265265
int hw_btn_pin = request->arg(bt).toInt();

wled00/xml.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ void getSettingsJS(byte subPage, Print& settingsScript)
298298
for (int s = 0; s < BusManager::getNumBusses(); s++) {
299299
const Bus* bus = BusManager::getBus(s);
300300
if (!bus || !bus->isOk()) break; // should not happen but for safety
301-
int offset = s < 10 ? '0' : 'A';
301+
int offset = s < 10 ? '0' : 'A' - 10;
302302
char lp[4] = "L0"; lp[2] = offset+s; lp[3] = 0; //ascii 0-9 //strip data pin
303303
char lc[4] = "LC"; lc[2] = offset+s; lc[3] = 0; //strip length
304304
char co[4] = "CO"; co[2] = offset+s; co[3] = 0; //strip color order

0 commit comments

Comments
 (0)