Skip to content

Commit 461c9ea

Browse files
committed
fix invalid pin detection, improve tests
1 parent ffe6845 commit 461c9ea

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

firmware-src/sources/dhcommand_parser.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,8 @@ char * ICACHE_FLASH_ATTR parse_params_pins_set(const char *params, unsigned int
201201
char * res = readUIntField(&jparser, AF_PIN, &out->pin, fields, readedfields, 0);
202202
if(res)
203203
return res;
204+
if(out->pin >= DH_GPIO_PIN_COUNT)
205+
return "Wrong pin";
204206
continue;
205207
} else if(strcmp_value(&jparser, "ref") == 0) {
206208
char * res = readFloatField(&jparser, AF_REF, &out->ref, fields, readedfields);

firmware-tests/requests.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,15 +156,18 @@
156156
addtest("onewire/master/read", {"count":1}, false, {"value":"Command for reading is not specified"});
157157
addtest("onewire/master/read", {"count":1,"data":"AA==","pin":2}, false, {"value":"No response"});
158158
addtest("onewire/master/write", {"data":"AA=="}, false, {"value":"No response"});
159-
addtest("onewire/master/write", {"data":"AA==","pin":244}, false, {"value":"Wrong onewire pin"});
159+
addtest("onewire/master/write", {"data":"AA==","pin":244}, false, {"value":"Wrong pin"});
160+
addtest("onewire/master/write", {"data":"AA==","pin":34}, false, {"value":"Wrong pin"});
161+
addtest("onewire/master/write", {"data":"AA==","pin":10}, false, {"value":"Wrong onewire pin"});
160162
addtest("onewire/master/write", {"data":"#$==","pin":2}, false, {"value":"Data is broken"});
161163
addtest("onewire/master/write", {"data":"AA==","pin":2}, false, {"value":"No response"});
162164
addtest("onewire/master/int", {"pin":"2"}, false, {"value":"Unexpected parameter"});
163165
addtest("onewire/master/int", {"2":"presence"}, true, {"value":""});
164166
addtest("onewire/master/int", {"2":"disable"}, true, {"value":""});
165167
addtest("onewire/master/search", null, true, {"found":[],"pin":"2"});
166168
addtest("onewire/master/alarm", {"pin":"2"}, true, {"found":[],"pin":"2"});
167-
addtest("onewire/dht/read", {"pin":"22"}, false, {"value":"Wrong onewire pin"});
169+
addtest("onewire/dht/read", {"pin":"22"}, false, {"value":"Wrong pin"});
170+
addtest("onewire/dht/read", {"pin":10}, false, {"value":"Wrong onewire pin"});
168171
addtest("onewire/dht/read", null, false, {"value":"No response"});
169172

170173

0 commit comments

Comments
 (0)