mirror of
https://github.com/arendst/Tasmota.git
synced 2025-04-24 23:07:17 +00:00
Merge pull request #11575 from s-hadinger/berry_gpio_protect
Berry check phy_gpio validity
This commit is contained in:
commit
61d0f672f3
@ -38,7 +38,9 @@ extern "C" {
|
||||
if (argc == 2 && be_isint(vm, 1) && be_isint(vm, 2)) {
|
||||
int32_t pin = be_toint(vm, 1);
|
||||
int32_t mode = be_toint(vm, 2);
|
||||
pinMode(pin, mode);
|
||||
if (pin >= 0) {
|
||||
pinMode(pin, mode);
|
||||
}
|
||||
be_return_nil(vm);
|
||||
}
|
||||
be_raise(vm, kTypeError, nullptr);
|
||||
@ -50,7 +52,9 @@ extern "C" {
|
||||
if (argc == 2 && be_isint(vm, 1) && be_isint(vm, 2)) {
|
||||
int32_t pin = be_toint(vm, 1);
|
||||
int32_t val = be_toint(vm, 2);
|
||||
digitalWrite(pin, val);
|
||||
if (pin >= 0) {
|
||||
digitalWrite(pin, val);
|
||||
}
|
||||
be_return_nil(vm);
|
||||
}
|
||||
be_raise(vm, kTypeError, nullptr);
|
||||
@ -61,8 +65,12 @@ extern "C" {
|
||||
int32_t argc = be_top(vm); // Get the number of arguments
|
||||
if (argc == 1 && be_isint(vm, 1)) {
|
||||
int32_t pin = be_toint(vm, 1);
|
||||
int32_t ret = digitalRead(pin);
|
||||
be_pushint(vm, ret);
|
||||
if (pin >= 0) {
|
||||
int32_t ret = digitalRead(pin);
|
||||
be_pushint(vm, ret);
|
||||
} else {
|
||||
be_pushnil(vm);
|
||||
}
|
||||
be_return(vm);
|
||||
}
|
||||
be_raise(vm, kTypeError, nullptr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user