mirror of https://github.com/arendst/Tasmota.git
Berry `tasmota.webcolor` (#20454)
This commit is contained in:
parent
453a3462b7
commit
edda5ddc33
|
@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file.
|
||||||
- Berry `debug_panel.tapp` to display real-time heap and wifi rssi
|
- Berry `debug_panel.tapp` to display real-time heap and wifi rssi
|
||||||
- Berry `webserver.header` to read browser sent headers
|
- Berry `webserver.header` to read browser sent headers
|
||||||
- Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc`
|
- Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc`
|
||||||
|
- Berry `tasmota.webcolor`
|
||||||
|
|
||||||
### Breaking Changed
|
### Breaking Changed
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,8 @@ extern int l_respAppend(bvm *vm);
|
||||||
extern int l_webSend(bvm *vm);
|
extern int l_webSend(bvm *vm);
|
||||||
extern int l_webSendDecimal(bvm *vm);
|
extern int l_webSendDecimal(bvm *vm);
|
||||||
|
|
||||||
|
extern int l_webcolor(bvm *vm);
|
||||||
|
|
||||||
extern int l_getlight(bvm *vm);
|
extern int l_getlight(bvm *vm);
|
||||||
extern int l_setlight(bvm *vm);
|
extern int l_setlight(bvm *vm);
|
||||||
extern int l_getpower(bvm *vm);
|
extern int l_getpower(bvm *vm);
|
||||||
|
@ -143,6 +145,7 @@ class be_class_tasmota (scope: global, name: Tasmota) {
|
||||||
response_append, func(l_respAppend)
|
response_append, func(l_respAppend)
|
||||||
web_send, func(l_webSend)
|
web_send, func(l_webSend)
|
||||||
web_send_decimal, func(l_webSendDecimal)
|
web_send_decimal, func(l_webSendDecimal)
|
||||||
|
webcolor, static_func(l_webcolor)
|
||||||
|
|
||||||
get_power, func(l_getpower)
|
get_power, func(l_getpower)
|
||||||
set_power, func(l_setpower)
|
set_power, func(l_setpower)
|
||||||
|
|
|
@ -820,6 +820,33 @@ extern "C" {
|
||||||
be_raise(vm, kTypeError, nullptr);
|
be_raise(vm, kTypeError, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get webcolors
|
||||||
|
int32_t l_webcolor(bvm *vm);
|
||||||
|
int32_t l_webcolor(bvm *vm) {
|
||||||
|
char tmp[16];
|
||||||
|
int32_t top = be_top(vm); // Get the number of arguments
|
||||||
|
if (top >= 1 && be_isint(vm, 1)) { // argument is int
|
||||||
|
int32_t idx = be_toint(vm, 1);
|
||||||
|
if (idx >= 0 && idx < COL_LAST) {
|
||||||
|
snprintf_P(tmp, sizeof(tmp), PSTR("#%06x"), WebColor(idx));
|
||||||
|
be_pushstring(vm, tmp);
|
||||||
|
be_return(vm);
|
||||||
|
} else {
|
||||||
|
be_return_nil(vm);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
be_newobject(vm, "list");
|
||||||
|
for (uint32_t i = 0; i < COL_LAST; i++) {
|
||||||
|
snprintf_P(tmp, sizeof(tmp), PSTR("#%06x"), WebColor(i));
|
||||||
|
be_pushstring(vm, tmp);
|
||||||
|
be_data_push(vm, -2);
|
||||||
|
be_pop(vm, 1);
|
||||||
|
}
|
||||||
|
be_pop(vm, 1);
|
||||||
|
be_return(vm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// get power
|
// get power
|
||||||
int32_t l_getpower(bvm *vm);
|
int32_t l_getpower(bvm *vm);
|
||||||
int32_t l_getpower(bvm *vm) {
|
int32_t l_getpower(bvm *vm) {
|
||||||
|
|
Loading…
Reference in New Issue