diff --git a/CHANGELOG.md b/CHANGELOG.md index 76a9f1b05..e5d9a8633 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ All notable changes to this project will be documented in this file. ## [10.1.0] 20211208 - Release Noelle +### Added +- Berry added ``tcpclient`` ## [10.0.0.4] 20211208 ### Added diff --git a/lib/libesp32/Berry/default/be_tcpclient_lib.c b/lib/libesp32/Berry/default/be_tcpclient_lib.c new file mode 100644 index 000000000..9f24be20d --- /dev/null +++ b/lib/libesp32/Berry/default/be_tcpclient_lib.c @@ -0,0 +1,50 @@ +/******************************************************************** + * Webclient mapped to Arduino framework + * + * To use: `d = webclient()` + * + *******************************************************************/ +#include "be_constobj.h" + +#ifdef USE_WEBCLIENT + +extern int wc_tcp_init(bvm *vm); +extern int wc_tcp_deinit(bvm *vm); + +extern int wc_tcp_connect(bvm *vm); +extern int wc_tcp_connected(bvm *vm); +extern int wc_tcp_close(bvm *vm); +extern int wc_tcp_available(bvm *vm); +extern int wc_tcp_flush(bvm *vm); + +extern int wc_tcp_write(bvm *vm); +extern int wc_tcp_read(bvm *vm); +extern int wc_tcp_readbytes(bvm *vm); + +#include "../generate/be_fixed_be_class_tcpclient.h" + +void be_load_webclient_lib(bvm *vm) { + be_pushntvclass(vm, &be_class_tcpclient); + be_setglobal(vm, "tcpclient"); + be_pop(vm, 1); +} +/* @const_object_info_begin + +class be_class_tcpclient (scope: global, name: tcpclient) { + .w, var + init, func(wc_tcp_init) + deinit, func(wc_tcp_deinit) + + connect, func(wc_tcp_connect) + connected, func(wc_tcp_connected) + close, func(wc_tcp_close) + available, func(wc_tcp_available) + flush, func(wc_tcp_flush) + + write, func(wc_tcp_write) + read, func(wc_tcp_read) + readbytes, func(wc_tcp_readbytes) +} +@const_object_info_end */ + +#endif // USE_WEBCLIENT diff --git a/lib/libesp32/Berry/generate/be_const_strtab.h b/lib/libesp32/Berry/generate/be_const_strtab.h index 4df1783f6..ea109e214 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab.h +++ b/lib/libesp32/Berry/generate/be_const_strtab.h @@ -276,6 +276,8 @@ extern const bcstring be_const_str_color; extern const bcstring be_const_str_compile; extern const bcstring be_const_str_compress; extern const bcstring be_const_str_concat; +extern const bcstring be_const_str_connect; +extern const bcstring be_const_str_connected; extern const bcstring be_const_str_connection_error; extern const bcstring be_const_str_constructor_cb; extern const bcstring be_const_str_contains; @@ -549,6 +551,7 @@ extern const bcstring be_const_str_read32; extern const bcstring be_const_str_read8; extern const bcstring be_const_str_read_bytes; extern const bcstring be_const_str_read_sensors; +extern const bcstring be_const_str_readbytes; extern const bcstring be_const_str_readline; extern const bcstring be_const_str_real; extern const bcstring be_const_str_reapply; @@ -656,6 +659,7 @@ extern const bcstring be_const_str_target_search; extern const bcstring be_const_str_tasmota; extern const bcstring be_const_str_tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29; extern const bcstring be_const_str_tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29; +extern const bcstring be_const_str_tcpclient; extern const bcstring be_const_str_tele; extern const bcstring be_const_str_the_X20second_X20argument_X20is_X20not_X20a_X20function; extern const bcstring be_const_str_time_dump; diff --git a/lib/libesp32/Berry/generate/be_const_strtab_def.h b/lib/libesp32/Berry/generate/be_const_strtab_def.h index c70d114c1..063ce52df 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab_def.h +++ b/lib/libesp32/Berry/generate/be_const_strtab_def.h @@ -1,673 +1,677 @@ -be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_readline); -be_define_const_str(_X0A, "\n", 252472541u, 0, 1, &be_const_str_LVG_X3A_X20call_X20to_X20unsupported_X20callback); -be_define_const_str(_X20, " ", 621580159u, 0, 1, &be_const_str_is_dirty); -be_define_const_str(_X21_X3D, "!=", 2428715011u, 0, 2, &be_const_str__X3Cselect_X20name_X3D_X27zip_X27_X3E); -be_define_const_str(_X21_X3D_X3D, "!==", 559817114u, 0, 3, &be_const_str__anonymous_); -be_define_const_str(_X23, "#", 638357778u, 0, 1, &be_const_str_no_X20GPIO_X20specified_X20for_X20neopixelbus); -be_define_const_str(_X23autoexec_X2Ebat, "#autoexec.bat", 3382890497u, 0, 13, &be_const_str_constructor_cb); -be_define_const_str(_X23autoexec_X2Ebe, "#autoexec.be", 1181757091u, 0, 12, &be_const_str__available); -be_define_const_str(_X23display_X2Eini, "#display.ini", 182218220u, 0, 12, &be_const_str_Timer); -be_define_const_str(_X23init_X2Ebat, "#init.bat", 3297595077u, 0, 9, &be_const_str_HTTP_POST); -be_define_const_str(_X23preinit_X2Ebe, "#preinit.be", 687035716u, 0, 11, &be_const_str_BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29); -be_define_const_str(_X2502d_X25s_X2502d, "%02d%s%02d", 1587999717u, 0, 10, NULL); -be_define_const_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, "%04d-%02d-%02dT%02d:%02d:%02d", 3425528601u, 0, 29, NULL); -be_define_const_str(_X25s_X2Eautoconf, "%s.autoconf", 3560383524u, 0, 11, &be_const_str_set_chg_current); -be_define_const_str(_X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, "<Error: apply new or remove>", 2855507949u, 0, 34, &be_const_str_classof); -be_define_const_str(_X26lt_X3BNone_X26gt_X3B, "<None>", 2602165498u, 0, 12, &be_const_str_isinstance); -be_define_const_str(_X28_X29, "()", 685372826u, 0, 2, &be_const_str_set_matrix_pixel_color); -be_define_const_str(_X2B, "+", 772578730u, 0, 1, &be_const_str__X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E); -be_define_const_str(_X2C, ",", 688690635u, 0, 1, &be_const_str_SERIAL_6N2); -be_define_const_str(_X2D_X2D_X3A_X2D_X2D, "--:--", 1370615441u, 0, 5, &be_const_str_SERIAL_6E2); -be_define_const_str(_X2E, ".", 722245873u, 0, 1, &be_const_str__lvgl); -be_define_const_str(_X2E_X2E, "..", 2748622605u, 0, 2, &be_const_str_print); -be_define_const_str(_X2Eautoconf, ".autoconf", 2524679088u, 0, 9, &be_const_str_pop); -be_define_const_str(_X2Ebe, ".be", 1325797348u, 0, 3, &be_const_str_abs); -be_define_const_str(_X2Ebec, ".bec", 3985273221u, 0, 4, &be_const_str_No_X20callback_X20available); -be_define_const_str(_X2Elen, ".len", 850842136u, 0, 4, &be_const_str__X3Clambda_X3E); -be_define_const_str(_X2Ep, ".p", 1171526419u, 0, 2, &be_const_str_SERIAL_5E1); -be_define_const_str(_X2Ep1, ".p1", 249175686u, 0, 3, &be_const_str_set_auth); -be_define_const_str(_X2Ep2, ".p2", 232398067u, 0, 3, &be_const_str_set); -be_define_const_str(_X2Esize, ".size", 1965188224u, 0, 5, &be_const_str_dirty); -be_define_const_str(_X2Etapp, ".tapp", 1363391594u, 0, 5, &be_const_str__X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E); -be_define_const_str(_X2Ew, ".w", 1255414514u, 0, 2, &be_const_str_get_light); -be_define_const_str(_X2F, "/", 705468254u, 0, 1, &be_const_str_AudioGeneratorWAV); -be_define_const_str(_X2F_X2Eautoconf, "/.autoconf", 2212074393u, 0, 10, &be_const_str_SERIAL_6N1); -be_define_const_str(_X2F_X3Frst_X3D, "/?rst=", 580074707u, 0, 6, &be_const_str_get); -be_define_const_str(_X2Fac, "/ac", 3904651978u, 0, 3, &be_const_str_io_error); -be_define_const_str(_X3A, ":", 1057798253u, 0, 1, &be_const_str_c); -be_define_const_str(_X3C, "<", 957132539u, 0, 1, &be_const_str_available); -be_define_const_str(_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "
", 3546571739u, 0, 11, &be_const_str_autorun); -be_define_const_str(_X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "", 1863865923u, 0, 16, &be_const_str_id); -be_define_const_str(_X3C_X3D, "<=", 2499223986u, 0, 2, NULL); -be_define_const_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, "", 3147934216u, 0, 82, &be_const_str__get_cb); -be_define_const_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, "", 1205771629u, 0, 72, &be_const_str_erase); -be_define_const_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, "", 2052843416u, 0, 25, &be_const_str_area); be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "", 452285201u, 0, 120, NULL); -be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, "