Tasmota/lib/libesp32/Berry-0.1.10/src/port/be_tasmotalib.c

82 lines
2.3 KiB
C
Raw Normal View History

/********************************************************************
* Tasmota lib
*
* To use: `import tasmota`
*******************************************************************/
#include "be_object.h"
extern int l_getFreeHeap(bvm *vm);
extern int l_publish(bvm *vm);
extern int l_cmd(bvm *vm);
extern int l_getoption(bvm *vm);
extern int l_millis(bvm *vm);
extern int l_timereached(bvm *vm);
2021-02-14 17:50:43 +00:00
extern int l_yield(bvm *vm);
2021-03-07 18:37:18 +00:00
extern int l_delay(bvm *vm);
2021-03-13 21:42:24 +00:00
extern int l_scaleuint(bvm *vm);
2021-02-28 19:50:37 +00:00
extern int l_respCmnd(bvm *vm);
extern int l_respCmndStr(bvm *vm);
extern int l_respCmndDone(bvm *vm);
extern int l_respCmndError(bvm *vm);
extern int l_respCmndFailed(bvm *vm);
2021-03-03 07:34:38 +00:00
extern int l_resolveCmnd(bvm *vm);
2021-02-28 19:50:37 +00:00
2021-03-07 18:37:18 +00:00
extern int l_getlight(bvm *vm);
2021-03-13 21:42:24 +00:00
extern int l_getpower(bvm *vm);
extern int l_setlight(bvm *vm);
extern int l_setpower(bvm *vm);
2021-03-07 18:37:18 +00:00
2021-03-20 17:44:35 +00:00
extern int l_i2cenabled(bvm *vm);
// #if !BE_USE_PRECOMPILED_OBJECT
#if 1 // TODO we will do pre-compiled later
2021-03-13 21:42:24 +00:00
// Class definition
void be_load_tasmota_ntvlib(bvm *vm)
{
static const bnfuncinfo members[] = {
{ "_op", NULL },
{ "_opf", NULL },
{ "_operators", NULL },
{ "_rules", NULL },
{ "_timers", NULL },
{ "_cmd", NULL },
2021-03-20 17:44:35 +00:00
{ "_drivers", NULL },
{ "get_free_heap", l_getFreeHeap },
2021-03-13 21:42:24 +00:00
{ "publish", l_publish },
{ "cmd", l_cmd },
2021-03-20 17:44:35 +00:00
{ "get_option", l_getoption },
2021-03-13 21:42:24 +00:00
{ "millis", l_millis },
2021-03-20 17:44:35 +00:00
{ "time_reached", l_timereached },
2021-03-13 21:42:24 +00:00
{ "yield", l_yield },
{ "delay", l_delay },
2021-03-20 17:44:35 +00:00
{ "scale_uint", l_scaleuint },
2021-02-28 19:50:37 +00:00
2021-03-20 17:44:35 +00:00
{ "resp_cmnd", l_respCmnd },
{ "resp_cmnd_str", l_respCmndStr },
{ "resp_cmnd_done", l_respCmndDone },
{ "resp_cmnd_error", l_respCmndError },
{ "resp_cmnd_failed", l_respCmndFailed },
2021-03-13 21:42:24 +00:00
{ "resolvecmnd", l_resolveCmnd },
2021-02-28 19:50:37 +00:00
2021-03-20 17:44:35 +00:00
{ "get_light", l_getlight },
{ "get_power", l_getpower },
{ "set_light", l_setlight },
{ "set_power", l_setpower },
{ "i2c_enabled", l_i2cenabled },
2021-03-13 21:42:24 +00:00
{ NULL, NULL }
};
be_regclass(vm, "Tasmota_ntv", members);
}
#else
/* @const_object_info_begin
module tasmota (scope: global, depend: 1) {
2021-03-20 17:44:35 +00:00
get_free_heap, func(l_getFreeHeap)
}
@const_object_info_end */
#include "../generate/be_fixed_tasmota.h"
#endif