From 434dd312af5656f30638cded841f9b6550463838 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri, 16 Apr 2021 11:57:45 +0200 Subject: [PATCH 01/68] Merge pull request #11742 from Jason2866/patch-3 Fix for #11680 --- tasmota/xsns_53_sml.ino | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/tasmota/xsns_53_sml.ino b/tasmota/xsns_53_sml.ino index c29cd29a5..5288e2dc3 100755 --- a/tasmota/xsns_53_sml.ino +++ b/tasmota/xsns_53_sml.ino @@ -1915,14 +1915,14 @@ void SML_Immediate_MQTT(const char *mp,uint8_t index,uint8_t mindex) { // web + json interface void SML_Show(boolean json) { - int8_t count,mindex,cindex=0; + int8_t count, mindex, cindex = 0; char tpowstr[32]; char name[24]; char unit[8]; char jname[24]; int8_t index=0,mid=0; char *mp=(char*)meter_p; - char *cp,nojson=0; + char *cp, nojson = 0; //char b_mqtt_data[MESSZ]; //b_mqtt_data[0]=0; @@ -1937,9 +1937,9 @@ void SML_Show(boolean json) { if (mindex<0 || mindex>=meters_used) mindex=0; if (meter_desc_p[mindex].prefix[0]=='*' && meter_desc_p[mindex].prefix[1]==0) { - nojson=1; + nojson = 1; } else { - nojson=0; + nojson = 0; } mp+=2; if (*mp=='=' && *(mp+1)=='h') { @@ -2032,27 +2032,35 @@ void SML_Show(boolean json) { } if (json) { - if (!dvalid[index]) { - nojson = 1; + //if (dvalid[index]) { + //AddLog(LOG_LEVEL_INFO, PSTR("not yet valid line %d"), index); - } + //} // json export if (index==0) { //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s,\"%s\":{\"%s\":%s", b_mqtt_data,meter_desc_p[mindex].prefix,jname,tpowstr); - if (!nojson) ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%s"),meter_desc_p[mindex].prefix,jname,tpowstr); + if (!nojson) { + ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%s"),meter_desc_p[mindex].prefix,jname,tpowstr); + } } else { if (lastmind!=mindex) { // meter changed, close mqtt //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s}", b_mqtt_data); - if (!nojson) ResponseAppend_P(PSTR("}")); + if (!nojson) { + ResponseAppend_P(PSTR("}")); + } // and open new //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s,\"%s\":{\"%s\":%s", b_mqtt_data,meter_desc_p[mindex].prefix,jname,tpowstr); - if (!nojson) ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%s"),meter_desc_p[mindex].prefix,jname,tpowstr); + if (!nojson) { + ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%s"),meter_desc_p[mindex].prefix,jname,tpowstr); + } lastmind=mindex; } else { //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s,\"%s\":%s", b_mqtt_data,jname,tpowstr); - if (!nojson) ResponseAppend_P(PSTR(",\"%s\":%s"),jname,tpowstr); + if (!nojson) { + ResponseAppend_P(PSTR(",\"%s\":%s"),jname,tpowstr); + } } } @@ -2073,7 +2081,9 @@ void SML_Show(boolean json) { if (json) { //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s}", b_mqtt_data); //ResponseAppend_P(PSTR("%s"),b_mqtt_data); - if (!nojson) ResponseAppend_P(PSTR("}")); + if (!nojson) { + ResponseAppend_P(PSTR("}")); + } } else { //WSContentSend_PD(PSTR("%s"),b_mqtt_data); } From 47f8327e841ae3ddc956e0dfbfddbaf3778d40c2 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri, 16 Apr 2021 18:05:40 +0200 Subject: [PATCH 02/68] Fix folder odroid core2 --- .github/workflows/Tasmota_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Tasmota_build.yml b/.github/workflows/Tasmota_build.yml index 40fd060ba..47736dea5 100644 --- a/.github/workflows/Tasmota_build.yml +++ b/.github/workflows/Tasmota_build.yml @@ -1382,7 +1382,7 @@ jobs: mkdir -p ./firmware/tasmota/languages mkdir -p ./firmware/tasmota32/languages mkdir -p ./firmware/tasmota32/ESP32_needed_files/ - mkdir -p ./firmware/tasmota32/Odroid_go_needed_files/ + mkdir -p ./firmware/tasmota32/Odroid_go_and_core2_needed_files/ mkdir -p ./firmware/map [ ! -f ./mv_firmware/map/* ] || mv ./mv_firmware/map/* ./firmware/map/ [ ! -f ./mv_firmware/firmware/tasmota.* ] || mv ./mv_firmware/firmware/tasmota.* ./firmware/tasmota/ @@ -1403,7 +1403,7 @@ jobs: [ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./firmware/tasmota32/languages/ [ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./firmware/tasmota/languages/ [ ! -f ./tools/Esptool/ESP32/*.* ] || mv ./tools/Esptool/ESP32/*.* ./firmware/tasmota32/ESP32_needed_files/ - [ ! -f ./tools/Esptool/Odroid_go/*.* ] || mv ./tools/Esptool/Odroid_go/*.* ./firmware/tasmota32/Odroid_go_needed_files/ + [ ! -f ./tools/Esptool/Odroid_go_and_core2/*.* ] || mv ./tools/Esptool/Odroid_go_and_core2/*.* ./firmware/tasmota32/Odroid_go_and_core2_needed_files/ [ ! -f ./FIRMWARE.md ] || mv -f ./FIRMWARE.md ./README.md - name: Commit files # transfer the new binaries back into the repository run: | From cf63136ad81a282bac872aa78edb96c55073314f Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri, 16 Apr 2021 18:10:15 +0200 Subject: [PATCH 03/68] Folder corrected for odroid core2 --- .github/workflows/Tasmota_build_master.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Tasmota_build_master.yml b/.github/workflows/Tasmota_build_master.yml index 4bef7a371..e00ae3788 100644 --- a/.github/workflows/Tasmota_build_master.yml +++ b/.github/workflows/Tasmota_build_master.yml @@ -1382,7 +1382,7 @@ jobs: mkdir -p ./firmware/tasmota/languages mkdir -p ./firmware/tasmota32/languages mkdir -p ./firmware/tasmota32/ESP32_needed_files/ - mkdir -p ./firmware/tasmota32/Odroid_go_needed_files/ + mkdir -p ./firmware/tasmota32/Odroid_go_and_core2_needed_files/ mkdir -p ./firmware/map [ ! -f ./mv_firmware/map/* ] || mv ./mv_firmware/map/* ./firmware/map/ [ ! -f ./mv_firmware/firmware/tasmota.* ] || mv ./mv_firmware/firmware/tasmota.* ./firmware/tasmota/ @@ -1403,7 +1403,7 @@ jobs: [ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./firmware/tasmota32/languages/ [ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./firmware/tasmota/languages/ [ ! -f ./tools/Esptool/ESP32/*.* ] || mv ./tools/Esptool/ESP32/*.* ./firmware/tasmota32/ESP32_needed_files/ - [ ! -f ./tools/Esptool/Odroid_go/*.* ] || mv ./tools/Esptool/Odroid_go/*.* ./firmware/tasmota32/Odroid_go_needed_files/ + [ ! -f ./tools/Esptool/Odroid_go_and_core2/*.* ] || mv ./tools/Esptool/Odroid_go_and_core2/*.* ./firmware/tasmota32/Odroid_go_and_core2_needed_files/ [ ! -f ./FIRMWARE.md ] || mv -f ./RELEASENOTES.md ./README.md - name: Commit files # transfer the new binaries back into the repository run: | From 18d75ce8e010bcbd7c3285fee7447ead7ba180a1 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri, 16 Apr 2021 18:11:10 +0200 Subject: [PATCH 04/68] Delete partitions.bin --- tools/Esptool/ESP32/partitions.bin | Bin 3072 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tools/Esptool/ESP32/partitions.bin diff --git a/tools/Esptool/ESP32/partitions.bin b/tools/Esptool/ESP32/partitions.bin deleted file mode 100644 index 7ae174cb41a9306f79861d89e115e83693114f10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3072 zcmZ1#z{tcffq{V`fPo>etQg2Z1*-xW85kY_#S|DA@=Fp^5=#cs$r04 zNGvEYK#>G;fbxQ1%@BD*OnJs81_pbeFe5{8L1tPSniF2X{*MA0j%J#r{#acu6t%-_ oulh%M6v Date: Fri, 16 Apr 2021 18:13:45 +0200 Subject: [PATCH 05/68] App 1856k SPIFFS 320k --- tools/Esptool/ESP32/partitions.bin | Bin 0 -> 3072 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tools/Esptool/ESP32/partitions.bin diff --git a/tools/Esptool/ESP32/partitions.bin b/tools/Esptool/ESP32/partitions.bin new file mode 100644 index 0000000000000000000000000000000000000000..f1e66d048da0df54be568d7fae2e36b528f76dcc GIT binary patch literal 3072 zcmZ1#z{tcffq{V`fPo>etQg2Z1*-xW85kY_#S|DA@=Fp^5=#cs$r02 zNGvEYK#>G;fbxP24014eLri(bCI$v;pfD>#aY1HU8k!Sczy6N`4Ap1+{O(>BpS~tk pH1gK(DJYVooY4>%4S~@R7!85Z5Eu=C(GVC7fzc2c4FS9%007ijUk?BP literal 0 HcmV?d00001 From 102d6ec04bce9289cc78852eded67b3ab9b69629 Mon Sep 17 00:00:00 2001 From: gemu2015 Date: Fri, 16 Apr 2021 19:36:45 +0200 Subject: [PATCH 06/68] update universal display --- lib/lib_display/UDisplay/uDisplay.cpp | 596 ++++++++++++++++++++--- lib/lib_display/UDisplay/uDisplay.h | 36 +- tasmota/displaydesc/ILI9341_desc.txt | 5 +- tasmota/displaydesc/ILI9342_desc.txt | 3 +- tasmota/displaydesc/ILI9488_desc.txt | 7 +- tasmota/displaydesc/SD1306_desc.txt | 24 + tasmota/displaydesc/SH1106_desc.txt | 3 +- tasmota/displaydesc/SSD1351_desc.txt | 2 +- tasmota/displaydesc/ST7789_desc.txt | 3 +- tasmota/displaydesc/WS_epaper29_desc.txt | 17 + tasmota/displaydesc/readme.md | 19 + tasmota/xdsp_17_universal.ino | 30 +- 12 files changed, 660 insertions(+), 85 deletions(-) create mode 100644 tasmota/displaydesc/SD1306_desc.txt create mode 100644 tasmota/displaydesc/WS_epaper29_desc.txt create mode 100644 tasmota/displaydesc/readme.md diff --git a/lib/lib_display/UDisplay/uDisplay.cpp b/lib/lib_display/UDisplay/uDisplay.cpp index 555b0059b..0694a0d3c 100644 --- a/lib/lib_display/UDisplay/uDisplay.cpp +++ b/lib/lib_display/UDisplay/uDisplay.cpp @@ -18,8 +18,6 @@ */ #include -#include -#include #include "uDisplay.h" #define UDSP_DEBUG @@ -42,6 +40,14 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) { sa_mode = 16; saw_3 = 0xff; dim_op = 0xff; + dsp_off = 0xff; + dsp_on = 0xff; + lutpsize = 0; + lutfsize = 0; + lutptime = 35; + lutftime = 350; + lut3time = 10; + ep_mode = 0; startline = 0xA1; uint8_t section = 0; dsp_ncmds = 0; @@ -174,10 +180,20 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) { rot_t[3] = next_hex(&lp1); break; case 'A': - saw_1 = next_hex(&lp1); - saw_2 = next_hex(&lp1); - saw_3 = next_hex(&lp1); - sa_mode = next_val(&lp1); + if (interface == _UDSP_I2C) { + saw_1 = next_hex(&lp1); + i2c_page_start = next_hex(&lp1); + i2c_page_end = next_hex(&lp1); + saw_2 = next_hex(&lp1); + i2c_col_start = next_hex(&lp1); + i2c_col_end = next_hex(&lp1); + saw_3 = next_hex(&lp1); + } else { + saw_1 = next_hex(&lp1); + saw_2 = next_hex(&lp1); + saw_3 = next_hex(&lp1); + sa_mode = next_val(&lp1); + } break; case 'P': col_mode = next_val(&lp1); @@ -189,6 +205,31 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) { case 'D': dim_op = next_hex(&lp1); break; + case 'L': + while (1) { + if (!str2c(&lp1, ibuff, sizeof(ibuff))) { + lut_full[lutfsize++] = strtol(ibuff, 0, 16); + } else { + break; + } + if (lutfsize >= sizeof(lut_full)) break; + } + break; + case 'l': + while (1) { + if (!str2c(&lp1, ibuff, sizeof(ibuff))) { + lut_partial[lutpsize++] = strtol(ibuff, 0, 16); + } else { + break; + } + if (lutpsize >= sizeof(lut_partial)) break; + } + break; + case 'T': + lutftime = next_val(&lp1); + lutptime = next_val(&lp1); + lut3time = next_val(&lp1); + break; } } } @@ -200,26 +241,54 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) { lp++; } } + + if (lutfsize && lutpsize) { + ep_mode = 1; + } + #ifdef UDSP_DEBUG - Serial.printf("Nr. : %d\n", spi_nr); - Serial.printf("CS : %d\n", spi_cs); - Serial.printf("CLK : %d\n", spi_clk); - Serial.printf("MOSI: %d\n", spi_mosi); - Serial.printf("DC : %d\n", spi_dc); - Serial.printf("BPAN: %d\n", bpanel); - Serial.printf("RES : %d\n", reset); - Serial.printf("MISO: %d\n", spi_miso); - Serial.printf("SPED: %d\n", spi_speed*1000000); - Serial.printf("Pixels: %d\n", col_mode); - Serial.printf("SaMode: %d\n", sa_mode); + Serial.printf("xs : %d\n", gxs); + Serial.printf("ys : %d\n", gys); + Serial.printf("bpp: %d\n", bpp); - Serial.printf("opts: %02x,%02x,%02x\n", saw_3, dim_op, startline); + if (interface == _UDSP_SPI) { + Serial.printf("Nr. : %d\n", spi_nr); + Serial.printf("CS : %d\n", spi_cs); + Serial.printf("CLK : %d\n", spi_clk); + Serial.printf("MOSI: %d\n", spi_mosi); + Serial.printf("DC : %d\n", spi_dc); + Serial.printf("BPAN: %d\n", bpanel); + Serial.printf("RES : %d\n", reset); + Serial.printf("MISO: %d\n", spi_miso); + Serial.printf("SPED: %d\n", spi_speed*1000000); + Serial.printf("Pixels: %d\n", col_mode); + Serial.printf("SaMode: %d\n", sa_mode); - Serial.printf("SetAddr : %x,%x,%x\n", saw_1, saw_2, saw_3); + Serial.printf("opts: %02x,%02x,%02x\n", saw_3, dim_op, startline); - Serial.printf("Rot 0: %x,%x - %d - %d\n", madctrl, rot[0], x_addr_offs[0], y_addr_offs[0]); + Serial.printf("SetAddr : %x,%x,%x\n", saw_1, saw_2, saw_3); + Serial.printf("Rot 0: %x,%x - %d - %d\n", madctrl, rot[0], x_addr_offs[0], y_addr_offs[0]); + + if (ep_mode) { + Serial.printf("LUT_Partial : %d\n", lutpsize); + Serial.printf("LUT_Full : %d\n", lutfsize); + } + } + if (interface == _UDSP_I2C) { + Serial.printf("Addr : %02x\n", i2caddr); + Serial.printf("SCL : %d\n", i2c_scl); + Serial.printf("SDA : %d\n", i2c_sda); + + Serial.printf("SPA : %x\n", saw_1); + Serial.printf("pa_sta: %x\n", i2c_page_start); + Serial.printf("pa_end: %x\n", i2c_page_end); + Serial.printf("SCA : %x\n", saw_2); + Serial.printf("ca_sta: %x\n", i2c_col_start); + Serial.printf("pa_end: %x\n", i2c_col_end); + Serial.printf("WRA : %x\n", saw_3); + } #endif } @@ -237,26 +306,46 @@ Renderer *uDisplay::Init(void) { } if (interface == _UDSP_I2C) { - Wire.begin(i2c_sda, i2c_scl); + wire = &Wire; + wire->begin(i2c_sda, i2c_scl); if (bpp < 16) { if (buffer) free(buffer); #ifdef ESP8266 - buffer = (uint8_t*)calloc((width()*height()*bpp)/8, 1); + buffer = (uint8_t*)calloc((gxs * gys * bpp) / 8, 1); #else if (psramFound()) { - buffer = (uint8_t*)heap_caps_malloc((width()*height()*bpp)/8, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + buffer = (uint8_t*)heap_caps_malloc((gxs * gys * bpp) / 8, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); } else { - buffer = (uint8_t*)calloc((width()*height()*bpp)/8, 1); + buffer = (uint8_t*)calloc((gxs * gys * bpp) / 8, 1); } #endif } +#ifdef UDSP_DEBUG + Serial.printf("I2C cmds: %d\n", dsp_ncmds); +#endif for (uint32_t cnt = 0; cnt < dsp_ncmds; cnt++) { i2c_command(dsp_cmds[cnt]); +#ifdef UDSP_DEBUG + Serial.printf("cmd = %x\n", dsp_cmds[cnt]); +#endif } } if (interface == _UDSP_SPI) { + + if (ep_mode) { + #ifdef ESP8266 + buffer = (uint8_t*)calloc((gxs * gys * bpp) / 8, 1); + #else + if (psramFound()) { + buffer = (uint8_t*)heap_caps_malloc((gxs * gys * bpp) / 8, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + } else { + buffer = (uint8_t*)calloc((gxs * gys * bpp) / 8, 1); + } + #endif + } + if (bpanel >= 0) { #ifdef ESP32 ledcSetup(ESP32_PWM_CHANNEL, 4000, 8); @@ -285,8 +374,6 @@ Renderer *uDisplay::Init(void) { digitalWrite(spi_clk, LOW); pinMode(spi_mosi, OUTPUT); digitalWrite(spi_mosi, LOW); - pinMode(spi_dc, OUTPUT); - digitalWrite(spi_dc, LOW); } #endif // ESP8266 @@ -302,8 +389,6 @@ Renderer *uDisplay::Init(void) { digitalWrite(spi_clk, LOW); pinMode(spi_mosi, OUTPUT); digitalWrite(spi_mosi, LOW); - pinMode(spi_dc, OUTPUT); - digitalWrite(spi_dc, LOW); } #endif // ESP32 @@ -321,7 +406,7 @@ Renderer *uDisplay::Init(void) { uint8_t args = dsp_cmds[index++]; #ifdef UDSP_DEBUG - Serial.printf("cmd, args %x, %d ", iob, args&0x1f); + Serial.printf("cmd, args %02x, %d ", iob, args&0x1f); #endif for (uint32_t cnt = 0; cnt < (args & 0x1f); cnt++) { iob = dsp_cmds[index++]; @@ -343,10 +428,35 @@ Renderer *uDisplay::Init(void) { SPI_END_TRANSACTION } + + // must init luts on epaper + if (ep_mode) { + Init_EPD(DISPLAY_INIT_FULL); + Init_EPD(DISPLAY_INIT_PARTIAL); + } + return this; } -void uDisplay::DisplayInit(int8_t p,int8_t size,int8_t rot,int8_t font) { + +void uDisplay::DisplayInit(int8_t p, int8_t size, int8_t rot, int8_t font) { + if (p !=DISPLAY_INIT_MODE && ep_mode) { + if (p == DISPLAY_INIT_PARTIAL) { + if (lutpsize) { + SetLut(lut_partial); + Updateframe_EPD(); + delay(lutptime * 10); + } + return; + } else if (p == DISPLAY_INIT_FULL) { + if (lutfsize) { + SetLut(lut_full); + Updateframe_EPD(); + delay(lutftime * 10); + } + return; + } + } else { setRotation(rot); invertDisplay(false); setTextWrap(false); @@ -357,6 +467,11 @@ void uDisplay::DisplayInit(int8_t p,int8_t size,int8_t rot,int8_t font) { setCursor(0,0); fillScreen(bg_col); Updateframe(); + +#ifdef UDSP_DEBUG + Serial.printf("Dsp Init complete \n"); +#endif + } } void uDisplay::spi_command(uint8_t val) { @@ -444,25 +559,59 @@ void uDisplay::spi_command_one(uint8_t val) { void uDisplay::i2c_command(uint8_t val) { //Serial.printf("%02x\n",val ); - Wire.beginTransmission(i2caddr); - Wire.write(0); - Wire.write(val); - Wire.endTransmission(); + wire->beginTransmission(i2caddr); + wire->write(0); + wire->write(val); + wire->endTransmission(); } +#define WIRE_MAX 32 + void uDisplay::Updateframe(void) { + if (ep_mode) { + Updateframe_EPD(); + return; + } + if (interface == _UDSP_I2C) { - i2c_command(saw_1 | 0x0); // low col = 0 - i2c_command(saw_2 | 0x0); // hi col = 0 - i2c_command(saw_3 | 0x0); // line #0 + + #if 0 + i2c_command(saw_1); + i2c_command(i2c_page_start); + i2c_command(i2c_page_end); + i2c_command(saw_2); + i2c_command(i2c_col_start); + i2c_command(i2c_col_end); + + uint16_t count = gxs * ((gys + 7) / 8); + uint8_t *ptr = buffer; + wire->beginTransmission(i2caddr); + i2c_command(saw_3); + uint8_t bytesOut = 1; + while (count--) { + if (bytesOut >= WIRE_MAX) { + wire->endTransmission(); + wire->beginTransmission(i2caddr); + i2c_command(saw_3); + bytesOut = 1; + } + i2c_command(*ptr++); + bytesOut++; + } + wire->endTransmission(); +#else + + i2c_command(saw_1 | 0x0); // set low col = 0, 0x00 + i2c_command(i2c_page_start | 0x0); // set hi col = 0, 0x10 + i2c_command(i2c_page_end | 0x0); // set startline line #0, 0x40 uint8_t ys = gys >> 3; uint8_t xs = gxs >> 3; //uint8_t xs = 132 >> 3; - uint8_t m_row = 0; - uint8_t m_col = 2; + uint8_t m_row = saw_2; + uint8_t m_col = i2c_col_start; uint16_t p = 0; @@ -470,24 +619,32 @@ void uDisplay::Updateframe(void) { for ( i = 0; i < ys; i++) { // send a bunch of data in one xmission - i2c_command(0xB0 + i + m_row);//set page address - i2c_command(m_col & 0xf);//set lower column address - i2c_command(0x10 | (m_col >> 4));//set higher column address + i2c_command(0xB0 + i + m_row); //set page address + i2c_command(m_col & 0xf); //set lower column address + i2c_command(0x10 | (m_col >> 4)); //set higher column address - for( j = 0; j < 8; j++){ - Wire.beginTransmission(i2caddr); - Wire.write(0x40); + for ( j = 0; j < 8; j++) { + wire->beginTransmission(i2caddr); + wire->write(0x40); for ( k = 0; k < xs; k++, p++) { - Wire.write(buffer[p]); + wire->write(buffer[p]); } - Wire.endTransmission(); - } + wire->endTransmission(); } } +#endif + } + + } void uDisplay::drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color) { + if (ep_mode) { + drawFastVLine_EPD(x, y, h, color); + return; + } + if (interface != _UDSP_SPI) { Renderer::drawFastVLine(x, y, h, color); return; @@ -528,6 +685,12 @@ void uDisplay::drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color) { void uDisplay::drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color) { + + if (ep_mode) { + drawFastHLine_EPD(x, y, w, color); + return; + } + if (interface != _UDSP_SPI) { Renderer::drawFastHLine(x, y, w, color); return; @@ -575,6 +738,12 @@ void uDisplay::fillScreen(uint16_t color) { // fill a rectangle void uDisplay::fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color) { + + if (ep_mode) { + fillRect_EPD(x, y, w, h, color); + return; + } + if (interface != _UDSP_SPI) { Renderer::fillRect(x, y, w, h, color); return; @@ -646,6 +815,9 @@ for(y=h; y>0; y--) { void uDisplay::Splash(void) { + if (ep_mode) { + delay(lut3time * 10); + } setTextFont(splash_font); setTextSize(splash_size); DrawStringAt(splash_xp, splash_yp, dname, fg_col, 0); @@ -670,7 +842,7 @@ void uDisplay::setAddrWindow_int(uint16_t x, uint16_t y, uint16_t w, uint16_t h) x += x_addr_offs[cur_rot]; y += y_addr_offs[cur_rot]; - if (sa_mode == 16) { + if (sa_mode != 8) { uint32_t xa = ((uint32_t)x << 16) | (x+w-1); uint32_t ya = ((uint32_t)y << 16) | (y+h-1); @@ -735,11 +907,19 @@ void uDisplay::WriteColor(uint16_t color) { void uDisplay::drawPixel(int16_t x, int16_t y, uint16_t color) { + + if (ep_mode) { + drawPixel_EPD(x, y, color); + return; + } + if (interface != _UDSP_SPI) { Renderer::drawPixel(x, y, color); return; } + + if ((x < 0) || (x >= _width) || (y < 0) || (y >= _height)) return; @@ -763,7 +943,13 @@ void uDisplay::setRotation(uint8_t rotation) { Renderer::setRotation(cur_rot); return; } + if (interface == _UDSP_SPI) { + + if (ep_mode) { + Renderer::setRotation(cur_rot); + return; + } SPI_BEGIN_TRANSACTION SPI_CS_LOW spi_command(madctrl); @@ -801,6 +987,10 @@ void udisp_bpwr(uint8_t on); void uDisplay::DisplayOnff(int8_t on) { + if (ep_mode) { + return; + } + udisp_bpwr(on); if (interface == _UDSP_I2C) { @@ -811,7 +1001,7 @@ void uDisplay::DisplayOnff(int8_t on) { } } else { if (on) { - spi_command_one(dsp_on); + if (dsp_on != 0xff) spi_command_one(dsp_on); if (bpanel >= 0) { #ifdef ESP32 ledcWrite(ESP32_PWM_CHANNEL, dimmer); @@ -821,7 +1011,7 @@ void uDisplay::DisplayOnff(int8_t on) { } } else { - spi_command_one(dsp_off); + if (dsp_off != 0xff) spi_command_one(dsp_off); if (bpanel >= 0) { #ifdef ESP32 ledcWrite(ESP32_PWM_CHANNEL, 0); @@ -834,10 +1024,24 @@ void uDisplay::DisplayOnff(int8_t on) { } void uDisplay::invertDisplay(boolean i) { - if (i) { - spi_command_one(inv_on); - } else { - spi_command_one(inv_off); + + if (ep_mode) { + return; + } + + if (interface == _UDSP_SPI) { + if (i) { + spi_command_one(inv_on); + } else { + spi_command_one(inv_off); + } + } + if (interface == _UDSP_I2C) { + if (i) { + i2c_command(inv_on); + } else { + i2c_command(inv_off); + } } } @@ -845,22 +1049,30 @@ void udisp_dimm(uint8_t dim); void uDisplay::dim(uint8_t dim) { dimmer = dim; - if (dimmer > 15) dimmer = 15; - dimmer = ((float)dimmer / 15.0) * 255.0; -#ifdef ESP32 - if (bpanel >= 0) { - ledcWrite(ESP32_PWM_CHANNEL, dimmer); - } else { - udisp_dimm(dim); + + if (ep_mode) { + return; } + + if (interface == _UDSP_SPI) { + if (dimmer > 15) dimmer = 15; + dimmer = ((float)dimmer / 15.0) * 255.0; +#ifdef ESP32 + if (bpanel >= 0) { + ledcWrite(ESP32_PWM_CHANNEL, dimmer); + } else { + udisp_dimm(dim); + } #endif - if (dim_op != 0xff) { - SPI_BEGIN_TRANSACTION - SPI_CS_LOW - spi_command(dim_op); - spi_data8(dim); - SPI_CS_HIGH - SPI_END_TRANSACTION + + if (dim_op != 0xff) { + SPI_BEGIN_TRANSACTION + SPI_CS_LOW + spi_command(dim_op); + spi_data8(dim); + SPI_CS_HIGH + SPI_END_TRANSACTION + } } } @@ -1033,3 +1245,249 @@ void USECACHE uDisplay::write32(uint32_t val) { GPIO_SET(spi_clk); } } + + +// epaper section + +// EPD2IN9 commands +#define DRIVER_OUTPUT_CONTROL 0x01 +#define BOOSTER_SOFT_START_CONTROL 0x0C +#define GATE_SCAN_START_POSITION 0x0F +#define DEEP_SLEEP_MODE 0x10 +#define DATA_ENTRY_MODE_SETTING 0x11 +#define SW_RESET 0x12 +#define TEMPERATURE_SENSOR_CONTROL 0x1A +#define MASTER_ACTIVATION 0x20 +#define DISPLAY_UPDATE_CONTROL_1 0x21 +#define DISPLAY_UPDATE_CONTROL_2 0x22 +#define WRITE_RAM 0x24 +#define WRITE_VCOM_REGISTER 0x2C +#define WRITE_LUT_REGISTER 0x32 +#define SET_DUMMY_LINE_PERIOD 0x3A +#define SET_GATE_TIME 0x3B +#define BORDER_WAVEFORM_CONTROL 0x3C +#define SET_RAM_X_ADDRESS_START_END_POSITION 0x44 +#define SET_RAM_Y_ADDRESS_START_END_POSITION 0x45 +#define SET_RAM_X_ADDRESS_COUNTER 0x4E +#define SET_RAM_Y_ADDRESS_COUNTER 0x4F +#define TERMINATE_FRAME_READ_WRITE 0xFF + + +void uDisplay::spi_data8_EPD(uint8_t val) { + SPI_BEGIN_TRANSACTION + SPI_CS_LOW + spi_data8(val); + SPI_CS_HIGH + SPI_END_TRANSACTION +} + +void uDisplay::spi_command_EPD(uint8_t val) { + SPI_BEGIN_TRANSACTION + SPI_CS_LOW + spi_command(val); + SPI_CS_HIGH + SPI_END_TRANSACTION +} + +void uDisplay::Init_EPD(int8_t p) { + if (p == DISPLAY_INIT_PARTIAL) { + SetLut(lut_partial); + } else { + SetLut(lut_full); + } + ClearFrameMemory(0xFF); + Updateframe_EPD(); + if (p == DISPLAY_INIT_PARTIAL) { + delay(lutptime * 10); + } else { + delay(lutftime * 10); + } +} + +void uDisplay::ClearFrameMemory(unsigned char color) { + SetMemoryArea(0, 0, gxs - 1, gys - 1); + SetMemoryPointer(0, 0); + spi_command_EPD(WRITE_RAM); + /* send the color data */ + for (int i = 0; i < gxs / 8 * gys; i++) { + spi_data8_EPD(color); + } +} + +void uDisplay::SetLut(const unsigned char* lut) { + spi_command_EPD(WRITE_LUT_REGISTER); + /* the length of look-up table is 30 bytes */ + for (int i = 0; i < lutfsize; i++) { + spi_data8_EPD(lut[i]); + } +} + +void uDisplay::Updateframe_EPD(void) { + SetFrameMemory(buffer, 0, 0, gxs, gys); + DisplayFrame(); +} + +void uDisplay::DisplayFrame(void) { + spi_command_EPD(DISPLAY_UPDATE_CONTROL_2); + spi_data8_EPD(0xC4); + spi_command_EPD(MASTER_ACTIVATION); + spi_data8_EPD(TERMINATE_FRAME_READ_WRITE); +} + +void uDisplay::SetMemoryArea(int x_start, int y_start, int x_end, int y_end) { + spi_command_EPD(SET_RAM_X_ADDRESS_START_END_POSITION); + /* x point must be the multiple of 8 or the last 3 bits will be ignored */ + spi_data8_EPD((x_start >> 3) & 0xFF); + spi_data8_EPD((x_end >> 3) & 0xFF); + spi_command_EPD(SET_RAM_Y_ADDRESS_START_END_POSITION); + spi_data8_EPD(y_start & 0xFF); + spi_data8_EPD((y_start >> 8) & 0xFF); + spi_data8_EPD(y_end & 0xFF); + spi_data8_EPD((y_end >> 8) & 0xFF); +} + +void uDisplay::SetFrameMemory(const unsigned char* image_buffer) { + SetMemoryArea(0, 0, gxs - 1, gys - 1); + SetMemoryPointer(0, 0); + spi_command_EPD(WRITE_RAM); + /* send the image data */ + for (int i = 0; i < gxs / 8 * gys; i++) { + spi_data8_EPD(image_buffer[i] ^ 0xff); + } +} + +void uDisplay::SetMemoryPointer(int x, int y) { + spi_command_EPD(SET_RAM_X_ADDRESS_COUNTER); + /* x point must be the multiple of 8 or the last 3 bits will be ignored */ + spi_data8_EPD((x >> 3) & 0xFF); + spi_command_EPD(SET_RAM_Y_ADDRESS_COUNTER); + spi_data8_EPD(y & 0xFF); + spi_data8_EPD((y >> 8) & 0xFF); +} + +void uDisplay::SetFrameMemory( + const unsigned char* image_buffer, + uint16_t x, + uint16_t y, + uint16_t image_width, + uint16_t image_height +) { + uint16_t x_end; + uint16_t y_end; + + if ( + image_buffer == NULL || + x < 0 || image_width < 0 || + y < 0 || image_height < 0 + ) { + return; + } + + /* x point must be the multiple of 8 or the last 3 bits will be ignored */ + x &= 0xFFF8; + image_width &= 0xFFF8; + if (x + image_width >= gxs) { + x_end = gxs - 1; + } else { + x_end = x + image_width - 1; + } + if (y + image_height >= gys) { + y_end = gys - 1; + } else { + y_end = y + image_height - 1; + } + + if (!x && !y && image_width == gxs && image_height == gys) { + SetFrameMemory(image_buffer); + return; + } + + SetMemoryArea(x, y, x_end, y_end); + SetMemoryPointer(x, y); + spi_command_EPD(WRITE_RAM); + /* send the image data */ + for (uint16_t j = 0; j < y_end - y + 1; j++) { + for (uint16_t i = 0; i < (x_end - x + 1) / 8; i++) { + spi_data8_EPD(image_buffer[i + j * (image_width / 8)]^0xff); + } + } +} + +#define IF_INVERT_COLOR 1 +#define renderer_swap(a, b) { int16_t t = a; a = b; b = t; } +/** + * @brief: this draws a pixel by absolute coordinates. + * this function won't be affected by the rotate parameter. + * we must use this for epaper because these displays have a strange and different bit pattern + */ +void uDisplay::DrawAbsolutePixel(int x, int y, int16_t color) { + + int16_t w = width(), h = height(); + if (cur_rot == 1 || cur_rot == 3) { + renderer_swap(w, h); + } + + if (x < 0 || x >= w || y < 0 || y >= h) { + return; + } + if (IF_INVERT_COLOR) { + if (color) { + buffer[(x + y * w) / 8] |= 0x80 >> (x % 8); + } else { + buffer[(x + y * w) / 8] &= ~(0x80 >> (x % 8)); + } + } else { + if (color) { + buffer[(x + y * w) / 8] &= ~(0x80 >> (x % 8)); + } else { + buffer[(x + y * w) / 8] |= 0x80 >> (x % 8); + } + } +} + +void uDisplay::drawPixel_EPD(int16_t x, int16_t y, uint16_t color) { + if (!buffer) return; + if ((x < 0) || (x >= width()) || (y < 0) || (y >= height())) + return; + + // check rotation, move pixel around if necessary + switch (cur_rot) { + case 1: + renderer_swap(x, y); + x = gxs - x - 1; + break; + case 2: + x = gxs - x - 1; + y = gys - y - 1; + break; + case 3: + renderer_swap(x, y); + y = gys - y - 1; + break; + } + + // x is which column + DrawAbsolutePixel(x, y, color); + +} + + +void uDisplay::fillRect_EPD(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color) { + for (uint32_t yp = y; yp < y + h; yp++) { + for (uint32_t xp = x; xp < x + w; xp++) { + drawPixel_EPD(xp , yp , color); + } + } +} +void uDisplay::drawFastVLine_EPD(int16_t x, int16_t y, int16_t h, uint16_t color) { + while (h--) { + drawPixel_EPD(x , y , color); + y++; + } +} +void uDisplay::drawFastHLine_EPD(int16_t x, int16_t y, int16_t w, uint16_t color) { + while (w--) { + drawPixel_EPD(x , y , color); + x++; + } +} diff --git a/lib/lib_display/UDisplay/uDisplay.h b/lib/lib_display/UDisplay/uDisplay.h index f3bc1b277..793b1cc8f 100644 --- a/lib/lib_display/UDisplay/uDisplay.h +++ b/lib/lib_display/UDisplay/uDisplay.h @@ -3,6 +3,8 @@ #include #include +#include +#include #define _UDSP_I2C 1 #define _UDSP_SPI 2 @@ -10,6 +12,10 @@ #define UDISP1_WHITE 1 #define UDISP1_BLACK 0 +#define DISPLAY_INIT_MODE 0 +#define DISPLAY_INIT_PARTIAL 1 +#define DISPLAY_INIT_FULL 2 + enum uColorType { uCOLOR_BW, uCOLOR_COLOR }; // Color definitions @@ -93,7 +99,22 @@ class uDisplay : public Renderer { void write32(uint32_t val); void spi_data9(uint8_t d, uint8_t dc); void WriteColor(uint16_t color); - + void SetLut(const unsigned char* lut); + void DisplayFrame(void); + void Updateframe_EPD(); + void SetFrameMemory(const unsigned char* image_buffer); + void SetFrameMemory(const unsigned char* image_buffer, uint16_t x, uint16_t y, uint16_t image_width, uint16_t image_height); + void SetMemoryArea(int x_start, int y_start, int x_end, int y_end); + void SetMemoryPointer(int x, int y); + void DrawAbsolutePixel(int x, int y, int16_t color); + void drawPixel_EPD(int16_t x, int16_t y, uint16_t color); + void fillRect_EPD(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); + void drawFastVLine_EPD(int16_t x, int16_t y, int16_t h, uint16_t color); + void drawFastHLine_EPD(int16_t x, int16_t y, int16_t w, uint16_t color); + void Init_EPD(int8_t p); + void spi_command_EPD(uint8_t val); + void spi_data8_EPD(uint8_t val); + void ClearFrameMemory(unsigned char color); uint8_t strlen_ln(char *str); int32_t next_val(char **sp); uint32_t next_hex(char **sp); @@ -103,7 +124,12 @@ class uDisplay : public Renderer { uint8_t interface; uint8_t i2caddr; int8_t i2c_scl; + TwoWire *wire; int8_t i2c_sda; + uint8_t i2c_col_start; + uint8_t i2c_col_end; + uint8_t i2c_page_start; + uint8_t i2c_page_end; int8_t reset; uint8_t dsp_cmds[128]; uint8_t dsp_ncmds; @@ -144,6 +170,14 @@ class uDisplay : public Renderer { uint8_t inv_off; uint8_t sa_mode; uint8_t dim_op; + uint8_t lutfsize; + uint8_t lutpsize; + uint16_t lutftime; + uint16_t lutptime; + uint16_t lut3time; + uint8_t ep_mode; + uint8_t lut_full[64]; + uint8_t lut_partial[64]; }; diff --git a/tasmota/displaydesc/ILI9341_desc.txt b/tasmota/displaydesc/ILI9341_desc.txt index c9f6e8964..ccc37bc15 100644 --- a/tasmota/displaydesc/ILI9341_desc.txt +++ b/tasmota/displaydesc/ILI9341_desc.txt @@ -25,10 +25,11 @@ E1,0F,00,0E,14,03,11,07,31,C1,48,08,0F,0C,31,36,0F 29,80 :o,28 :O,29 -:A,2A,2B,2C +:A,2A,2B,2C,16 :R,36 :0,48,00,00,00 :1,28,00,00,01 :2,88,00,00,02 -:3,E8,00,00,02 +:3,E8,00,00,03 +:i,20,21 # diff --git a/tasmota/displaydesc/ILI9342_desc.txt b/tasmota/displaydesc/ILI9342_desc.txt index 0f2b32e35..e072d572a 100644 --- a/tasmota/displaydesc/ILI9342_desc.txt +++ b/tasmota/displaydesc/ILI9342_desc.txt @@ -26,11 +26,12 @@ E1,0F,00,0E,14,03,11,07,31,C1,48,08,0F,0C,31,36,0F 29,80 :o,28 :O,29 -:A,2A,2B,2C +:A,2A,2B,2C,16 :R,36 :0,08,00,00,00 :1,A8,00,00,01 :2,C8,00,00,02 :3,68,00,00,03 +:i,20,21 :TI2,38,22,21 # diff --git a/tasmota/displaydesc/ILI9488_desc.txt b/tasmota/displaydesc/ILI9488_desc.txt index 1aac15cd2..36485fc18 100644 --- a/tasmota/displaydesc/ILI9488_desc.txt +++ b/tasmota/displaydesc/ILI9488_desc.txt @@ -1,4 +1,4 @@ -:H,ILI9488,480,320,16,SPI,1,*,*,*,*,*,*,-1,10 +:H,ILI9488,480,320,16,SPI,1,*,*,*,*,*,*,*,10 :S,2,1,1,0,40,20 :I E0,0F,00,03,09,08,16,0A,3F,78,4C,09,0A,08,16,1A,0F @@ -18,7 +18,7 @@ F7,4,A9,51,2C,82 29,0 :o,28 :O,29 -:A,2A,2B,2C +:A,2A,2B,2C,16 :R,36 ;:0,48,00,00,00 :0,28,00,00,01 @@ -26,5 +26,6 @@ F7,4,A9,51,2C,82 :2,E8,00,00,03 :3,88,00,00,02 :P,18 -:TI1,38,4,5 +:i,20,21 +:TI1,38,*,* # diff --git a/tasmota/displaydesc/SD1306_desc.txt b/tasmota/displaydesc/SD1306_desc.txt new file mode 100644 index 000000000..15bafcac1 --- /dev/null +++ b/tasmota/displaydesc/SD1306_desc.txt @@ -0,0 +1,24 @@ +:H,SD1306,128,64,1,I2C,3c,*,*,* +:S,0,2,1,0,30,20 +:I +AE +D5,80 +A8,3f +D3,00 +40 +8D,14 +20,00 +A1 +C8 +DA,12 +81,9F +D9F1 +DB,40 +A4 +A6 +AF +:o,AE +:O,AF +:A,00,10,40,00,00 +:i,A6,A7 +# diff --git a/tasmota/displaydesc/SH1106_desc.txt b/tasmota/displaydesc/SH1106_desc.txt index 2d3f76fdf..81948549e 100644 --- a/tasmota/displaydesc/SH1106_desc.txt +++ b/tasmota/displaydesc/SH1106_desc.txt @@ -19,5 +19,6 @@ A6 AF :o,AE :O,AF -:A,00,10,40 +:A,00,10,40,00,02 +:i,A6,A7 # diff --git a/tasmota/displaydesc/SSD1351_desc.txt b/tasmota/displaydesc/SSD1351_desc.txt index 955ffda19..806c8c7a8 100644 --- a/tasmota/displaydesc/SSD1351_desc.txt +++ b/tasmota/displaydesc/SSD1351_desc.txt @@ -1,4 +1,4 @@ -:H,SSD1351,128,128,16,SPI,1,*,*,*,-1,-1,-1,-1,10 +:H,SSD1351,128,128,16,SPI,1,*,*,*,*,*,*,*,10 :S,1,1,1,0,40,10 :I FD,1,12 diff --git a/tasmota/displaydesc/ST7789_desc.txt b/tasmota/displaydesc/ST7789_desc.txt index fcdbd389c..6b21397ac 100644 --- a/tasmota/displaydesc/ST7789_desc.txt +++ b/tasmota/displaydesc/ST7789_desc.txt @@ -1,5 +1,5 @@ -:H,ST7789,240,240,16,SPI,1,*,*,*,*,*,-1,-1,40 +:H,ST7789,240,240,16,SPI,1,*,*,*,*,*,*,*,40 :S,2,1,3,0,80,30 :I 01,A0 @@ -17,5 +17,6 @@ :1,A0,50,00,01 :2,00,00,00,02 :3,60,00,00,03 +i:20,21 :TI2,38,32,23 # diff --git a/tasmota/displaydesc/WS_epaper29_desc.txt b/tasmota/displaydesc/WS_epaper29_desc.txt new file mode 100644 index 000000000..6a8b455fb --- /dev/null +++ b/tasmota/displaydesc/WS_epaper29_desc.txt @@ -0,0 +1,17 @@ +H,E-PAPER-29,128,296,1,SPI,1,*,*,*,*,*,*,*,10 +:S,1,1,1,0,10,10 +:I +01,3,27,01,00 +0C,3,D7,D6,9D +2C,1,A8 +3A,1,1A +3B,1,08 +11,1,03 +:L +02,02,01,11,12,12,22,22,66,69,69,59,58,99,99 +88,00,00,00,00,F8,B4,13,51,35,51,51,19,01,00 +:l +10,18,18,08,18,18,08,00,00,00,00,00,00,00,00 +00,00,00,00,00,13,14,44,12,00,00,00,00,00,00 +:T,350,35,10 +# diff --git a/tasmota/displaydesc/readme.md b/tasmota/displaydesc/readme.md new file mode 100644 index 000000000..a9e29555d --- /dev/null +++ b/tasmota/displaydesc/readme.md @@ -0,0 +1,19 @@ +Display Descriptor files for use with universal display driver. +2 (3) options to select a display driver + +1. file system driven if UFILESYSTEM is in place (preferred option for normal use) + to select a display rename the file to "dispdesc.txt" and put into flash file system. +2. scripter driven as a special section >d in scripter. + copy the file to a script section >d and place a ->displayreinit cmd into the >B section + (preferred for developing or modifying display driver) +3. rule buffer 3 driven + copy descriptor to rule buffer number 3 but do not enable rule 3 + (descriptor may not contain ANY spaces in this mode) +(4.) compile the descriptor into driver. + convert the file to a const char array and place into source xdsp_universal.ino + and replace the example array there + #define DSP_ROM_DESC + +for further info about display descriptors read the tasmota docs display part. + +the current files define the standard resolutions. if you change the resolution settings +sometimes you also have to change some register values in the init or address map section diff --git a/tasmota/xdsp_17_universal.ino b/tasmota/xdsp_17_universal.ino index 419a94d12..b91cc0550 100644 --- a/tasmota/xdsp_17_universal.ino +++ b/tasmota/xdsp_17_universal.ino @@ -71,7 +71,8 @@ const char DSP_SAMPLE_DESC[] PROGMEM = ":o,AE\n" // switch display on ":O,AF\n" -":A,00,10,40\n" +":A,00,10,40,00,02\n" +":i,A6,A7\n" "#\n"; #endif // DSP_ROM_DESC @@ -117,6 +118,24 @@ char *fbuff; } #endif // USE_SCRIPT +#ifdef USE_RULES + if (!bitRead(Settings.rule_enabled, 2) && !ddesc) { + // only if rule3 is not enabled for rules + char *cp = Settings.rules[2]; + while (*cp == ' ') cp++; + memcpy(fbuff, cp, DISPDESC_SIZE - 1); + if (fbuff[0] == ':' && fbuff[1] == 'H') { + // assume display descriptor, replace space with line feed + for (uint32_t cnt = 0; cnt < DISPDESC_SIZE; cnt++) { + if (fbuff[cnt] == ' ') fbuff[cnt] = '\n'; + } + ddesc = fbuff; + AddLog(LOG_LEVEL_INFO, PSTR("DSP: Rule 3 descriptor used")); + } + + } +#endif // USE_RULES + #ifdef DSP_ROM_DESC if (!ddesc) { @@ -176,17 +195,16 @@ char *fbuff; } } - // init renderer - if (udisp) delete udisp; - udisp = new uDisplay(ddesc); - /* File fp; fp = ffsp->open("/dump.txt", "w"); fp.write((uint8_t*)ddesc, DISPDESC_SIZE); fp.close(); - */ +*/ + // init renderer + if (udisp) delete udisp; + udisp = new uDisplay(ddesc); // checck for touch option TI1 or TI2 #ifdef USE_FT5206 From e4355b103394644d00f95c9db86678cb634ef1fd Mon Sep 17 00:00:00 2001 From: Barbudor Date: Fri, 16 Apr 2021 23:11:06 +0200 Subject: [PATCH 07/68] fix typo in berry no_light --- tasmota/xdrv_52_3_berry_light.ino | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tasmota/xdrv_52_3_berry_light.ino b/tasmota/xdrv_52_3_berry_light.ino index 2f3832234..aadeea032 100644 --- a/tasmota/xdrv_52_3_berry_light.ino +++ b/tasmota/xdrv_52_3_berry_light.ino @@ -24,8 +24,8 @@ #include /*********************************************************************************************\ - * - * + * + * \*********************************************************************************************/ extern "C" { @@ -43,7 +43,7 @@ extern "C" { if (Light.device > 0) { // we have a light - + uint8_t channels[LST_MAX]; char s_rgb[8] = {0}; // RGB raw levels light_controller.calcLevels(channels); @@ -207,7 +207,7 @@ extern "C" { // channels if (map_find(vm, "channels")) { if (be_isinstance(vm, -1)) { - be_getbuiltin(vm, "list"); // add "list" class + be_getbuiltin(vm, "list"); // add "list" class if (be_isderived(vm, -2)) { be_pop(vm, 1); // remove "list" class from top int32_t list_size = get_list_size(vm); @@ -303,9 +303,9 @@ extern "C" { } int32_t l_getlight(struct bvm *vm) __attribute__ ((weak, alias ("b_light_missing"))); int32_t l_setlight(struct bvm *vm) __attribute__ ((weak, alias ("b_light_missing"))); - int32_t gamma8(struct bvm *vm) __attribute__ ((weak, alias ("b_light_missing"))); - int32_t gamma10(struct bvm *vm) __attribute__ ((weak, alias ("b_light_missing"))); - int32_t reverse_gamma10(struct bvm *vm) __attribute__ ((weak, alias ("b_light_missing"))); + int32_t l_gamma8(struct bvm *vm) __attribute__ ((weak, alias ("b_light_missing"))); + int32_t l_gamma10(struct bvm *vm) __attribute__ ((weak, alias ("b_light_missing"))); + int32_t l_rev_gamma10(struct bvm *vm) __attribute__ ((weak, alias ("b_light_missing"))); #endif // #ifdef USE_LIGHT } From 0a0ec8072544b0ad78642ac2dfa735119bcfc1d2 Mon Sep 17 00:00:00 2001 From: gemu2015 Date: Sat, 17 Apr 2021 07:54:10 +0200 Subject: [PATCH 08/68] fix ili9342 inversion --- tasmota/displaydesc/ILI9342_desc.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/displaydesc/ILI9342_desc.txt b/tasmota/displaydesc/ILI9342_desc.txt index e072d572a..3e3fc3b09 100644 --- a/tasmota/displaydesc/ILI9342_desc.txt +++ b/tasmota/displaydesc/ILI9342_desc.txt @@ -32,6 +32,6 @@ E1,0F,00,0E,14,03,11,07,31,C1,48,08,0F,0C,31,36,0F :1,A8,00,00,01 :2,C8,00,00,02 :3,68,00,00,03 -:i,20,21 +:i,21,20 :TI2,38,22,21 # From eb9fc03d36fa10dbf61fddde2fc77716f6b4eea8 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 11:42:50 +0200 Subject: [PATCH 09/68] Core update for ESP32 S2/C3 --- platformio_override_sample.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index 4d10f5c60..b9e832bb5 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -176,7 +176,7 @@ build_flags = ${common32.build_flags} extends = env:tasmota32_base board = esp32s2 board_build.flash_mode = qio -platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/arduino-esp32/releases/download/esp32-2.0.0-pre/esp32-2.0.0-pre.zip +platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz platformio/tool-mklittlefs @ ~1.203.200522 platformio/tool-esptoolpy @ ~1.30000.0 build_unflags = ${esp32_defaults.build_unflags} @@ -191,7 +191,7 @@ lib_ignore = extends = env:tasmota32_base board = esp32c3 platform = https://github.com/Jason2866/platform-espressif32.git#feature/arduino-c3 -platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-a6f33a9d3.tar.gz +platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz ; needed toolchain for Windows toolchain-riscv32 @ https://github.com/Jason2866/platform-espressif32/releases/download/8.4.0/riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-win32.zip ; needed toolchain for Linux From b2b13added15cb44867a9c33a6e4779110cee546 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 15:35:40 +0200 Subject: [PATCH 10/68] Add missing board linker scripts for S2 / C3 --- platformio_override_sample.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index b9e832bb5..f29a0bd4c 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -175,6 +175,7 @@ build_flags = ${common32.build_flags} [env:tasmota32s2] extends = env:tasmota32_base board = esp32s2 +board_build.ldscript = esp32s2_out.ld board_build.flash_mode = qio platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz platformio/tool-mklittlefs @ ~1.203.200522 @@ -190,6 +191,7 @@ lib_ignore = [env:tasmota32c3] extends = env:tasmota32_base board = esp32c3 +board_build.ldscript = esp32c3_out.ld platform = https://github.com/Jason2866/platform-espressif32.git#feature/arduino-c3 platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz ; needed toolchain for Windows From b2b2603d39ce1fe9550d0297dbbee4950071f153 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 17 Apr 2021 15:57:35 +0200 Subject: [PATCH 11/68] Add hardware Id to GUI Information page Add hardware Id to GUI Information page (#11757) --- tasmota/support_esp.ino | 188 ++++++++++++++++++++++++++++------ tasmota/xdrv_01_webserver.ino | 2 +- 2 files changed, 158 insertions(+), 32 deletions(-) diff --git a/tasmota/support_esp.ino b/tasmota/support_esp.ino index a1a469b96..3145503db 100644 --- a/tasmota/support_esp.ino +++ b/tasmota/support_esp.ino @@ -78,6 +78,27 @@ void *special_realloc(void *ptr, size_t size) { return realloc(ptr, size); } +String GetDeviceHardware(void) { + char buff[10]; + // esptool.py get_efuses + uint32_t efuse1 = *(uint32_t*)(0x3FF00050); + uint32_t efuse2 = *(uint32_t*)(0x3FF00054); +// uint32_t efuse3 = *(uint32_t*)(0x3FF00058); +// uint32_t efuse4 = *(uint32_t*)(0x3FF0005C); + + bool is_8285 = ( (efuse1 & (1 << 4)) || (efuse2 & (1 << 16)) ); + if (is_8285 && (ESP.getFlashChipRealSize() > 1048576)) { + is_8285 = false; // ESP8285 can only have 1M flash + } + if (is_8285) { + strcpy_P(buff, PSTR("ESP8285")); + } else { + strcpy_P(buff, PSTR("ESP8266EX")); + } + + return String(buff); +} + #endif /*********************************************************************************************\ @@ -476,43 +497,148 @@ float CpuTemperature(void) { return ConvertTemp(temperatureRead()); } +String GetDeviceHardware(void) { +/* +Source: esp-idf esp_system.h and esptool + +typedef enum { + CHIP_ESP32 = 1, //!< ESP32 + CHIP_ESP32S2 = 2, //!< ESP32-S2 + CHIP_ESP32S3 = 4, //!< ESP32-S3 + CHIP_ESP32C3 = 5, //!< ESP32-C3 +} esp_chip_model_t; + +// Chip feature flags, used in esp_chip_info_t +#define CHIP_FEATURE_EMB_FLASH BIT(0) //!< Chip has embedded flash memory +#define CHIP_FEATURE_WIFI_BGN BIT(1) //!< Chip has 2.4GHz WiFi +#define CHIP_FEATURE_BLE BIT(4) //!< Chip has Bluetooth LE +#define CHIP_FEATURE_BT BIT(5) //!< Chip has Bluetooth Classic + +// The structure represents information about the chip +typedef struct { + esp_chip_model_t model; //!< chip model, one of esp_chip_model_t + uint32_t features; //!< bit mask of CHIP_FEATURE_x feature flags + uint8_t cores; //!< number of CPU cores + uint8_t revision; //!< chip revision number +} esp_chip_info_t; + +*/ + esp_chip_info_t chip_info; + esp_chip_info(&chip_info); + + uint32_t chip_model = chip_info.model; + uint32_t chip_revision = chip_info.revision; +// uint32_t chip_revision = ESP.getChipRevision(); + bool rev3 = (3 == chip_revision); +// bool single_core = (1 == ESP.getChipCores()); + bool single_core = (1 == chip_info.cores); + + if (chip_model < 2) { // ESP32 +#ifdef CONFIG_IDF_TARGET_ESP32 +/* esptool: + def get_pkg_version(self): + word3 = self.read_efuse(3) + pkg_version = (word3 >> 9) & 0x07 + pkg_version += ((word3 >> 2) & 0x1) << 3 + return pkg_version +*/ + uint32_t chip_ver = REG_GET_FIELD(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_VER_PKG); + uint32_t pkg_version = chip_ver & 0x7; + + switch (pkg_version) { + case 0: + if (single_core) { return F("ESP32-S0WDQ6"); } + else { return F("ESP32-D0WDQ6"); } + case 1: + if (single_core) { return F("ESP32-S0WD"); } + else { return F("ESP32-D0WD"); } + case 2: return F("ESP32-D2WD"); + case 4: return F("ESP32-U4WDH"); + case 5: + if (rev3) { return F("ESP32-PICO-V3"); } + else { return F("ESP32-PICO-D4"); } + case 6: return F("ESP32-PICO-V3-02"); + } +#endif // CONFIG_IDF_TARGET_ESP32 + return F("ESP32"); + } + else if (2 == chip_model) { // ESP32-S2 +#ifdef CONFIG_IDF_TARGET_ESP32S2 +/* esptool: + def get_pkg_version(self): + num_word = 3 + block1_addr = self.EFUSE_BASE + 0x044 + word3 = self.read_reg(block1_addr + (4 * num_word)) + pkg_version = (word3 >> 21) & 0x0F + return pkg_version +*/ +// uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); +// uint32_t pkg_version = chip_ver & 0x7; + uint32_t pkg_version = esp_efuse_get_pkg_ver(); + + switch (pkg_version) { + case 0: return F("ESP32-S2"); + case 1: return F("ESP32-S2FH16"); + case 2: return F("ESP32-S2FH32"); + } +#endif // CONFIG_IDF_TARGET_ESP32S2 + return F("ESP32-S2"); + } + else if (4 == chip_model) { // ESP32-S3 + return F("ESP32-S3"); + } + else if (5 == chip_model) { // ESP32-C3 +#ifdef CONFIG_IDF_TARGET_ESP32C3 +/* esptool: + def get_pkg_version(self): + num_word = 3 + block1_addr = self.EFUSE_BASE + 0x044 + word3 = self.read_reg(block1_addr + (4 * num_word)) + pkg_version = (word3 >> 21) & 0x0F + return pkg_version +*/ +// uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); +// uint32_t pkg_version = chip_ver & 0x7; + uint32_t pkg_version = esp_efuse_get_pkg_ver(); + + switch (pkg_version) { + case 0: return F("ESP32-C3"); + } +#endif // CONFIG_IDF_TARGET_ESP32C3 + return F("ESP32-C3"); + } + else if (6 == chip_model) { // ESP32-S3(beta3) + return F("ESP32-S3(beta3)"); + } + else if (7 == chip_model) { // ESP32-C6 +#ifdef CONFIG_IDF_TARGET_ESP32C6 +/* esptool: + def get_pkg_version(self): + num_word = 3 + block1_addr = self.EFUSE_BASE + 0x044 + word3 = self.read_reg(block1_addr + (4 * num_word)) + pkg_version = (word3 >> 21) & 0x0F + return pkg_version +*/ +// uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); +// uint32_t pkg_version = chip_ver & 0x7; + uint32_t pkg_version = esp_efuse_get_pkg_ver(); + + switch (pkg_version) { + case 0: return F("ESP32-C6"); + } +#endif // CONFIG_IDF_TARGET_ESP32C6 + return F("ESP32-C6"); + } + return F("ESP32"); +} + #endif // ESP32 /*********************************************************************************************\ * ESP Support \*********************************************************************************************/ -String GetDeviceHardware(void) { - char buff[10]; -#ifdef ESP8266 - // esptool.py get_efuses - uint32_t efuse1 = *(uint32_t*)(0x3FF00050); - uint32_t efuse2 = *(uint32_t*)(0x3FF00054); -// uint32_t efuse3 = *(uint32_t*)(0x3FF00058); -// uint32_t efuse4 = *(uint32_t*)(0x3FF0005C); - - bool is_8285 = ( (efuse1 & (1 << 4)) || (efuse2 & (1 << 16)) ); - if (is_8285 && (ESP.getFlashChipRealSize() > 1048576)) { - is_8285 = false; // ESP8285 can only have 1M flash - } - if (is_8285) { - strcpy_P(buff, PSTR("ESP8285")); - } else { - strcpy_P(buff, PSTR("ESP8266EX")); - } -#endif // ESP8266 - -#ifdef ESP32 -#if CONFIG_IDF_TARGET_ESP32S2 // ESP32-S2 - strcpy_P(buff, PSTR("ESP32-S2")); -#else - strcpy_P(buff, PSTR("ESP32")); -#endif // CONFIG_IDF_TARGET_ESP32S2 -#endif // ESP32 - - return String(buff); -} - uint32_t ESP_getFreeHeap1024(void) { return ESP_getFreeHeap() / 1024; } diff --git a/tasmota/xdrv_01_webserver.ino b/tasmota/xdrv_01_webserver.ino index f18cc0b4b..1e1dece40 100644 --- a/tasmota/xdrv_01_webserver.ino +++ b/tasmota/xdrv_01_webserver.ino @@ -2359,7 +2359,7 @@ void HandleInformation(void) #endif // USE_DISCOVERY WSContentSend_P(PSTR("}1}2 ")); // Empty line - WSContentSend_P(PSTR("}1" D_ESP_CHIP_ID "}2%d"), ESP_getChipId()); + WSContentSend_P(PSTR("}1" D_ESP_CHIP_ID "}2%d (%s)"), ESP_getChipId(), GetDeviceHardware().c_str()); #ifdef ESP8266 WSContentSend_P(PSTR("}1" D_FLASH_CHIP_ID "}20x%06X"), ESP.getFlashChipId()); #endif From 65f985620990dbd255d5defcf89062f250464b9e Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 17 Apr 2021 17:00:58 +0200 Subject: [PATCH 12/68] Prep S2 compilation --- platformio_override_sample.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index f29a0bd4c..cce6797e5 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -186,6 +186,7 @@ lib_ignore = NimBLE-Arduino Micro-RTSP ESP32 Ethernet + ESP32-HomeKit ; *** EXPERIMENTAL Tasmota version for ESP32-C3 [env:tasmota32c3] From bbd490f27e5504f513b564d32f218b5830e4a8d7 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 17 Apr 2021 17:32:20 +0200 Subject: [PATCH 13/68] Fix S2/C3/C6 compilations with regards to GetDeviceHardware --- tasmota/support_esp.ino | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/tasmota/support_esp.ino b/tasmota/support_esp.ino index 3145503db..8ddba729c 100644 --- a/tasmota/support_esp.ino +++ b/tasmota/support_esp.ino @@ -497,6 +497,16 @@ float CpuTemperature(void) { return ConvertTemp(temperatureRead()); } +/* +#if CONFIG_IDF_TARGET_ESP32S2 +#include "esp32s2/esp_efuse.h" +#elif CONFIG_IDF_TARGET_ESP32S3 +#include "esp32s3/esp_efuse.h" +#elif CONFIG_IDF_TARGET_ESP32C3 +#include "esp32c3/esp_efuse.h" +#endif +*/ + String GetDeviceHardware(void) { /* Source: esp-idf esp_system.h and esptool @@ -572,9 +582,9 @@ typedef struct { pkg_version = (word3 >> 21) & 0x0F return pkg_version */ -// uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); -// uint32_t pkg_version = chip_ver & 0x7; - uint32_t pkg_version = esp_efuse_get_pkg_ver(); + uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); + uint32_t pkg_version = chip_ver & 0x7; +// uint32_t pkg_version = esp_efuse_get_pkg_ver(); switch (pkg_version) { case 0: return F("ESP32-S2"); @@ -597,9 +607,9 @@ typedef struct { pkg_version = (word3 >> 21) & 0x0F return pkg_version */ -// uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); -// uint32_t pkg_version = chip_ver & 0x7; - uint32_t pkg_version = esp_efuse_get_pkg_ver(); + uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); + uint32_t pkg_version = chip_ver & 0x7; +// uint32_t pkg_version = esp_efuse_get_pkg_ver(); switch (pkg_version) { case 0: return F("ESP32-C3"); @@ -620,9 +630,9 @@ typedef struct { pkg_version = (word3 >> 21) & 0x0F return pkg_version */ -// uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); -// uint32_t pkg_version = chip_ver & 0x7; - uint32_t pkg_version = esp_efuse_get_pkg_ver(); + uint32_t chip_ver = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_PKG_VERSION); + uint32_t pkg_version = chip_ver & 0x7; +// uint32_t pkg_version = esp_efuse_get_pkg_ver(); switch (pkg_version) { case 0: return F("ESP32-C6"); From d9887a7b53dad488bfcb38cfce179138e2b41f57 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sat, 17 Apr 2021 19:30:23 +0200 Subject: [PATCH 14/68] Remove warning when using config_override --- tasmota/user_config_override_sample.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/tasmota/user_config_override_sample.h b/tasmota/user_config_override_sample.h index ae434bb9c..3bfa1269f 100644 --- a/tasmota/user_config_override_sample.h +++ b/tasmota/user_config_override_sample.h @@ -20,9 +20,6 @@ #ifndef _USER_CONFIG_OVERRIDE_H_ #define _USER_CONFIG_OVERRIDE_H_ -// force the compiler to show a warning to confirm that this file is included -#warning **** user_config_override.h: Using Settings from this File **** - /*****************************************************************************************************\ * USAGE: * To modify the stock configuration without changing the my_user_config.h file: From 2273482dc7c31e226c4375724a39bd334bf38ca0 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:45:56 +0200 Subject: [PATCH 15/68] remove ldscript --- platformio_override_sample.ini | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index cce6797e5..b7dd2044b 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -175,24 +175,22 @@ build_flags = ${common32.build_flags} [env:tasmota32s2] extends = env:tasmota32_base board = esp32s2 -board_build.ldscript = esp32s2_out.ld board_build.flash_mode = qio platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz platformio/tool-mklittlefs @ ~1.203.200522 platformio/tool-esptoolpy @ ~1.30000.0 build_unflags = ${esp32_defaults.build_unflags} -build_flags = ${common32.build_flags} +build_flags = ${common32.build_flags} -DFIRMWARE_LITE +lib_extra_dirs = lib/libesp32 lib_ignore = NimBLE-Arduino Micro-RTSP - ESP32 Ethernet - ESP32-HomeKit + ; *** EXPERIMENTAL Tasmota version for ESP32-C3 [env:tasmota32c3] extends = env:tasmota32_base board = esp32c3 -board_build.ldscript = esp32c3_out.ld platform = https://github.com/Jason2866/platform-espressif32.git#feature/arduino-c3 platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz ; needed toolchain for Windows @@ -203,8 +201,12 @@ platform_packages = framework-arduinoespressif32 @ https://github.com/ ;toolchain-riscv32 @ https://github.com/Jason2866/platform-espressif32/releases/download/8.4.0/riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-macos.tar.gz platformio/tool-mklittlefs @ ~1.203.200522 build_unflags = ${esp32_defaults.build_unflags} -mtarget-align -build_flags = ${esp32_defaults.build_flags} +build_flags = ${esp32_defaults.build_flags} -DFIRMWARE_LITE ;-DESP32_STAGE=true +lib_extra_dirs = lib/libesp32 +lib_ignore = + NimBLE-Arduino + Micro-RTSP ; *** EXPERIMENTAL Tasmota version for Arduino ESP32 IDF4.4. Linking not working. [env:tasmota32idf4] From 5f7ed8ce4a0779038656f24f1f34a25f241dc865 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:47:42 +0200 Subject: [PATCH 16/68] Refactor Platformio --- platformio.ini | 4 +--- platformio_tasmota32.ini | 2 +- platformio_tasmota_env.ini | 3 +-- platformio_tasmota_env32.ini | 1 - 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/platformio.ini b/platformio.ini index 9468f5102..97e8fe901 100644 --- a/platformio.ini +++ b/platformio.ini @@ -26,12 +26,9 @@ extra_configs = platformio_tasmota32.ini [common] framework = arduino -board = esp01_1m board_build.filesystem = littlefs custom_unpack_dir = unpacked_littlefs board_build.flash_mode = dout -board_build.ldscript = eagle.flash.1m.ld - platform = ${core.platform} platform_packages = ${core.platform_packages} build_unflags = ${core.build_unflags} @@ -89,6 +86,7 @@ build_flags = -DCORE_DEBUG_LEVEL=0 [esp82xx_defaults] +board = esp8266_1M build_flags = ${esp_defaults.build_flags} -DNDEBUG -DFP_IN_IROM diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 3a8c42192..0391e8c85 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -2,6 +2,7 @@ ; *** expect the unexpected. Some features not working!!! *** [common32] +framework = ${common.framework} platform = ${core32.platform} platform_packages = ${core32.platform_packages} build_unflags = ${core32.build_unflags} @@ -9,7 +10,6 @@ build_flags = ${core32.build_flags} board = esp32dev board_build.filesystem = ${common.board_build.filesystem} custom_unpack_dir = ${common.custom_unpack_dir} -board_build.ldscript = esp32_out.ld board_build.partitions = esp32_partition_app1856k_spiffs320k.csv board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_flash = ${common.board_build.f_flash} diff --git a/platformio_tasmota_env.ini b/platformio_tasmota_env.ini index cd468af55..c0b3e7294 100644 --- a/platformio_tasmota_env.ini +++ b/platformio_tasmota_env.ini @@ -2,9 +2,8 @@ platform = ${common.platform} platform_packages = ${common.platform_packages} framework = ${common.framework} -board = ${common.board} +board = ${esp82xx_defaults.board} board_build.filesystem = ${common.board_build.filesystem} -board_build.ldscript = ${common.board_build.ldscript} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_flash = ${common.board_build.f_flash} board_build.f_cpu = ${common.board_build.f_cpu} diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini index 54722290c..3a44b2675 100644 --- a/platformio_tasmota_env32.ini +++ b/platformio_tasmota_env32.ini @@ -3,7 +3,6 @@ framework = ${common.framework} platform = ${common32.platform} platform_packages = ${common32.platform_packages} board = ${common32.board} -board_build.ldscript = ${common32.board_build.ldscript} board_build.partitions = ${common32.board_build.partitions} board_build.flash_mode = ${common32.board_build.flash_mode} board_build.f_flash = ${common32.board_build.f_flash} From 819b40be3cb330b9cb2d1fe0483fe1ab484f1e97 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:48:32 +0200 Subject: [PATCH 17/68] Tasmota ESP8266 board definition --- boards/esp8266_1M.json | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 boards/esp8266_1M.json diff --git a/boards/esp8266_1M.json b/boards/esp8266_1M.json new file mode 100644 index 000000000..7a0eb335d --- /dev/null +++ b/boards/esp8266_1M.json @@ -0,0 +1,32 @@ +{ + "build": { + "arduino": { + "ldscript": "eagle.flash.1m.ld" + }, + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dout", + "mcu": "esp8266", + "variant": "generic" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "arduino", + "esp8266-rtos-sdk", + "esp8266-nonos-sdk" + ], + "name": "Espressif Generic ESP8266 ESP-01 1M", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 1048576, + "require_upload_port": true, + "resetmethod": "ck", + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" +} From 663f29d4e3cb28b30477a46f656cacb2eb977993 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sat, 17 Apr 2021 19:49:26 +0200 Subject: [PATCH 18/68] Enable second HW SPI for ESP32 --- tasmota/tasmota.h | 2 ++ tasmota/tasmota_template.h | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tasmota/tasmota.h b/tasmota/tasmota.h index bd8c392ee..e0ad51e8e 100644 --- a/tasmota/tasmota.h +++ b/tasmota/tasmota.h @@ -87,8 +87,10 @@ const uint16_t VL53L0X_MAX_SENSORS = 8; // Max number of VL53L0X sensors #ifdef ESP32 const uint8_t MAX_I2C = 2; // Max number of I2C controllers (ESP32 = 2) +const uint8_t MAX_SPI = 2; // Max number of Hardware SPI controllers (ESP32 = 2) #else const uint8_t MAX_I2C = 0; // Max number of I2C controllers (ESP8266 = 0, no choice) +const uint8_t MAX_SPI = 0; // Max number of Hardware SPI controllers (ESP8266 = 0, no choice) #endif // Changes to the following MAX_ defines need to be in line with enum SettingsTextIndex diff --git a/tasmota/tasmota_template.h b/tasmota/tasmota_template.h index 74940db07..913889e49 100644 --- a/tasmota/tasmota_template.h +++ b/tasmota/tasmota_template.h @@ -407,11 +407,11 @@ const uint16_t kGpioNiceList[] PROGMEM = { #endif #ifdef USE_SPI - AGPIO(GPIO_SPI_MISO), // SPI MISO - AGPIO(GPIO_SPI_MOSI), // SPI MOSI - AGPIO(GPIO_SPI_CLK), // SPI Clk - AGPIO(GPIO_SPI_CS), // SPI Chip Select - AGPIO(GPIO_SPI_DC), // SPI Data Direction + AGPIO(GPIO_SPI_MISO) + MAX_SPI, // SPI MISO + AGPIO(GPIO_SPI_MOSI) + MAX_SPI, // SPI MOSI + AGPIO(GPIO_SPI_CLK) + MAX_SPI, // SPI Clk + AGPIO(GPIO_SPI_CS) + MAX_SPI, // SPI Chip Select + AGPIO(GPIO_SPI_DC) + MAX_SPI, // SPI Data Direction #ifdef USE_NRF24 AGPIO(GPIO_NRF24_CS), AGPIO(GPIO_NRF24_DC), From bbb0e7464b9a0ea328c8efaa3da4753871e2744e Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:51:14 +0200 Subject: [PATCH 19/68] fix if for riscv --- lib/default/Ext-printf/src/ext_printf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/default/Ext-printf/src/ext_printf.cpp b/lib/default/Ext-printf/src/ext_printf.cpp index f027d5ba4..5256ea637 100644 --- a/lib/default/Ext-printf/src/ext_printf.cpp +++ b/lib/default/Ext-printf/src/ext_printf.cpp @@ -126,7 +126,7 @@ void * __va_cur_ptr4(va_list &va) { // >>> Reading a_ptr=0x3FFFFD70 *a_ptr=6 // >>> Reading a_ptr=0x3FFFFD74 *a_ptr=7 // >>> Reading a_ptr=0x3FFFFD78 *a_ptr=8 -#elif defined(__RISC_V__) +#elif CONFIG_IDF_TARGET_ESP32C3 // ESP32-C3 RISC_V // #define __va_argsiz_tas(t) (((sizeof(t) + sizeof(int) - 1) / sizeof(int)) * sizeof(int)) #define va_cur_ptr4(va,T) ( (T*) __va_cur_ptr4(va) ) void * __va_cur_ptr4(va_list &va) { From 8e7e3512c105092098d6e3b4ce14515531ecb136 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:52:14 +0200 Subject: [PATCH 20/68] add C3 variant --- lib/default/TasmotaSerial-3.3.0/src/TasmotaSerial.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/default/TasmotaSerial-3.3.0/src/TasmotaSerial.cpp b/lib/default/TasmotaSerial-3.3.0/src/TasmotaSerial.cpp index 0ea060517..db3e3ccfa 100644 --- a/lib/default/TasmotaSerial-3.3.0/src/TasmotaSerial.cpp +++ b/lib/default/TasmotaSerial-3.3.0/src/TasmotaSerial.cpp @@ -42,6 +42,8 @@ TasmotaSerial *tms_obj_list[16]; static int tasmota_serial_index = 2; // Allow UART2 and UART1 only #elif CONFIG_IDF_TARGET_ESP32S2 // ESP32-S2 static int tasmota_serial_index = 1; // Allow UART1 only +#elif CONFIG_IDF_TARGET_ESP32C3 // ESP32-C3 +static int tasmota_serial_index = 1; // Allow UART1 only #endif #endif // ESP32 From 186c8bcdb58a541be15c578bce33541da1b8c4fe Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:54:56 +0200 Subject: [PATCH 21/68] add C3 --- lib/libesp32/ESP32-to-ESP8266-compat/src/esp8266toEsp32.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libesp32/ESP32-to-ESP8266-compat/src/esp8266toEsp32.cpp b/lib/libesp32/ESP32-to-ESP8266-compat/src/esp8266toEsp32.cpp index 65ceed801..d11d09931 100644 --- a/lib/libesp32/ESP32-to-ESP8266-compat/src/esp8266toEsp32.cpp +++ b/lib/libesp32/ESP32-to-ESP8266-compat/src/esp8266toEsp32.cpp @@ -24,6 +24,8 @@ #include "esp32/rom/rtc.h" #elif CONFIG_IDF_TARGET_ESP32S2 // ESP32-S2 #include "esp32s2/rom/rtc.h" + #elif CONFIG_IDF_TARGET_ESP32C3 // ESP32-C3 + #include "esp32c3/rom/rtc.h" #else #error Target CONFIG_IDF_TARGET is not supported #endif From 241af63aa1ae4e0f637dc22db6b745d0dfa9163c Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:57:13 +0200 Subject: [PATCH 22/68] add c3 --- tasmota/support_esp.ino | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tasmota/support_esp.ino b/tasmota/support_esp.ino index 8ddba729c..e5a9b40d6 100644 --- a/tasmota/support_esp.ino +++ b/tasmota/support_esp.ino @@ -117,6 +117,8 @@ String GetDeviceHardware(void) { #include "esp32/rom/rtc.h" #elif CONFIG_IDF_TARGET_ESP32S2 // ESP32-S2 #include "esp32s2/rom/rtc.h" + #elif CONFIG_IDF_TARGET_ESP32C3 // ESP32-C3 + #include "esp32c3/rom/rtc.h" #else #error Target CONFIG_IDF_TARGET is not supported #endif @@ -242,6 +244,8 @@ extern "C" { #include "esp32/rom/spi_flash.h" #elif CONFIG_IDF_TARGET_ESP32S2 // ESP32-S2 #include "esp32s2/rom/spi_flash.h" + #elif CONFIG_IDF_TARGET_ESP32C3 // ESP32-C3 + #include "esp32c3/rom/spi_flash.h" #else #error Target CONFIG_IDF_TARGET is not supported #endif From 7a38619ffcfeae40b6decf8103d8a6f2d0a5849e Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 17 Apr 2021 20:04:23 +0200 Subject: [PATCH 23/68] add Homekit ignore --- platformio_override_sample.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index b7dd2044b..66de45c80 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -185,6 +185,7 @@ lib_extra_dirs = lib/libesp32 lib_ignore = NimBLE-Arduino Micro-RTSP + ESP32-HomeKit ; *** EXPERIMENTAL Tasmota version for ESP32-C3 From 96a0dd48746619c32b6715ed18330dfad51a4656 Mon Sep 17 00:00:00 2001 From: gemu2015 Date: Sun, 18 Apr 2021 09:20:54 +0200 Subject: [PATCH 24/68] add loadable fonts --- lib/lib_display/BinFonts/FreeSans12pt7b.fnt | Bin 0 -> 2740 bytes lib/lib_display/BinFonts/FreeSans18pt7b.fnt | Bin 0 -> 4936 bytes lib/lib_display/BinFonts/FreeSans24pt7b.fnt | Bin 0 -> 8236 bytes lib/lib_display/BinFonts/FreeSans9pt7b.fnt | Bin 0 -> 1924 bytes .../BinFonts/FreeSansBold12pt7b.fnt | Bin 0 -> 2968 bytes .../BinFonts/FreeSansBold18pt7b.fnt | Bin 0 -> 5284 bytes .../BinFonts/FreeSansBold24pt7b.fnt | Bin 0 -> 8920 bytes .../BinFonts/FreeSansBoldOblique12pt7b.fnt | Bin 0 -> 3316 bytes .../BinFonts/FreeSansBoldOblique18pt7b.fnt | Bin 0 -> 6052 bytes .../BinFonts/FreeSansBoldOblique24pt7b.fnt | Bin 0 -> 10228 bytes .../BinFonts/FreeSansBoldOblique9pt7b.fnt | Bin 0 -> 2236 bytes .../BinFonts/FreeSansOblique12pt7b.fnt | Bin 0 -> 3136 bytes .../BinFonts/FreeSansOblique18pt7b.fnt | Bin 0 -> 5728 bytes .../BinFonts/FreeSansOblique24pt7b.fnt | Bin 0 -> 9592 bytes .../BinFonts/FreeSansOblique9pt7b.fnt | Bin 0 -> 2140 bytes lib/lib_display/BinFonts/FreeSerif12pt7b.fnt | Bin 0 -> 2620 bytes lib/lib_display/BinFonts/FreeSerif18pt7b.fnt | Bin 0 -> 4660 bytes lib/lib_display/BinFonts/FreeSerif24pt7b.fnt | Bin 0 -> 7792 bytes lib/lib_display/BinFonts/FreeSerif9pt7b.fnt | Bin 0 -> 1852 bytes .../BinFonts/FreeSerifBold12pt7b.fnt | Bin 0 -> 2764 bytes .../BinFonts/FreeSerifBold18pt7b.fnt | Bin 0 -> 5044 bytes .../BinFonts/FreeSerifBold24pt7b.fnt | Bin 0 -> 8620 bytes .../BinFonts/FreeSerifBold9pt7b.fnt | Bin 0 -> 1936 bytes .../BinFonts/FreeSerifBoldItalic12pt7b.fnt | Bin 0 -> 3016 bytes .../BinFonts/FreeSerifBoldItalic18pt7b.fnt | Bin 0 -> 5512 bytes .../BinFonts/FreeSerifBoldItalic24pt7b.fnt | Bin 0 -> 9016 bytes .../BinFonts/FreeSerifBoldItalic9pt7b.fnt | Bin 0 -> 2092 bytes .../BinFonts/FreeSerifItalic12pt7b.fnt | Bin 0 -> 2764 bytes .../BinFonts/FreeSerifItalic18pt7b.fnt | Bin 0 -> 4912 bytes .../BinFonts/FreeSerifItalic24pt7b.fnt | Bin 0 -> 8356 bytes .../BinFonts/FreeSerifItalic9pt7b.fnt | Bin 0 -> 1936 bytes .../src/renderer.cpp | 24 +++++++++- .../Display_Renderer-gemu-1.0/src/renderer.h | 3 +- lib/lib_display/UDisplay/uDisplay.cpp | 43 ++++++++++++++---- lib/lib_display/UDisplay/uDisplay.h | 1 + tasmota/displaydesc/SSD1331_desc.txt | 33 ++++++++++++++ tasmota/displaydesc/SSD1351_desc.txt | 8 ++-- tasmota/xdrv_13_display.ino | 28 ++++++++++++ 38 files changed, 125 insertions(+), 15 deletions(-) create mode 100644 lib/lib_display/BinFonts/FreeSans12pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSans18pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSans24pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSans9pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansBold12pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansBold18pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansBold24pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansBoldOblique12pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansBoldOblique18pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansBoldOblique24pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansBoldOblique9pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansOblique12pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansOblique18pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansOblique24pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSansOblique9pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerif12pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerif18pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerif24pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerif9pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifBold12pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifBold18pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifBold24pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifBold9pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifBoldItalic12pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifBoldItalic18pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifBoldItalic24pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifBoldItalic9pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifItalic12pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifItalic18pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifItalic24pt7b.fnt create mode 100644 lib/lib_display/BinFonts/FreeSerifItalic9pt7b.fnt create mode 100644 tasmota/displaydesc/SSD1331_desc.txt diff --git a/lib/lib_display/BinFonts/FreeSans12pt7b.fnt b/lib/lib_display/BinFonts/FreeSans12pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..a29f041b609f4fbdeadbc88dc92e387cd83c5a09 GIT binary patch literal 2740 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 literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSans24pt7b.fnt b/lib/lib_display/BinFonts/FreeSans24pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..9fbc19c3935f993e42dce1921cf27470d5570cac GIT binary patch literal 8236 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 Z^T&Vh#kXeA+kYRu&tHAnEKL2c{2zMeCQkqW literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSans9pt7b.fnt b/lib/lib_display/BinFonts/FreeSans9pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..9097954c225b38931300efa71de265f91d701582 GIT binary patch literal 1924 zcmZWpU2GIp6h3$E?9A?TW@pzDoWi=a@*}=YSuIN#Xek6A#KZ@DGQnw=3>X(nL8SuX ztR+h@m7fQb)dx~BlK4PuVnS3BbGJ*jXv$AQqK(8lq{N>DlOZj%gwpZcoiUPlcXQ8t z=YID)XU;jhDgX?L0If$BLlDfd$=TLKdDH2jS**2Q4vv4&b1JoL(JvdagIxnp#%B&b zpYyv~^Qk+n_11bmF~>pGB>u5446hHlQE1` zT%NO>T8&B>nbvBKr5gRcKYYG*!7y$1erqZom#2p)as6V!%eGerRB8I7!K!y1VL$~* zRO1GUm<>s5sWDftdYo!GqZoA8dP+wfi-E}ib`C>n?1U=2dy~WsTv+A#v!5Clw8v0&9f`DFGPmrdlau`U>whUpZ5}`@#vU-}Mgb)ju~JtK7}zY6E?;cQ~n+ z1`U-JiKoK=WlKp#wb>j5W>Kfi@0$i@suURfk5;tVLx=}MNmi6tQT_KpVtYFcem6_} zB>0wA?u4L>t>y2H1;B@YUo9*S8R_v^Q7feiYLAHXM{G+5yIL}DRrZdrc2>1Do0lua zZHt~$mdG-tZppO^s#&e*z`N5zDrP-t+pI&viEJrN=wM6HH^7iQB9AOl2-w3t7jEvk z;2lkcANOw#Z+fPEcFV+PZoum1k^T{8Pv6waV;dM=TY9xamvIjL!+UVnYP_;IyOh%P zyTW1LwVqEkHWS?)eGV@BzavWPhw;YbRLI30J7`k=+sNfSp4GOkg&zM-Z+oR^^6pN~ zX8f_T)qd-wI#8%(jmNI?Fnl@IWdF#3mBqBC`mmtzcsTl7`%uBC!^SDbJWH-k9dYhs zN>Q%0+SsA$aAmx^ZRGmuj0*K^{`93Eog0gNuDm&3$@oGVm&MJ`8@s=K@14)f+h(wAVN%($PCD!s0!SJ z#gIrTWExgON=u=?8=5o~?RF4E5$!7=ra6B{WOqR|;*Bodj2 z{UDGShI4*05ENkVKQ55b7=auUW_L(-`yF#dL;YAWjOCgJ-XM602HD6(ge z--P%)i8t(b$WJ1^8l8JY&|;Y9ZG!ot-;Z(WD}_*ZEn+nGF)gCrSE!Rf{C(sfrJAB6|3;+qYh?du#G8ft4IS*87*izVDPkCZktkvx@4*tp yJl+a1p(J1yOdJ;t?IzAc`=Xdga{H<%H}c*ohI6?`6w)I0WnY93i84))2k;O4`fsWL literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSansBold12pt7b.fnt b/lib/lib_display/BinFonts/FreeSansBold12pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..89311e360b9bd27a6dae31caa6eed09656199cf1 GIT binary patch literal 2968 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 literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSansBold24pt7b.fnt b/lib/lib_display/BinFonts/FreeSansBold24pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..bfddbaf6220b3ef4cde8a8054b189ff5c7a2edd8 GIT binary patch literal 8920 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 literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSansBoldOblique12pt7b.fnt b/lib/lib_display/BinFonts/FreeSansBoldOblique12pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..b8c838749784269011c1834d0eda89212cca62f3 GIT binary patch literal 3316 zcmY*bQHUeQ5v@^c)zY0by(@dY3z?fSG5InC9f!F&c6P@f4i5RrPd<{5z-}B43?ZIn z!Jg&TJ0k?Ad>pHfBp)H0-M>JRFJofP<{&LAIg#L;eqxhgXRpP81;IJBthF`Ajn%1^ zbjH~hTU|9ZRn=9mtELP9Sqb3j!%JX!VZYO|+@Re6E0nw0bmOQ~YB!Fo_WBu@LN*0Hvy>&`728-hwl?DKK`fsq=*xqIW^$)q`?r;e}u zGvA6Hyhj@KdYcOo1g>Y9l+?Kh)=g@}1>A1C3y}z1*Ro8rKq-{V-&L0PlNU(rQV1fY zloTe2GTiv+nJW+}842LE^*n)id%2u5;^%9{f`MTZ9yPOY+`Y5eA2Jy=HMPUBVsZ;e zqtP465dATXp)F+K0+B3@($Tm*XmA?a5E8-Q0M7(Y=BG+hp<2^)(u_kEXH>A*GlmT9 zwNf7-r2LS`tHizBIdMl#XR0PDmK0pVY34}P0SltKVpA6rgVyD^+nYMl2O^^8G#vBI z{>=I;TKhmp=|J>I-JgO!E&dn;6k|fK+ysfyIzn|@mbWVuN&V4i(7a>I8%a+&sS^|7 zqrFpaQ%o9XPWXjNRPzkR-PX*fHI5NGM$a|905<@mq+VFxMiD=B2I(O|9QZtf5V)Tq zWMZvD)oB*Vnjx5e79Y_5G-?VLpRl%SWg|tUX9(L6TSQnoMxZ)Y06!)w_85vxu!6~6 zGkx!JveT^Gvb@^P8}*xa%Ny&v@4a;I@*|n_@CCv-RX`=c7Wm-A4rhW%dO&T`BF#pp zt@=u;Oxghp>21Qty3SNnkVg$x%8Nv5wunx$D{TLU2DWK<>0cgsva&Mefn95 z215vNp-Wt-F?FV2>ZCrd$2!`*1OY}ii%N|7HEztJibDU6b7u5lz(*28_dlT@10LPz z8cD2!ccm3g@j|JSFNM1(^a2}fYy;hv?d~SsBP$#U3{PT$zy*yt2n|j>PmVh++fO5& zfla%OeqRLA3YkaFK!MLO)n~?lhtk?&w85qHTpAlUt`G%(VBy3YLRX|iAQ`SLg|GLkd&cM+nIUPAeAgL zrm!V#X{TP4M$+NYRDGdR3lSj=L1KzX^NW1 z7;pJC?5ACNWLlmV?2BaW2SMJ>O<(#pO9`WW$1Y<4sD6bCoum4WOFbM}!i>kcz>)<_KRH`VkY9Cw<>mfP=l zO*0HMzLjU^R^gZ%cFOqu{yQG4L&4ZS?lCUq)9e9+aG#^xAr~^{(Ji%-8#UVY||saxIJw60hNentThw19w{=!!iJ&jC+#jd zp{^+|aUTw6R~zeh2sqQhd8m4so_^e${d~;>ZFZ72$L|?LhRsMFxA@h;nr&XL-CW@Zmz#nuDy%%l6K~b_(>wH-Br|6eH*i8Jg%;bMLW zYrvK(#t5DRwpzhP`9r8ySIH1=0$W+hN%$?~3kB5s9h9Cb=7#XDrb@zxP%M^EFM;w! zGxs^1!xE*~(H;UN#oR;4AWvv+3RAeSLa~ZZ8kLm_+N&9*l}cX13kF-M7!rQGkjI)L ze{7gD`p!cBfudvrZIt+HE(kc-NdK^q|06$t|51K!*I8P5LfiZH(%j!GOLO_p zmspjd{Ex`%c>aa_GRFOAX|=kB^w~nSx{Ut5SD4FREv!@-^1mruSSuoZr;uNxv{?wDYh~sZ@+}U=;n~dzUHlxpR0?^BDKb3qGQys;>7h zW_suF7By$jKcMsTe@ri|Q8ffoWV1Ycqd1p8S6r>EqW$j|%?d-iuPo@zBIXlO^82E; za}IwiUZ|9iepoD5D&!o7#Ud-_K85K*f3<{hq5N5d%M(anEG<_m`2J2w`#XmQJ})Ev cRjIV5arkDbutxDbf6+Xi|9+{wWFij#2h31W?*IS* literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSansBoldOblique18pt7b.fnt b/lib/lib_display/BinFonts/FreeSansBoldOblique18pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..68c988efb49927d162ee143440e95e78884b7bb8 GIT binary patch literal 6052 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 Cw4smy literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSansBoldOblique9pt7b.fnt b/lib/lib_display/BinFonts/FreeSansBoldOblique9pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..198b0db64d5c3a4bfff4a9d44f8b804dd8463110 GIT binary patch literal 2236 zcmYjSU1%fM6+ZJXkLJhPg`#CgGhRwV^HSuPx?`kB`_e*b`q1{JlmsSK>g|Ksj-s+s z+hC1RuqgG8OCZz*b@Np6(o#bqI5cEO(N=nK~K>Ugwb9r{|b=cH*>XV zLxw=^{^{)>KMH0vSj9|WZ?67w*t*~j;T|16vwHAgd&TFhFxMSvmRtHt-J2G@lUdP? z{>HLGR?nM;n=Hf33lhsEiUQ-?sq=ADX^Rt`HpMUU)_qFkR)k3m0Dh2S-E-B zk~!};gX(Bov%RBfEhqwAxE%LbMK`-`klUemWJ;9f>ncY$&67YL#2Q7We2Ewp>}JcQ z9QV6ly1I9|Hj8!~BP)BMAyAEG$3((fOo%-=P3=(uJq)Ypq506y3M_?eUEm1I0J#-< zom!_Xd-gas+H>Vr;2qVa@#tr>=N+`tcIp6BE=-!)Xu zFH`MDJ>1o_nbsy8*K8Ce09OYHA#(hN$?3##d42WnLFGZ_T-fT@O2MS40yTp&5H5Ct zbACkWt36vgi}qCa4rOV6)R)X!8*vx0)zPCt0Gu1`t7aYYl%;^nQSa$d%LmPkcGZ}p zIH%m4yN}u++66PQl%N99AOv)fr7WEa%L6buFj;Vc>(2B#WlAufs_t#coP^p^ zmyU@)qo$>5s#;P@rS;PK?e(oY$9G1zI=2oc*+~}tRL1*uNgwsrlz&yv27NX5$vKg& zx^>FetdK**q<1jAd4b}>v;$020S9Z2+BdR(#FgdCoD=uOZps!IEWA7|Pde41G9D^k zJ7`*(Jjo5BXqFI^^YYU{wqoZUxjHL)wmFf^fl}^;#87WiZere>RgVk1=J7^5Kh179 zi#cIgkR(A+6ih(JcSgchJpH!T^0%dNr)KN_o2kORaeBT?gsUHIB~i0OsTbXd_2232rvml0(J6qqEB+3c6X)<{ki=!&e*pwhL^Ob6Xykn#QknQ%Eyme7ybdhOq5kKvluDCN;0>Tz24?Uk zFeFQS2EPJ|WQYh3ASE(z0lx)a@ulafRMZl7 z1^#_uXGW)`Sbv2{@f@PUEb%;f314Jbfh8ZqD#P<>luL-Q{u_+MONcKq0?%U{TTEJt h=8!7+* literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSansOblique12pt7b.fnt b/lib/lib_display/BinFonts/FreeSansOblique12pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..d22df1cf1d45ea6c679363a232f414aec23fd5f5 GIT binary patch literal 3136 zcmZuyZ)hXO6@RlM&&YS9U0c57#&}OMNj|1!98+h@3G32)X+l303ZbPiuF8diQuc7E z_2IC_Q8>{c?r00e370ncQ0Rviu24!o6grBE3_-aol!Br6VO*DkHb=ZBm#f05-o9PA zq0sI~`{uo!dGr4K-Wve`U!Db6-o5~0}b<$H$GNA{)vXi+0h^z1Pq#iI;1y?0^_g~q$@9WL(oqOxi$=j3_gp^8Y zt?lV^N$ceTV;((y7-J$^v#hNUFSKj5CQwlLOVgBrW?%(uJ<&{)30zV|M!+u1f(Pc( zT+z!I;Pxck?5H)W*QmY9ZIjvi;;@^ngD19*`W+$F#()W_X;O6udl(T=#P|?%)8Zx~ zmO*urx?Bxac(Ow!KAvow;$UyQ4w(_ILS0kzdukZ=Z=|V{xsAcNJw#=&WK$MuO+liy zx^XRV>p-VwF?hKg5Y%zV^qJpTBkqJ0>J=w=PRXb}+j4&#gh50|egOrWg=JMJnq0aRffBDmCklp25_ zZ70jbavR{6kh)ft+6cD=-A@O%Y8Y-MD8W|-0szGT>V~8)AT9#uV9?#UUH$d$mBB{m z+K>f8tSi;j8~gq4%3iqf&!ln3IDiBob2Yevn4kE5NF%C15sAVF3 z$t9K9x_rc$et|=}R_am{qh95SwwHbZFtrMG4GLqL0QNs zHO@-KaiP(eKIP+|5gTDnC5JSf_;AGq6*zX43OR6V7imL%chw)L(W)G-^cpL}Rk?9+ zy(0VlUKj~-1NKbAT}jlw{75v|%APzFE4^^Y8uZv4+m@{%2FaMFv@^imT{I=bEVaa8 z`p3|OHCQn!!Q^lU!MOfkIri)0|A{J0NNST7`bI{$wPdJ8JvCSYR2p3v(gT;&Pw26Q zsP5Ol_e z@2+u+9mmS0YxRLc2d2qb-$?yhe8t@6O4Rlkcj&LKqwjn8x}9S;6A zIX<{4S1HqWBrkTD)+4dlp-SHqa_Jzg;YEfvY~==A7TTWrxK3>iZvsE}Q6%;39t(wD z!H`7K9qt9=t$q$$^b3OB^mfhNqwx~i74|ZZT4`qlnorxx(v3TuqBjm*5DbETs=iM( zH+8cOP3G?41trzXM?;}>c6ZjI%%Eqd24y$v;LhZ#wJk*LP!1Ods#)4`H46Q~!NIL$ zzcp%JUTdtXH*USO|8y&?`5{9vhRPk1-RxFX#06%P^hBf)ZW=EU5uzI-s!C=JlC05U z9kOf&)#DW6tdV7iprC_EYPm1*$^^Ji!**XKs&!NgK|8tjq;3tXXf$p z<4FHBvyj_;g5T$me}c`I13do)cIJE*-^+}aIm%zj_%wmn*_qk181J7jpOn%9?6N|k zh~M92XGdg^K<(rOyu9^c(KgT&L=p^$piQj7y0^c@|p4s%D=;B z&$ILhI(!<3cTVNM;tQp7xPHV@4^o#=)c*kW`0xPE74cl;pDE6kiunDxq9_TZUn}xC z<{d)=`Rw~v5$&Q6;0ML|(mc|i7yXjJ{l6>v<+Didp6*MEQ(W>{cAjB87H4PA7t#OK L*|Re~eF*;scgeKg literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSansOblique18pt7b.fnt b/lib/lib_display/BinFonts/FreeSansOblique18pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..6ffdc27de0398ff874f57d41874e4885e52372b7 GIT binary patch literal 5728 zcmbVQO=u)Zc7CByDpT27-M``FlgMcv*5oJ zjomqRp^9=D*JY9H!@?Lhz2KXF4nFwMYt~E@We}J~eOmCL@kCkdR(rf?Ld@Eo%T!nR zi%6-r?Tf)#ks1FHFW%4hUQ~mKzTPBy_vlN+2YqddGK(W2eDPp+x7AoAV!o9QU-UZ1 z=TCoduQ4Xd3N}`a7ESb0g9^ik+_}_Q=hT4~5$zuEA+>f>S2=g;X1=9BOPtY2MKK*{ zq6UeIIo+9yKev~|sC76R#u*z^yvxo>{vA2R9m$G*S1;u>I%~uRpX_pc@{#S$xzp0p zE^(?qM1mXMpOJQSP?#)h#f_zivjORe$_gW^g3VgA-ym8NiVrIq&*}Y%-aXijcNL0$EPFM~^J)LANY7|y#4(jNJsHk= zKN`=IRGCNfi)Wg4mq@p`LS`Dwmoh;GQbgwMwB#FiIkkwX25EGK7C-Vjh4D5p%ZVKyyi=CKavG z46Ugfm@?-YJF=@!i#RmINZB_%oD&7^%}Au|d9~+;rm`}psftaYIrcOg zTY8!mXzsY@?v%uQ!eUH={h0{aj-bKli>C8BHlS;t4x9v(6WTx$S_-3L=UNam*&BO0lXZILb@E zd;MgW=SoN!UDth{mBsq{?zp+=C1Dj|wUQY1+$VtrqsS2qPduh5 zqr9NPvXK!39f^Q25pz(onRHc5wtyViSV4gVl%k{r1|@*IuJ2|MS<3?~PdsWDzEb+0 zN;+!*cUb;V^CuJ=NE($(Ed$C6XMm7EXa$w5_OY$+W6udH;mIU$3`z-I02g82hW=0i z6`<2_91|mj#tu4#No%lEOJ`DNGHxuumJa~XBoZhM^av^n5?~5f2MFgqG*D9viXzHm zW_wOMufAR~(#=32wzR~wCqM+2LVShCi@tLh1foD61{I##dQjcg^LR3XDv7X8&yB$G zt0Q0>gahUCG{X|Kb7;CgAY>NK?0caQL}6j*rlB4j-HaQsDUu{%jR0h99`^TSSur-ZMeGyJW`<@ZbzxrU7Aj!|Dk&)AC~CnB*M>|W z)31qNZJ6F#6R_L=pi)=A66Dsu0M`!2QtcD4j*h$onNdd+tlCpMqZf1$naE7(k;p`L zU;p&zj6X@T%uGh7B8s!Dn2g59NfH;vOof2KW@&$w6k$xn2gCkoJen9hU@DfCaV(xB>@1>Jg7yX~9cclDH--gScx!N$xr&=E zn1Qpxo9A9v1l(Pnz+B^X>c@&=2)dGiNkFfC0Yid00pOsczT9(tol43xDm)Cptm2X; zS_~NceE!>g4m3PPiQ)% z-ax0SN>#@h=}I<-4GE$JZ$m(+V64`HBv8kPS9Xu%0DneqE<6+g#-Qd<_8Q5Cv=mVs zdol{+CxSi=6zRCW1=DcUL(NXTm3d>W2vLBTV>{w=q8TAJ0Th9}mZ5VkghD7_I&-W6 zdRSln|LpK`#^wNDtx>a|ZB*)PT_ia6U`mUJ#SQr(lv0fC>Pj%;>&` zJi!0j2YLd@aD|vmB}VAPNFC$NO{z1qqf7H;U6}jYnh&)xhj=eX8aALOld*n(G*%Br zr|N;4(g*4@`T%0?;XMKi{o6&5?B6oH7M_=T?GOq+M<~e*GYCUq>8FbBLu;P~B|$96 zK-4~P5$GI*L3v3ML8}HEVAc%8=HBv4DuEU_LJkiAz}Gl9!oyMkRJewq!PVU2$kbB= z$yNc&H9;;ANDw|Iv$vc8?kK>2z&0Ez;O+mLpeDvScpdCmrF!o1O2=g0&cTIHuk(`E zdBOd7diLzu&wtH7zj5#0y}GHuWTtEI^SPh=<2<>l``nKQ-z?WDb@|iSJQy6u*}=p9 zGf||f2nwt($A8iwxJ2V-xs1UBe+h^v9k}!PeVbUs?TFF!%)R>7<-}%SnOAkLz_5@V z+Q$P<^WB%2$z{HkAP#H3sxCcaiG}UL#4mD1BMj!g@ln|*Wd^D*L-_JoNanGMthFdXiKhoa0+i+uJKnL19PSD#8h|<$b3`c%K~Q&-DvV< zG{LWuNmZA_zz8(HEyE&-#9(9)aK@0|o|cG0)II`pGA4@!T&w>o+yr9S9B8@@1O6vX zNmmX&o>slr?qqB)O&(=}J!e1-cuql6Fx12%zb^5|TzwASgZn5wRJiIU`=U2-)salu zsq%ag89$?%FZ_xxMNr6V5l_x*5gSo(%PK(H1w9HPuC7GPPt*?XLNhsnryOWN?8K`~ z_*Vjuiwc5{QVc9a*#D%8I#52Yz+MLTqLa zztlz;iFLvJBEt_+TwxCNp}wc~REIi1T_7d|CLl$hy0K3`$dKNDRv*-Pimn?I9)uQBYmD&MW^Kys813ho#}OwSxqGw+FB{HYeaMur>Y|@P!^u zKL!#|kusa}a0S9f*gIk-m&$;8wALwfKr1V$5F9A25AYvXV+nu%gkmcc6>Nac?DBX|FC$apu*P z#?njr65ZNvF1)1QqOG*K@O}CRYHz1EUQ&Z?ZQtfE=@;4Jiom#EW{tZI%=;ssyO;F$ zY;`qSn$n1Eu5a;6`X0Nnyt*)_PuU7@@c*IJQx9r}MLmIMEy<<0iy!j!(UydB2>#WME6 z_~*+z?F9LIE8Fchaa;Myt7vJVo;c qyP#j%+`6-Yb^h$C{_!UC5p-W}uH5zX-fp5!FX=1Ib+L8hlKvZQkXK9q literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSansOblique24pt7b.fnt b/lib/lib_display/BinFonts/FreeSansOblique24pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..a83b2debe6fa0a0c9daef7dd524ec438ccf46620 GIT binary patch literal 9592 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 Ph&HalS4>Vh{1^TYQ_kL> literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerif18pt7b.fnt b/lib/lib_display/BinFonts/FreeSerif18pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..5f829d5bf6bee31256e185f057ffe8363881beb8 GIT binary patch literal 4660 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 Rx9OXi{NeWInJxVNe*wLXc$feH literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerif9pt7b.fnt b/lib/lib_display/BinFonts/FreeSerif9pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..ab1a9e898406ec3fbcf58e3998aaa9cebdcb9cec GIT binary patch literal 1852 zcmYjRZERCj7=F(^x96U_owj$(!0jmAWnldXA-CIH3aM-pgMSc6{2~9mU9tEBLWf@? zL3UY}GPDMf7^^|W7=LPJOb`=EZrK4>VQYK8|MsFAk1RQIsG_(GD&DL=3{Q!fYZERI}1ku&0}^fzuiu3$}uJjt{MH6 z#1xam>l8{UE6e)ewsW6ssOY8@)Qm*Hvr2MV37eMnU zJ-TdvDNJmWfg_-J$f?q>nNrLyT3gJVajS(Wv6JmnEw-gE4pyq;TLo)f7pOt)rw zU7ZoEUE3BnSKL4*UK+eIaO(8AgGXAUEAmh2qg`We>4sWd_2A^u!*93spAFHB(avI7 zW0hjN5$e34X7!?5i4}JAEDe<#(*ExcWp$?%fRa)X$(%W*Pqk+=+r{94q0F*aVWVP~ z!U{Pyd)}#*FX&mYMEyi`tbSeHZ$@RO&?;FQ`Kh2?epND8$a?>%u+J)xk-)h7+qjcA za(aKh@4WH+TWy&@oQ8=EBXDma%d`+&q!1=%OEJeoSKabFGyBJu!9@mEZMnVEE%@6r zfX!0< zb*56W!t|~oOS+a$yE=5$hW!n@?tXl1cBm(m-!-(_yUnzFWAH*cR+vhK^6A*gn>W@J zrqf-aH*cEX`Lau^o5k6i!0omH5_m@ybI5d{FV< zuruc8hi@f2Iv)sgezPYz(9!u=|51HEzq2SnNpZP4b1ON}+3k6`R=TfSS&^xPP~>D1 zw~4Adfp2rP3%5dMWzoUE5by!PT@p;10}4J_A#=b$6)McZ1Hc0+xeXoQ7eTc5fZrcL zz7g_*;UsjlY}sYSG){iIaaeW_u;+K9g`(V%yq|48+7mMC(p%PChl z<^`!rRFI&B%GA4uR;qB0=ha5*_wk6w@f6Jl@1;0T$e*H$UqPME&?e#WfrfvO%FRA9 z53f>h4(4IMXUDj=sO_mua6zi literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifBold12pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifBold12pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..194a79ecb8f9c05d820c70613def20f81a94f482 GIT binary patch literal 2764 zcmZ8iUu+vm8UNO^-f`m1&bmpdtGc^sQxV?kr~0p2+I1Zq!6w2q2& z8`X{1O0MpS68G*N0O@cFJRo$SJ9t7|bQw26E-2Rs>4Z*#YbQ3;hdAMJQ<6>Vc$u}G z=D3;h{^t8;zkl<6`&k8m_c6fm>`}=1FP%RQm$qw7uQhw7PgW<_RC*&`@#E#|hx0%7 zYw@wU_$ic(NYFa*@egnQ0n=H`bC@s2s;Mvkt3romFjOsv^|{r_jihy5`z(6Za26&< z_1LPq5wh~y@YKy=2QjGxHP>P!i8we}Q#rDc$QI3!74BtIp55KG@DR+NS!LNX*g@OCe?>H#1OPn&QZ1PU_Gr)fuDkvxe{cW#$+YbJt^|G zx$;KSGnMIz(=dYwX6h{>Q71t#T-pM~Pj{Zv$0^8=!L&tOkGLl6%>;n(jfm_3Rnmr75jLiSfkvDM+5~4oM$3iT0AZ%&u9Mj!cS_4Yhw?B`SASjF54Cu zGV;I$3K_5-u4}Pf96{I`(W4hef$50FZ3h&=~cUH)#g|`XKRK`WIT`7r2l{qIVz&b5)&6z z%1w5)<+mkgDMLDe+PRwV@>8u(7%a`y_g2FntKUF9a#dQ~o$-6W4qTQ^Q?9EEa*<3efYU}nD|GxXAaBtsWz2tLKGae@LG+nX^#?<=czi(xEBBNPKM3SMk zJ#XhZ0Z!bd!P~}@uHe+2Ggt^pG#-Mpcg`T!|LsQ^+vp@~>7<9XL~pQoZ)0H5wSCGm zR(Hg4Z)0Ux#{9vAM5$=kpnxQvvK|RFAp(7PK%fq)u0j(&2hkx_YQUG^fF4Ipcv0Yx z)Px&=Fc$9>K{*(aI4t(?E$Hi41^*pTRXy}ycn{==BJILoKtU1dF}x459MFG-NDTW; zs6$j&g}zmZT3c1NWye_ZPC@W0-pFZA$gfWp7md-Sh*xGc%hNN5ZGD9I$i_asfz zrAP2U(jvOF4Uc;CK&Y$tSV-4DBjP$6is><-@7p0w*M&d15Yb}-e=7I~1b1pORR4+MUF2gN%4Ye?u5=RZe7`XO=tXVlgEQE)Ekep%It zI6p4Oh64I4vfi=#J;B!m{jw}Nh0ym4fq_3|ITj22d>|jv;{u1mUBAB&?#g{LEc_Jw z?}x)fK|b^0?mfTOqZh;deVX9E8CE4#{O|uJ9F`;EkL>MmG^$ElK*Op&Anbe)?u+&d z`ky^|H{2hM3OcHE<2<4S`PqUorThMKilSp7_YEa-uwU5!t}@WkGvDLiR0g9%;{7)j zH98=0N$J{K>&S1xKYG|w`a5>}aioI>afC#qhj0R`QBBBw9t%0xf@g6o8WZ>}!4K$* lIH-p$n8#f|U&E1ueIl-3;!rFs;{A0%hd7jRR92-O_#eHV6aWAK literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifBold18pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifBold18pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..b7e5db74f30f79bc020f42547fad18fa9fbd75e5 GIT binary patch literal 5044 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 literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifBold24pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifBold24pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..7b7c17b0b64a7702ca331a57673ef19d2aa9a5fe GIT binary patch literal 8620 zcmb`M?{6eYdB>l2?N0e_XWic2^Lo7NbBztB6Bh_`LdsgoXnGNfNM7+D5Ti?Siim_G z6yb=`bPq=OMc}L`O0S2=_v8PxL(= zmxiz(!gdJf=ekHwH}qshlt@R!N?xY7+`;B+?f&Y@(Yoq)=1TjCHzx8@g(9sbt0eH% zrJ*pid=hLs$SXfl>3?+w#mA&~>d}rfsyFYr>1}}A_*%IkVQpC;nWFT!xOI7G2 zI5cFRfWjS`tM#cj1tV}-_iN+T&d;sz7aQPyf1u8P%_u%1ZjDDbH_ov0lz zQf4AUZN(&|Xg8F^qr+SmVh#&Y!HR@J#JH@~RZ{98YkJ$wtBp!0E{uyZb9Sh!o{?}T zwOOU&keWGJk(FtQj*;OwFEYPhns6AVf)BN+(puFF8_4G{hqpfa`gcW8%F4VdR$Joc z6WdpIO&2^qecKZ|mF*{XUfh(dD)eZTOe5x%=6j32Vwn-jEhIc8`+DMuoseE;9WAb% z6uq_-l34NZk`~JK*N$KR{Qa!n-^4B@v!m_obH}fTy@gi}i_?F(Rbo8umW6Ss=FN%CznoOJvDgf&#A^_Oa_9+5O)*^2BCAmk%cA&~ zsG_qh<6_=~gAh!FiLFop6p@=sg|ZjEp47ec1l|%v;&2D}hjuB(st~yt4kf!#(}NM>}&dX2LrFnzP>-M8mKTd%1k@)sD~pez~8f-r(6de#D%J z0m4#j#EMNkT^Z{~sYmB*^dD^i(~cuVJ0$qHz%X)(Qj%MgkHmsZKNSmN+@V+qQIaB$ zrBJb;u~;;_Zee#*l$cAzGB2r*WrT771XNfOa-8wG1XZPFWRBYG)6M!UmP0LCAZzbJ%P*h2+UE=Y91MqSK90EC)+0(0D zk}WF}Ibva}*aJIh?E5KA9R-BI@Pb<~Ot=T?ciW`m8XliL5DMH-ySKgYx>uB~)$L zr@CNV_oMX$n^{Tfs5h6?#K+(OSW+rlQITiwx=AxquGFHK{-?EQs)Je5w1x-p;wLKpmn5nTI*oE8rAVsLU(_;# zSO@zhwww@guqchPRAnqGaaf&aYz0RdW05Y>#!2#E8+=2yVGAUOK1M6~m=KPC7#H;o z3V7txX!z*^Sk|DQsQ#x9_(c>D-h<#X#GbPpN>G)?s*KC*FV#$m%Tb_+6@3DYm~HW1 zzOI?WGT+>(GF?_?$JKflZ!ZvkloIF+i_tv_%~G5+d=eLqi>}hK3=8uTZA0=6^m2%R zAK;la8jI34Xh=T-df2Vxo3MKjRh2nJ7X{DB$7N1?lK+_1=Y>HMx)JL-fP62M0ZBDT z$VM3x_xm0yOj=%kiaY2h+#xR|Au$39-~|YbrVMLVK3rb%a=A{B_qKhp1cEN$DuHYW z_rl3usU|WznHL}P3IxlGPt{m)C$rt4w7-x#Ol(|tjGNBhP}PL;HZN}HcNnUFoYV;# zWhi*yFGN{L5wqTD1>Q{HEDY5cXPex+*0wGAQAqGaK)l8hN{Xcvp-}MJB9Ck9P;@Sb zqBj?0<>esuQ%u+iDp?OLrRsJ|)t$DgdmUA;^i*wE^rOOR#&D(*UA53so4DE`(DVq` zD`Zbr(!|OXv3ovu!W)l_0)CINj7Tmsfm(JGlbzIsMxO9Cy-|3Lk7bCJ0;_z;cXlbfEK7v7#CzLh+LCMjyt%6qc+!z6RVxz=@C(K?fN{ zCr@}CUxJswX>{BS3i%dPGMk`Cq-jA}o0hn#BM#W;uyJmj4Ui_lg{pJXT;-?p2OB%p z8d)-j!{2tvzO=mDaI&Vj7It#+AS&!v>Zko&l~YwBk|Yh zw=p-6K*@HYbXZ7wQXmt{i)bxG&n%iU1u{)Kge431EI>UkD2hVv89ZmjhiJ%}nEJ#x z%@Lga=f!-}VPi)N_HtPTyeftIGS`U~kzgt}D?)y8w@FEIuA|CVsvf?a9-!l1&Mnl* z7`C!6r{9ab<*Nb~K7>7o1!F0>g+mTj&_MZo$zj=XByR3g;@NmehX6~m98afwS(Vcq zKXAs)eBzByAOB%zIrUZ>nSb)YDc%r%m4L=)jHLQC|tc&9Z-0Z3&P zC&LKD=9bjase*`wy4ajgDOq8vCTwxpkpqk$G2%uwJBPkLbZBR}=t`Y~vPBZ4Cv+ z&By(+wNv4XaY%}Oo6z4Qw!i`sh*{)4l7if-Bj6KVLC1c+WO`i=iR>oPi4|v zCTUA_XUTSHkR%AM<8Yr0*$deTK4y&wxQOMdrdo@5EBcnEQdiV=z(Cdcvm>cr`d zVvVc2vd?*KVL?jn1!Q4Od;>S}->OmNNVx&me&X;1E`2!Ut8%D!yxDLgGxmM$h)swx z^XkYA%z7DnNBYp4O*bNf1=64W`*o(B$B2x@mg6y&>!;{{BSek55&vGPkHPDVQ>5e0 zbCgt>)I`2bYxZ1vSn3n6e3euqsWU=N!HpX%7&5mVuSwzDXE$6g*lB1%ICq0Vx_;<} z!*naT=jMm3!KxhZIBT*bP|IP*;a$cq*6ny(Lx2_R2njLb+@nsse&o%bH|sv*-Z}B3 z=BX3^P7ebZmJzeb#5bz+QBWtAKP6meu*dowYYJVqt5&wF zL&2ev+odFoPj<@E`)W9vKTQX;BUuf_X*@QtubnDk{HYy8Ezhn=M11}=y4l%Wxx=W0R-b+)K>hLhGSd;)^eHmIwgP+2mz?5xu-lE&TN%t z+nW<_Y-NgH?a6j(+&I+-HCap^F97)DyB-s&qJ5$8w|zaRgOgSAFH3yn$XYZL06W4v z$IMLLt@@wLKRi56zdFnv$24~Ijz-FhgTQTX;->^S8MP$iMEWJHSM*VVJc;l`b{TQe zZ7d#;?ndKOWj>CQAj{xnuopP@pWDS#_mEETr6zkW}8!=-?NLx=kT1<8p|@7fXh5ou2mDji(( zHSPp$K2rBevsrjV0ix_#vNp1rGmC4{v!G#!=22aA(^YK;xWY zW|qj#wbP`oJL%r?sUIV%{M}sn)Q=ekngIamBM%syM+lM)(s|Ka_k0~T!%02LHZ~mI z_;bkf^Idt7G4YF;Ke$&M%XgBmB^V*@&V|Ts*gf}hnX~4!DYgvSRhUj|~vTYDMbveJW znKAZk;j6q2POg~Us)y%u2;91pRCm8EqgQ_@*#VGP#soPBpP^dCdu^x=xHe3os!4(P zkxHbPlyDEA-L0l{*)s=4_GQUe0r#jJvdo4jlvK-2FL%q9vCCOugHEcxepuyYIDA;~ zLtZCO#=f1pmAu8)$lUTy;w=eVwi0vsCSNB*g@I;!&E5*M!cS&jkU=jwk@Qa7Jt<61 zrtrw+J@bb41!2;X^+rP{rHrYaaS`xUW?wDmYMre!IE1)4HxRF_ks(*6=PDn6uq&lh z?)Yyms-l|N9qby0giF^jkB{ z{J&|P()m$qvNL_*O=;_A%(Qw_KCExth~{*nW1t+hzSvT$<}XPyMf#7MI@7``his?hCZP z(N4QpspazZ7dmnve{^}N`+nMQU4|a@C#Qa+`yu+DO-)1ZOX=d$3(UVZeWSa;`_E4= zejv7AxWaqd|8Qky=_dR=yfWWiVEs>DU096$M^_iSi_rP>wGS=+CjBowcgo*CQZL5# z%<1^Qp1Jhmv^tP)&78{lnd`KfpIx81a+Cf)x!zH;a#8;5`lV;4WnaE<{d#9Mc~ib| zeQxmv^glRzt@9l1Kb-9>-hl2mXRmf7Ox_w-|1ZIb|&7GzwC6nar{Z=(&7~T zW^U@GtJuvS&&@Uc|2cQ5dztqS=3bb6QQnk4xY3!tLH*A+W;z|{eg8(B|EB!zO={Zz zbo1KmbF}wwrk!ihZ_iJe>Euv8Ha|CeQ+^*V83$!on%U>;A*PZ15g$l literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifBold9pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifBold9pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..b6efa5ccf6f20158a745817861f57ec48b4e42be GIT binary patch literal 1936 zcmX|AZ)_Vy7Js|5-aqbocWDI}v9;Z%mr6)P4hdp?+1f@yLU*86$G0M(OA7+TNobu& zBu8_}rYUuiqD>1zicT)gi7$L?C4_>6jx`Q85|M)dReZ42bzNd~5{V%x-d>HDxAxN6 z(fs!JX5M?hc{3vdzzPG9n0o-cy?5fRO}%m9fN<{fr|(?+@>%bIAfC@E+Vyw7Y0ah| zeD~e!vxjTN9bE*s*>_i%x%hAHptw!a2eeyTQGaq|uV`F3e zv~uq7$jHcJFPX#txMp2n0-m8M+07;t9&Wq`o@a`O&MPJU)VZXsj;z$?GV$d~~$1ThABq=kO&AOc!OVhVpPE8t} zt!A_N%FFtEX7%grL{f>03`;;Sm&={m^k$_}o=uOeVY-9Wd5)7+@XQQ~e&UBLfH5;O zqY+alcG9!4M4oNqze*MBb;kiXb|r1p86J$fEiWua*WWHYd+U|Mslz84AS!X7AxYU1 ztcC0ow3exJ(PNF4mscBwslvRJt7uKNId8`Y4;HV+C|l#ek(jz{d;Zk4RIiQYjcTeq zZ+g{-idsI|RZAC)p-5@o@oGjMr&Lf_hh)XiA#n-f2rl6MMHe zO2*EWyM<<|I(4}fm+rOd#>}1Fvuffdm&i~x$(SlFtH*X*uGH6}64MwGFqyVU-x3-0P`cJpszw}LP{L2(E67faR*yfzMUZ0kdMb}fC2P?T+^Jlv! zR9-9?TWql44K`U^kzs~79;f9hDsFm?Gp6%;Zf805bkW9(CNGxCpL(5!rQqiN=v2$y z7K++Y#wi>)YaHiq%4X+GQR0n-bt&;C^|fSbl+8c_e!E-K#`8*jUHgR_TKIN#)R0t? zhY3?jbazX#l7bd7W0WD-%RKHIgIK(_@FSO1!QlXd#KHT1GB$2HDu*Q*k{9Ql4qjwz zts)yul$hwmqPUA!8e1!>jt-t4FM4J740k+tX{?V^(9WIkTg`yw!CaXHrl9RH@(sqh7IxZ+te_yg1S6iVxaB6#oPZ%`tE4 za{nyV+$L7d@BjL*zoeQ|^G~|dYV+Zp-Qc*}TKf~L3sXQ?hU&r_z|bt!foUMb=l=vY5`x>X2!bdeUIJDW zFwVaN{vq%^`$s;a-41Xg!0&@~TLJ$i;6M?9#k>rK`=MPBsBl=M+VB7s4vEzN;b4!u z@Ce2A;yzAA#QRY1Ul1dx;{|G;C?dX&7{R>r0bca&$p1ry#eIlZDN&RVKM(LbDkO5q zYZTTC{r`vY{P}L+C)0{}AKH)7{kR(4_x~&1k9U$5Wq-Yac0cb~nis=}7II(DYT$Q` zjzoN&6?(t8AMqyL*ZpgNVba(6FzKJm0O{BH(SScrc+QWj6M+(dK$wJn4g$VjR7w{Jt k9`CCQuQ8|_{U(_Z>ez!>hKew_-#MStdvJl_X#wxy@2DH2!vFvP literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifBoldItalic12pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifBoldItalic12pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..91ce39a02a60b7502742112d8213dde7af1fe554 GIT binary patch literal 3016 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 TFB$ng#`_7JHD+=q*@piBH|^2w literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifBoldItalic18pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifBoldItalic18pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..8b380d5b781d315d588390d3422048f4d08113a0 GIT binary patch literal 5512 zcmaJ_Ux*~fdH-r_HMP4pJ2kU=cRQn->sp})K>}eE2p-w3?lt)%2!y-@g9C;+3nB;s zjiP{CR%@q5BQz$FwGn!-AmT1g@{qSUCJ(^~sYWAiL!@Y}yhP-Wt|pUc@33Okdadw7PQ@1B-)Hjtj%}lM!ro*C8#jIHHXQ^ZH=`mAl%OWcZ zS-5tGjj7w`m|#T}6Npx*O1o5;~WRyM>+zP;I>^s zkh1RA$TT773Yitsb*j+LGU+Cx4tmP(7>;QnhWoo)VW#hik)SS{JRjYA6935B;`WQ# zwdZ?%u2-N*vec(8wW&se73I%-+Cf}nL_0k>noX;n*J*(7_Q|41Fy3+COL*{Q^kynTlACE@!VWDFz z#Y-k4Z2a_6Ffg@{2V%NEo7*FoWMLA8Dv(l+#=}EBz<7#_co8oKd9SUz+Hbl?mKkQa z=2}3nHAutDql-_@Dl*O6Mp`jE+B8b4hIS39u;qq8$I{PKDoVo<=n5&Ts zKk2P<0E%`sraM&*bM?PIC=75xj_~jWs7eD5SC%axOLT%IN6V)co0n7Y;HPaz*sRn5 zhgkER;&P^8j&fQsf92@S!6z_Fn4%W;kN2MonN_e2oe16GRA+Dx{}XzbJEao>Eh=Dl z0keE)AeUy>#&6m1upd4Kz{-MdT5CrV@~lBQ>y!Ow`~Q8tn=abzNDwhYFsvN~zbULI zMWms8CS z0IF24Q}GeYLT=mARHa!_dIe%Rl?-N}fbASiQ=U`yNx|l@DHlN~*lnR<(V~Fw*a1O* zJ}4;ILME&*kV%Pg=*iGyB;+vg7z4?9`17E+OOUKUPvmTkijy%NS^+=v zii-8Zy9~vgV5f3KVoG98d`|3`=#Hj4h6bPp-%LpX827Z;w_*nNa!7_wmA??KIPk*p zRtJ;Y^=x2iRXPeZp~26mU3sY--_>xmkLXR^l+9gyt;mZ4a8Cmb?sSA3($h*SBkd(C z+`3!J)*Vl)8GE&o(hb}Pqlg}vD!P9zb@yaXH=i1tDr~c&Cawa5<-%la1iLnNmuw%p z=sJ`;+-lo7d@b! zFjXi~OGHmwqb9eUmVo4>3=9qqtN@Z6<~+8Ln2IS%>8Xs}vHZ3XH?(@qi!;sGiQ{uC z_l*+TCuwqQVAhZ!V1h#wb0DK=uii0i8-9Tku&Xz(26;hLHzl z*|TzN0WyHF(-O06z_Mbtplql3UN>wD$);x8twc-GAQ%jQukg57!;le5h`&Kc6!sA6 z_C~MAcH|IBPm1C|1^w(Ba@0vzx!sAEAOXmuwEWWM&;S@3SR2r{mW9omQ2#dc zZ`8RNMPIm1=|kV5lf4f6iQ3^GL>f6N=;b7bP!bFw#9kA`Gl#%snuL%IGuOmA)Tukk5TUZlSx!Z|LZE36zIDvc( zOaKq)&Ehe#)tIKPrsybB*Lt%CfLcNOO$vmlj$AZ*YadLS0ib zkP))FP$dDbFbQ4a+>sp^FYS2xc6hvx+(#l9Y2-?hCxA#7koR2()hjmvF;pr05D*`w zVvm7|5Zp{q1*lw-O8LV4qxivAD>>mJUeLL+0Q)PrBCQWtCtOXo7zA` z5C(OjA!a0+h###|zJ zkb47sF#+i`2DpCF=5rnPh2$2P1LHDS2S*LC;12=_S~YQPbYpsJcGG29nxtVA1%X0V zJ|4e0eRFop=B`UPEn3$hA`y=v0f!}nK;F0Y;!)PeF$bLatAYXkS1FU+5DWP9IVmrk zRs6*qv;N{{ZVq*U&u0wzQD+RrO1}D*YXn_t1uW_kVzVtWRt#srQZEvAG}SYMpN19ZwEN?}=Ab7TYJy z?a_g_8nnA@xIfMH$C)gKH(eBnk#R``C7}w+DhmR>uM6x9y28QRs|;y`A@-ptWZ-{c zkiu|bx+#n|bJ>wwxLx-^DLyYiZdAr!9;6Ru-?Uko5CJ}LR)N1635r1ZX0hMyKRgUp zkUJqmLZfJv5m)T{NR6_y#o**F`_hEG>$g|^9Xgy%Z#Fbr1D z#?K$TEIOq-Wghebz#ilUNWv>l%l=gXLOY-cS^$;L4yl2Zq*I*2)4Ne07Y1^DMgSOF z&T3N=t2$)CpC#be008*ZHlo4xqPVi4G{u35Xq6bA=UTO;TXZkg);5=K(XY_?R-?E{ ze?*PT8+1tDr%SEN>=ypqXtgfUE&2+(Yi$kVzQ)c4RrHU2y|_hx%hu%v==>vVG|mHg zK4jwD>LRBTwz^!!A36(Gxoed^rlqA?s|q^5v?N;_nEy4@4YZ$Is<$>!zv|oQ|DUCe zrtiO(H_HC6`WpRvyxwf^TlCsl|4+~AUtC^mtRfxx^76ThtHlxZmNz!fvmeu+EN`rx zUpl70@a?4^(?2b*xBUE%mRqgM;P=<>+G;hi&bRMswl1Q67wwB!XS;HDtA+L-R?tTM z1JoB#FNtQWg?YavF1PMR`>%y;t)u=IasHC$_tHwMwT1fkS1y+0|7PW$mO^`L^-@Xi z4_2`r=>HvRPcL8HQoj9_wPrc*yK5Wee*bmtLhAzfY@fq=koO~J_4m)I);8Lk)mF*( z*Q*y=7t#JJ)aOC({c0_!7T{xjtyM$+m)6mSe){Y6_4DBSkJmSNgE+mgE-F>f|IYeG zV*_$~b-jLfgWaT`tgkmDJHlUbo29&evv%74z1oHC#>Y452er+u2IPBGYqU1O_kD7; zwTAlFWL;H1zC};VQ$78?JXiMro4mVm3G_GXr|W#NE*lNd|J^$1ERN`fdVR~cU#rV{ z4dec!zTT*!KB=!=Tw@>5g+`;XiSJ)*tk>nz5&ceMv%bZT=$nm=hUeqEjmDM)oquk~ jO+WvmhTN{wP5R{x-de@}!wt0W+@xfqe%JY>pVI#VW3i(S literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifBoldItalic24pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifBoldItalic24pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..95397c7d74617787f1439143f66f2befe83cc0c8 GIT binary patch literal 9016 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 literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifBoldItalic9pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifBoldItalic9pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..0873ff0b0cf316c4e9fd29b63bf85717fb76bcbc GIT binary patch literal 2092 zcmY*ZZ*1Gv5x=KL@{!ULNyEWFZ;T`-h5e-ksMt;DShJL6a0jf-z70iDU`*60{m>co zjMV~KICSLIF)G;JhG90~B0&pmUxu#vP^<;El!^=~MHDCd(m%tnQFa=4z_4kE-PnO( z?Pz-#Mv(mR?tXXg?%q3c02mYjQd3_8o~{{ZYL~^&frL*l5Qf}$ejK6q7 z@Cj*scX{B6BJ=FnT)OY2x|I>YK66$2PTILcpJe^hL*iKn<0dOd%AuH;DxRps0?48ykD$?kiBYuhNu^7rlr$u2)|DlMB!l=LhB zcz!c@Z)v66VU&2<6`7TSqKP(dW!9s!j4`^g+^FRT=4QR@M~j}Hb5fS28!{xi)9KTu zIaaIHzHO^!`IVEyN9U(h##9bNYd}{5e3SCA6p(6tULrw;dAW`UpzVN@pnlQJ6k9nk z`%f{|w459SL7;h6S*T{7SnnSg>iYN>lLolCHs)v$&lbHGm5Q0X$y2N9!&Ww^^YOab zYz5xEcg%cssL30RA!lJIup}t%(neaW)?eMa_4+iu%{bZ zu+DUQdfGHL7TS>gf30T%W(4eK7#1*Wb59M{xKlTikeo7Y%V}1sB}r?Ww(UCjIjdcT zEcV^Rw%eBL?l3>FIU~MnsMM=ke@Q^HI9@V_rtig}&79%svgtM#Za@-zPJ9!Kq<9ne zl-darY?hTum#dWv!F6}pdhUb%mF{v^jn}nj{7lA91wUQw*3W(Gv|Q{BN;BNhA;&6f z_Qb3^$y%7`Kh0*%9)YaC->32UY}KPB=Is&wX^7t=gOnUy`ZSl-o?hp{-wYFEq$)nw;~=(%k1d}-+@xYRR=6Z2MNr@Al& zyAO<;=Jd5e2EM@{Ff~8>pl7z%x3G0%xijm8MhX%I)=7%sW;y2P0O z>S@cxegxk<^1SW5-I5z$rI%_?`y2T}q0ngT{o}!%H~Z#|)cwy-e(~qYp4xeRsQ#XB zaSF{BF2Yc`+I#KZ%QhE;BOFFXxvZz$ud5XQCD?4;!DeG@tJC6=Bng~z3AX^1!T7@e zF8pPJ2n63!oRMvaf+R-iHmDGbE1fM!K}-wrX;9-D+Mk7ZT!n4801;6{-b*0r66(i7 z>}*33WLZJk14W7A;e8XRBzE>-9>jD49_0Q&xd~K z|3ebTy0+jo!sBsVX91BTzJnM;`|pXmuU|u64E6U9@o~sUyBg8<`_Uhf;|%SCk*FHx zI~s}a$9XY=aZq+6U2z?;965;h4(fRr|ImIr!u3$z2=&N&6gj9zqOo`^vJD2s^$?$= zoQF64;eeH!1-@0CN|6k-(p7pbg;`*D?uoFVTwl_Eh@T2kMd|Fq2Kvj0|3+Tu|5%W93G<4Igo{`o7g5H%O;L_S HNgMtHg=dF6 literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifItalic12pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifItalic12pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..9ae523b3fbd54d9ecee75cd460e0c4c11d2d0c83 GIT binary patch literal 2764 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 literal 0 HcmV?d00001 diff --git a/lib/lib_display/BinFonts/FreeSerifItalic24pt7b.fnt b/lib/lib_display/BinFonts/FreeSerifItalic24pt7b.fnt new file mode 100644 index 0000000000000000000000000000000000000000..fbb09e8b4acfb51f6d6b45ff4ab4415d911a1fcf GIT binary patch literal 8356 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 PqAPelmKdi!r literal 0 HcmV?d00001 diff --git a/lib/lib_display/Display_Renderer-gemu-1.0/src/renderer.cpp b/lib/lib_display/Display_Renderer-gemu-1.0/src/renderer.cpp index e63f3d673..9feb22ec5 100644 --- a/lib/lib_display/Display_Renderer-gemu-1.0/src/renderer.cpp +++ b/lib/lib_display/Display_Renderer-gemu-1.0/src/renderer.cpp @@ -149,7 +149,7 @@ void Renderer::DrawStringAt(int16_t x, int16_t y, const char* text, uint16_t col #endif #ifndef USE_GFX_FONTS - if (!font) { + if (!font || font == 5) { #endif if (flag) { x=(x-1)*OLED_FONT_WIDTH*textsize_x; @@ -200,8 +200,13 @@ sFONT RAFont = { 12, /* Height */ }; +extern uint8_t *loaded_font; + void Renderer::setTextFont(uint8_t f) { - font=f; + + font = f; + + setFont(0); #ifdef USE_GFX_FONTS switch (f) { @@ -269,6 +274,10 @@ void Renderer::setTextFont(uint8_t f) { selected_font = &Font24_7seg; break; #endif + case 5: + setFont(ramfont); + break; + default: selected_font = &Font12; break; @@ -278,6 +287,17 @@ void Renderer::setTextFont(uint8_t f) { } +void Renderer::SetRamfont(uint8_t *font) { + ramfont = (GFXfont*)font; + uint32_t bitmap_offset = (uint32_t)ramfont->bitmap; + uint32_t glyph_offset = (uint32_t)ramfont->glyph; + + ramfont->bitmap = (uint8_t*)((uint32_t)font + bitmap_offset); + ramfont->glyph = (GFXglyph*)((uint32_t)font + glyph_offset); + + setFont(ramfont); +} + void Renderer::clearDisplay(void) { fillScreen(BLACK); } diff --git a/lib/lib_display/Display_Renderer-gemu-1.0/src/renderer.h b/lib/lib_display/Display_Renderer-gemu-1.0/src/renderer.h index 86aa98025..91f33f880 100644 --- a/lib/lib_display/Display_Renderer-gemu-1.0/src/renderer.h +++ b/lib/lib_display/Display_Renderer-gemu-1.0/src/renderer.h @@ -29,7 +29,7 @@ public: virtual void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); virtual void drawPixel(int16_t x, int16_t y, uint16_t color); virtual uint16_t GetColorFromIndex(uint8_t index); - + void SetRamfont(uint8_t *font); virtual void DisplayOnff(int8_t on); virtual void DisplayInit(int8_t p,int8_t size,int8_t rot,int8_t font); virtual void Begin(int16_t p1,int16_t p2,int16_t p3); @@ -52,6 +52,7 @@ private: sFONT *selected_font; uint8_t font; uint8_t tsize = 1; + GFXfont *ramfont = 0; }; typedef union { diff --git a/lib/lib_display/UDisplay/uDisplay.cpp b/lib/lib_display/UDisplay/uDisplay.cpp index 0694a0d3c..fe34e9d40 100644 --- a/lib/lib_display/UDisplay/uDisplay.cpp +++ b/lib/lib_display/UDisplay/uDisplay.cpp @@ -20,7 +20,7 @@ #include #include "uDisplay.h" -#define UDSP_DEBUG +//#define UDSP_DEBUG const uint16_t udisp_colors[]={UDISP_BLACK,UDISP_WHITE,UDISP_RED,UDISP_GREEN,UDISP_BLUE,UDISP_CYAN,UDISP_MAGENTA,\ UDISP_YELLOW,UDISP_NAVY,UDISP_DARKGREEN,UDISP_DARKCYAN,UDISP_MAROON,UDISP_PURPLE,UDISP_OLIVE,\ @@ -48,6 +48,7 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) { lutftime = 350; lut3time = 10; ep_mode = 0; + allcmd_mode = 0; startline = 0xA1; uint8_t section = 0; dsp_ncmds = 0; @@ -70,6 +71,12 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) { // id line lp1++; section = *lp1++; + if (section == 'I') { + if (*lp1 == 'C') { + allcmd_mode = 1; + lp1++; + } + } if (*lp1 == ',') lp1++; } if (*lp1 != ':' && *lp1 != '\n') { @@ -413,7 +420,11 @@ Renderer *uDisplay::Init(void) { #ifdef UDSP_DEBUG Serial.printf("%02x ", iob ); #endif - spi_data8(iob); + if (!allcmd_mode) { + spi_data8(iob); + } else { + spi_command(iob); + } } SPI_CS_HIGH #ifdef UDSP_DEBUG @@ -864,11 +875,21 @@ void uDisplay::setAddrWindow_int(uint16_t x, uint16_t y, uint16_t w, uint16_t h) udisp_swap(x2,y2); } spi_command(saw_1); - spi_data8(x); - spi_data8(x2); + if (allcmd_mode) { + spi_data8(x); + spi_data8(x2); + } else { + spi_command(x); + spi_command(x2); + } spi_command(saw_2); - spi_data8(y); - spi_data8(y2); + if (allcmd_mode) { + spi_data8(y); + spi_data8(y2); + } else { + spi_command(y); + spi_command(y2); + } if (saw_3 != 0xff) { spi_command(saw_3); // write to RAM } @@ -953,8 +974,14 @@ void uDisplay::setRotation(uint8_t rotation) { SPI_BEGIN_TRANSACTION SPI_CS_LOW spi_command(madctrl); - spi_data8(rot[cur_rot]); - if (sa_mode == 8) { + + if (!allcmd_mode) { + spi_data8(rot[cur_rot]); + } else { + spi_command(rot[cur_rot]); + } + + if ((sa_mode == 8) && !allcmd_mode) { spi_command(startline); spi_data8((cur_rot < 2) ? height() : 0); } diff --git a/lib/lib_display/UDisplay/uDisplay.h b/lib/lib_display/UDisplay/uDisplay.h index 793b1cc8f..006f093a8 100644 --- a/lib/lib_display/UDisplay/uDisplay.h +++ b/lib/lib_display/UDisplay/uDisplay.h @@ -135,6 +135,7 @@ class uDisplay : public Renderer { uint8_t dsp_ncmds; uint8_t dsp_on; uint8_t dsp_off; + uint8_t allcmd_mode; uint16_t splash_font; uint16_t splash_size; uint16_t splash_xp; diff --git a/tasmota/displaydesc/SSD1331_desc.txt b/tasmota/displaydesc/SSD1331_desc.txt new file mode 100644 index 000000000..8c1b3a816 --- /dev/null +++ b/tasmota/displaydesc/SSD1331_desc.txt @@ -0,0 +1,33 @@ +:H,SSD1331,96,64,16,SPI,1,*,*,*,*,*,*,*,10 +:S,1,1,1,0,40,10 +:IC +AE,0 +A0,1,72 +A1,1,00 +A2,1,00 +A4,0 +A8,1,3F +AD,1,8E +B0,1,0B +B1,1,31 +B3,1,F0 +8A,1,64 +8B,1,78 +8C,1,64 +BB,1,3A +BE,1,3E +87,1,06 +81,1,91 +82,1,50 +83,1,7D +AF,0 +:o,AE +:O,AF +:A,15,75,FF,8 +:R,A0,A1 +:0,72,00,00,00 +:1,71,00,00,01 +:2,30,00,00,02 +:3,33,00,00,03 +:i,A6,A7 +# diff --git a/tasmota/displaydesc/SSD1351_desc.txt b/tasmota/displaydesc/SSD1351_desc.txt index 806c8c7a8..9fc7c43f5 100644 --- a/tasmota/displaydesc/SSD1351_desc.txt +++ b/tasmota/displaydesc/SSD1351_desc.txt @@ -24,10 +24,10 @@ AF,80 :O,AF :A,15,75,5C,8 :R,A0,A1 -:0,74,00,00,01 -:1,77,00,00,00 -:2,76,00,00,03 -:3,75,00,00,02 +:0,74,00,00,00 +:1,77,00,00,01 +:2,76,00,00,02 +:3,75,00,00,03 :i,A6,A7 :D,C7 # diff --git a/tasmota/xdrv_13_display.ino b/tasmota/xdrv_13_display.ino index 1b8a19df9..1d2335901 100755 --- a/tasmota/xdrv_13_display.ino +++ b/tasmota/xdrv_13_display.ino @@ -729,6 +729,34 @@ void DisplayText(void) cp += 1; } break; +#ifdef USE_UFILESYS +#ifdef USE_RAMFONT +extern FS *ffsp; + case 'F': + { char *ep = strchr(cp,':'); + if (ep) { + static uint8_t *ram_font; + *ep = 0; + ep++; + if (ffsp) { + File fp; + fp = ffsp->open(cp, "r"); + if (fp > 0) { + uint32_t size = fp.size(); + if (ram_font) free (ram_font); + ram_font = (uint8_t*)special_malloc(size+4); + fp.read((uint8_t*)ram_font, size); + fp.close(); + if (renderer) renderer->SetRamfont(ram_font); + Serial.printf("Font loaded: %s\n",cp ); + } + } + cp = ep; + } + } + break; +#endif // USE_RAMFONT +#endif // USE_UFILESYS case 'a': // rotation angle if (renderer) renderer->setRotation(*cp&3); From 33f5714e9c8ffe18818400f7b8d0cc22b5b7ece0 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun, 18 Apr 2021 11:34:34 +0200 Subject: [PATCH 25/68] more refactor --- boards/esp8266_1M.json | 2 +- boards/esp8266_2M1M.json | 32 ++++++++++++++++++++++++++ boards/esp8266_4M2M.json | 32 ++++++++++++++++++++++++++ boards/esp8266_4M3M.json | 32 ++++++++++++++++++++++++++ platformio_override_sample.ini | 18 +++++++-------- tasmota/xdrv_98_file_settings_demo.ino | 2 +- 6 files changed, 107 insertions(+), 11 deletions(-) create mode 100644 boards/esp8266_2M1M.json create mode 100644 boards/esp8266_4M2M.json create mode 100644 boards/esp8266_4M3M.json diff --git a/boards/esp8266_1M.json b/boards/esp8266_1M.json index 7a0eb335d..b4683b076 100644 --- a/boards/esp8266_1M.json +++ b/boards/esp8266_1M.json @@ -19,7 +19,7 @@ "esp8266-rtos-sdk", "esp8266-nonos-sdk" ], - "name": "Espressif Generic ESP8266 ESP-01 1M", + "name": "Espressif Generic ESP8266 1M sketch NO SPIFFS", "upload": { "maximum_ram_size": 81920, "maximum_size": 1048576, diff --git a/boards/esp8266_2M1M.json b/boards/esp8266_2M1M.json new file mode 100644 index 000000000..30ec5331f --- /dev/null +++ b/boards/esp8266_2M1M.json @@ -0,0 +1,32 @@ +{ + "build": { + "arduino": { + "ldscript": "eagle.flash.2m1m.ld" + }, + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dout", + "mcu": "esp8266", + "variant": "generic" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "arduino", + "esp8266-rtos-sdk", + "esp8266-nonos-sdk" + ], + "name": "Espressif Generic ESP8266 1M sketch 1M SPIFFS", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 1048576, + "require_upload_port": true, + "resetmethod": "ck", + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" +} diff --git a/boards/esp8266_4M2M.json b/boards/esp8266_4M2M.json new file mode 100644 index 000000000..5a77b597d --- /dev/null +++ b/boards/esp8266_4M2M.json @@ -0,0 +1,32 @@ +{ + "build": { + "arduino": { + "ldscript": "eagle.flash.4m2m.ld" + }, + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dout", + "mcu": "esp8266", + "variant": "generic" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "arduino", + "esp8266-rtos-sdk", + "esp8266-nonos-sdk" + ], + "name": "Espressif Generic ESP8266 1M sketch 1M OTA 2M SPIFFS", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 1048576, + "require_upload_port": true, + "resetmethod": "ck", + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" +} diff --git a/boards/esp8266_4M3M.json b/boards/esp8266_4M3M.json new file mode 100644 index 000000000..f6d8a185b --- /dev/null +++ b/boards/esp8266_4M3M.json @@ -0,0 +1,32 @@ +{ + "build": { + "arduino": { + "ldscript": "eagle.flash.4m3m.ld" + }, + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dout", + "mcu": "esp8266", + "variant": "generic" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "arduino", + "esp8266-rtos-sdk", + "esp8266-nonos-sdk" + ], + "name": "Espressif Generic ESP8266 1M sketch 3M SPIFFS", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 1048576, + "require_upload_port": true, + "resetmethod": "ck", + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" +} diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index 66de45c80..a674fad2d 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -55,13 +55,13 @@ build_flags = ${core.build_flags} ; *** If you try with earlier builds a serial erase and flash is probably needed ; ; Build variant 1MB = 1MB firmware no filesystem (default) -;board_build.ldscript = eagle.flash.1m.ld -; Build variant 2MB = 1MB firmware, +744k OTA, 256k filesystem (Zigbee Bridge, most Shelly devices) -;board_build.ldscript = eagle.flash.2m256.ld -; Build variant 4MB = 1MB firmware, +1MB OTA, 2MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) -;board_build.ldscript = eagle.flash.4m2m.ld -; Build variant 16MB = 1MB firmware, +1MB OTA, 14MB filesystem (WEMOS D1 Mini pro, Ledunia (=32MB)) -;board_build.ldscript = eagle.flash.16m14m.ld +;board = esp8266_1M +; Build variant 2MB = 1MB firmware, 1MB filesystem (most Shelly devices) +;board = esp8266_2M1M +; Build variant 4MB = 1MB firmware, 3MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) +;board = esp8266_4M3M +; Build variant 4MB = 1MB firmware, 1MB OTA, 2MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) +;board = esp8266_4M2M ; set CPU frequency to 80MHz (default) or 160MHz ;board_build.f_cpu = 160000000L @@ -209,11 +209,11 @@ lib_ignore = NimBLE-Arduino Micro-RTSP -; *** EXPERIMENTAL Tasmota version for Arduino ESP32 IDF4.4. Linking not working. +; *** EXPERIMENTAL Tasmota version for ESP32 IDF4.4. [env:tasmota32idf4] extends = env:tasmota32_base platform = https://github.com/Jason2866/platform-espressif32.git#feature/arduino-idf-v4.4 -platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/arduino-esp32/releases/download/esp32-2.0.0-pre/esp32-2.0.0-pre.zip +platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz platformio/tool-mklittlefs @ ~1.203.200522 build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} diff --git a/tasmota/xdrv_98_file_settings_demo.ino b/tasmota/xdrv_98_file_settings_demo.ino index 5f9beb7ff..88e121f78 100644 --- a/tasmota/xdrv_98_file_settings_demo.ino +++ b/tasmota/xdrv_98_file_settings_demo.ino @@ -26,7 +26,7 @@ * * To test this file: * - Have hardware with at least 2M flash - * - Enable a build.ldscript with at least 256k filesystem in platform_override.ini + * - Enable a board with at least 256k filesystem in platform_override.ini * - Enable define USE_UFILESYS in user_config_override.h \*********************************************************************************************/ #warning **** USE_DRV_FILE_DEMO is enabled **** From fe035eea4710209fc7b81fb5c5f896426ffbd808 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun, 18 Apr 2021 11:55:16 +0200 Subject: [PATCH 26/68] remove redundant --- platformio.ini | 3 +-- platformio_tasmota32.ini | 1 - platformio_tasmota_env.ini | 3 +-- platformio_tasmota_env32.ini | 1 - 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/platformio.ini b/platformio.ini index 97e8fe901..53d49d864 100644 --- a/platformio.ini +++ b/platformio.ini @@ -28,7 +28,7 @@ extra_configs = platformio_tasmota32.ini framework = arduino board_build.filesystem = littlefs custom_unpack_dir = unpacked_littlefs -board_build.flash_mode = dout +board = esp8266_1M platform = ${core.platform} platform_packages = ${core.platform_packages} build_unflags = ${core.build_unflags} @@ -86,7 +86,6 @@ build_flags = -DCORE_DEBUG_LEVEL=0 [esp82xx_defaults] -board = esp8266_1M build_flags = ${esp_defaults.build_flags} -DNDEBUG -DFP_IN_IROM diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 0391e8c85..798e12be9 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -11,7 +11,6 @@ board = esp32dev board_build.filesystem = ${common.board_build.filesystem} custom_unpack_dir = ${common.custom_unpack_dir} board_build.partitions = esp32_partition_app1856k_spiffs320k.csv -board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_flash = ${common.board_build.f_flash} board_build.f_cpu = ${common.board_build.f_cpu} monitor_speed = 115200 diff --git a/platformio_tasmota_env.ini b/platformio_tasmota_env.ini index c0b3e7294..ce3b07144 100644 --- a/platformio_tasmota_env.ini +++ b/platformio_tasmota_env.ini @@ -2,9 +2,8 @@ platform = ${common.platform} platform_packages = ${common.platform_packages} framework = ${common.framework} -board = ${esp82xx_defaults.board} +board = ${common.board} board_build.filesystem = ${common.board_build.filesystem} -board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_flash = ${common.board_build.f_flash} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini index 3a44b2675..5fcce4ee5 100644 --- a/platformio_tasmota_env32.ini +++ b/platformio_tasmota_env32.ini @@ -4,7 +4,6 @@ platform = ${common32.platform} platform_packages = ${common32.platform_packages} board = ${common32.board} board_build.partitions = ${common32.board_build.partitions} -board_build.flash_mode = ${common32.board_build.flash_mode} board_build.f_flash = ${common32.board_build.f_flash} board_build.f_cpu = ${common32.board_build.f_cpu} monitor_speed = ${common32.monitor_speed} From ae0eeaeed6cd34ffd07fb86d6d7f7f9f7ae3a0b1 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun, 18 Apr 2021 12:21:13 +0200 Subject: [PATCH 27/68] remove 3M SPIFFS variant --- platformio_override_sample.ini | 2 -- 1 file changed, 2 deletions(-) diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index a674fad2d..90eded0e6 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -58,8 +58,6 @@ build_flags = ${core.build_flags} ;board = esp8266_1M ; Build variant 2MB = 1MB firmware, 1MB filesystem (most Shelly devices) ;board = esp8266_2M1M -; Build variant 4MB = 1MB firmware, 3MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) -;board = esp8266_4M3M ; Build variant 4MB = 1MB firmware, 1MB OTA, 2MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) ;board = esp8266_4M2M From f6c9f7da07f521671785751e0491d704502fd889 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun, 18 Apr 2021 12:55:00 +0200 Subject: [PATCH 28/68] Remove compile hints since there is no user attention necessary for flash mode settings (all in Platformio setup). And for some ESP32 other flash modes are used. There is not only 1M linker script since a while. Zbbridge is using a different. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 8105a2f53..9ca644637 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,6 @@ Download one of the released binaries from https://github.com/arendst/Tasmota/re ## Important User Compilation Information If you want to compile Tasmota yourself keep in mind the following: -- Only Flash Mode **DOUT** is supported. Do not use Flash Mode DIO / QIO / QOUT as it might seem to brick your device. -- Tasmota uses a 1M linker script WITHOUT spiffs **1M (no SPIFFS)** for optimal code space. - To make compile time changes to Tasmota use the `user_config_override.h` file. It assures keeping your custom settings when you download and compile a new version. You have to make a copy from the provided `user_config_override_sample.h` file and add your setting overrides. ## Configuration Information From 017be9eda35fbad3d04669cc06570a5e4d907679 Mon Sep 17 00:00:00 2001 From: araczkowski Date: Sun, 18 Apr 2021 14:08:51 +0200 Subject: [PATCH 29/68] PL translations update --- tasmota/language/pl_PL.h | 108 +++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 354fb9df4..2fbd2516b 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -256,7 +256,7 @@ #define D_CONFIGURATION "Konfiguracja" #define D_INFORMATION "Informacje" #define D_FIRMWARE_UPGRADE "Aktualizacja oprogramowania" -#define D_MANAGEMENT "Consoles" +#define D_MANAGEMENT "Konsole" #define D_CONSOLE "Konsola" #define D_CONFIRM_RESTART "Potwierdź restart" @@ -292,18 +292,18 @@ #define D_WPA_PSK "WPA PSK" #define D_WPA2_PSK "WPA2 PSK" #define D_AP1_SSID "Nazwa" -#define D_AP1_SSID_HELP "Type or Select your WiFi Network" +#define D_AP1_SSID_HELP "Wpisz lub wybierz swoją sieć WiFi" #define D_AP2_SSID "Nazwa 2" -#define D_AP2_SSID_HELP "Type your Alternative WiFi Network" +#define D_AP2_SSID_HELP "Wpisz alternatywną sieć WiFi" #define D_AP_PASSWORD "Hasło" -#define D_AP_PASSWORD_HELP "Enter your WiFi Password" -#define D_SELECT_YOUR_WIFI_NETWORK "Select your WiFi Network" -#define D_SHOW_MORE_WIFI_NETWORKS "Scan for all WiFi Networks" -#define D_SHOW_MORE_OPTIONS "More Options" -#define D_CHECK_CREDENTIALS "Please, check your credentials" -#define D_SUCCESSFUL_WIFI_CONNECTION "Successful WiFi Connection" -#define D_NOW_YOU_CAN_CLOSE_THIS_WINDOW "Now you can close this window" -#define D_REDIRECTING_TO_NEW_IP "Redirecting to new device's IP address" +#define D_AP_PASSWORD_HELP "Wprowadź swoje hasło WiFi" +#define D_SELECT_YOUR_WIFI_NETWORK "Wybierz swoją sieć WiFi" +#define D_SHOW_MORE_WIFI_NETWORKS "Wyszukaj wszystkie sieci WiFi" +#define D_SHOW_MORE_OPTIONS "Więcej opcji" +#define D_CHECK_CREDENTIALS "Sprawdź swoje dane uwierzytelniające" +#define D_SUCCESSFUL_WIFI_CONNECTION "Pomyślne połączenie WiFi" +#define D_NOW_YOU_CAN_CLOSE_THIS_WINDOW "Teraz możesz zamknąć to okno" +#define D_REDIRECTING_TO_NEW_IP "Przekierowanie na adres IP nowego urządzenia" #define D_MQTT_PARAMETERS "Parametry MQTT" #define D_CLIENT "Klient" @@ -597,8 +597,8 @@ #define D_SpL1L2L3 "Prąd średni" // xsns_86_tfminiplus.ino -#define D_SIGNALSTRENGTH "Signal Strength" -#define D_CHIPTEMPERATURE "Chip Temperature" +#define D_SIGNALSTRENGTH "Siła sygnału" +#define D_CHIPTEMPERATURE "Temperatura Chipa" // tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box #define D_SENSOR_NONE "Brak" @@ -709,7 +709,7 @@ #define D_SENSOR_ARIRFSEL "ALux IrSel" #define D_SENSOR_TXD "Serial Tx" #define D_SENSOR_RXD "Serial Rx" -#define D_SENSOR_ROTARY "Rotary" // Suffix "1A" +#define D_SENSOR_ROTARY "Obroty" // Suffix "1A" #define D_SENSOR_HRE_CLOCK "HRE Zegar" #define D_SENSOR_HRE_DATA "HRE Dane" #define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ" @@ -819,8 +819,8 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" -#define D_SENSOR_HALLEFFECT "HallEffect" -#define D_SENSOR_EPD_DATA "EPD Data" +#define D_SENSOR_HALLEFFECT "Efekt Halla" +#define D_SENSOR_EPD_DATA "EPD Dane" // Units #define D_UNIT_AMPERE "A" @@ -868,13 +868,13 @@ #define D_UNIT_WATTHOUR "Wh" #define D_UNIT_WATT_METER_QUADRAT "W/m²" -#define D_NEW_ADDRESS "Setting address to" -#define D_OUT_OF_RANGE "Out of Range" -#define D_SENSOR_DETECTED "detected" +#define D_NEW_ADDRESS "Ustawiam adres na" +#define D_OUT_OF_RANGE "Poza zakresem" +#define D_SENSOR_DETECTED "wykryto" //SDM220, SDM120, SDM72, LE01MR -#define D_EXPORT_POWER "Export Power" -#define D_IMPORT_POWER "Import Power" +#define D_EXPORT_POWER "Moc Eksportowana" +#define D_IMPORT_POWER "Moc Inportowana" #define D_PHASE_ANGLE "Przesunięcie faz" #define D_IMPORT_ACTIVE "Czynna pobrana" #define D_EXPORT_ACTIVE "Czynna oddana" @@ -882,7 +882,7 @@ #define D_EXPORT_REACTIVE "Bierna oddana" #define D_TOTAL_REACTIVE "Bierna całkowita" #define D_UNIT_KWARH "kVArh" -#define D_UNIT_ANGLE "Deg" +#define D_UNIT_ANGLE "Stopni" #define D_TOTAL_ACTIVE "Całkowita czynna" //SOLAXX1 @@ -926,9 +926,9 @@ #define D_MANAGE_FILE_SYSTEM "Menadżer plików" #define D_FS_SIZE "Rozmiar" #define D_FS_FREE "Wolne" -#define D_NEW_FILE "newfile.txt" -#define D_CREATE_NEW_FILE "Create and edit new file" -#define D_EDIT_FILE "Edit File" +#define D_NEW_FILE "nowyplik.txt" +#define D_CREATE_NEW_FILE "Utwórz i edytuj nowy plik" +#define D_EDIT_FILE "Edytuj Plik" //xsns_67_as3935.ino #define D_AS3935_GAIN "wejście:" @@ -969,38 +969,38 @@ #define D_MAX_CURRENT "Moc aktualna" // xsns_79_as608.ino -#define D_FP_ENROLL_PLACEFINGER "Place finger" -#define D_FP_ENROLL_REMOVEFINGER "Remove finger" -#define D_FP_ENROLL_PLACESAMEFINGER "Place same finger again" -#define D_FP_ENROLL_RETRY "Error so retry" +#define D_FP_ENROLL_PLACEFINGER "Umieść palec" +#define D_FP_ENROLL_REMOVEFINGER "Zabierz palec" +#define D_FP_ENROLL_PLACESAMEFINGER "Ponownie umieść ten sam palec" +#define D_FP_ENROLL_RETRY "Błąd, spróbuj ponownie" #define D_FP_ENROLL_RESTART "Restart" -#define D_FP_ENROLL_ERROR "Error" +#define D_FP_ENROLL_ERROR "Błąd" #define D_FP_ENROLL_RESET "Reset" -#define D_FP_ENROLL_ACTIVE "Active" -#define D_FP_ENROLL_INACTIVE "Inactive" +#define D_FP_ENROLL_ACTIVE "Aktywny" +#define D_FP_ENROLL_INACTIVE "Nieaktywny" // Indexed by Adafruit_Fingerprint.h defines -#define D_FP_PACKETRECIEVEERR "Comms error" // 0x01 Error when receiving data package +#define D_FP_PACKETRECIEVEERR "Błąd komunikacji" // 0x01 Error when receiving data package #define D_FP_NOFINGER "" // 0x02 No finger on the sensor -#define D_FP_IMAGEFAIL "Imaging error" // 0x03 Failed to enroll the finger -#define D_FP_IMAGEMESS "Image too messy" // 0x06 Failed to generate character file due to overly disorderly fingerprint image -#define D_FP_FEATUREFAIL "Fingerprint too small" // 0x07 Failed to generate character file due to the lack of character point or small fingerprint image -#define D_FP_NOMATCH "No match" // 0x08 Finger doesn't match -#define D_FP_NOTFOUND "Did not find a match" // 0x09 Failed to find matching finger -#define D_FP_ENROLLMISMATCH "Fingerprint did not match" // 0x0A Failed to combine the character files -#define D_FP_BADLOCATION "Bad location" // 0x0B Addressed PageID is beyond the finger library -#define D_FP_DBRANGEFAIL "DB range error" // 0x0C Error when reading template from library or invalid template -#define D_FP_UPLOADFEATUREFAIL "Upload feature error" // 0x0D Error when uploading template -#define D_FP_PACKETRESPONSEFAIL "Packet response error" // 0x0E Module failed to receive the following data packages -#define D_FP_UPLOADFAIL "Upload error" // 0x0F Error when uploading image -#define D_FP_DELETEFAIL "Delete error" // 0x10 Failed to delete the template -#define D_FP_DBCLEARFAIL "DB Clear error" // 0x11 Failed to clear finger library -#define D_FP_PASSFAIL "Password error" // 0x13 Find whether the fingerprint passed or failed -#define D_FP_INVALIDIMAGE "Image invalid" // 0x15 Failed to generate image because of lac of valid primary image -#define D_FP_FLASHERR "Flash write error" // 0x18 Error when writing flash -#define D_FP_INVALIDREG "Invalid number" // 0x1A Invalid register number -#define D_FP_ADDRCODE "Address code" // 0x20 Address code -#define D_FP_PASSVERIFY "Password verified" // 0x21 Verify the fingerprint passed -#define D_FP_UNKNOWNERROR "Error" // Any other error +#define D_FP_IMAGEFAIL "Błąd obrazu" // 0x03 Failed to enroll the finger +#define D_FP_IMAGEMESS "Obraz zbyt zamazany" // 0x06 Failed to generate character file due to overly disorderly fingerprint image +#define D_FP_FEATUREFAIL "Zbyt mały odcisk palca" // 0x07 Failed to generate character file due to the lack of character point or small fingerprint image +#define D_FP_NOMATCH "Brak dopasowania" // 0x08 Finger doesn't match +#define D_FP_NOTFOUND "Nie znalazłem dopasowania" // 0x09 Failed to find matching finger +#define D_FP_ENROLLMISMATCH "Odcisk palca nie pasuje" // 0x0A Failed to combine the character files +#define D_FP_BADLOCATION "Zła lokalizacja" // 0x0B Addressed PageID is beyond the finger library +#define D_FP_DBRANGEFAIL "Błąd zakresu DB" // 0x0C Error when reading template from library or invalid template +#define D_FP_UPLOADFEATUREFAIL "Błąd funkcji przesyłania" // 0x0D Error when uploading template +#define D_FP_PACKETRESPONSEFAIL "Błędny pakiet odpowiedzi" // 0x0E Module failed to receive the following data packages +#define D_FP_UPLOADFAIL "Błąd przesyłania" // 0x0F Error when uploading image +#define D_FP_DELETEFAIL "Błąd usuwania" // 0x10 Failed to delete the template +#define D_FP_DBCLEARFAIL "Błąd czyszczenia DB" // 0x11 Failed to clear finger library +#define D_FP_PASSFAIL "Błąd uwierzytelniania" // 0x13 Find whether the fingerprint passed or failed +#define D_FP_INVALIDIMAGE "Obraz jest nieprawidłowy" // 0x15 Failed to generate image because of lac of valid primary image +#define D_FP_FLASHERR "Błąd zapisu Flash" // 0x18 Error when writing flash +#define D_FP_INVALIDREG "Nieprawidłowy numer" // 0x1A Invalid register number +#define D_FP_ADDRCODE "Adres kodu" // 0x20 Address code +#define D_FP_PASSVERIFY "Zweryfikowano poprawnie" // 0x21 Verify the fingerprint passed +#define D_FP_UNKNOWNERROR "Błąd" // Any other error // xsns_83_neopool.ino #define D_NEOPOOL_MACH_NONE "NeoPool" // Machine names @@ -1052,6 +1052,6 @@ #define D_NEOPOOL_FLOW2 "FL2" #define D_NEOPOOL_PH_HIGH "too high" // ph Alarms #define D_NEOPOOL_PH_LOW "too low" -#define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" +#define D_NEOPOOL_PUMP_TIME_EXCEEDED "czas pompowania przekroczony" #endif // _LANGUAGE_PL_PL_D_H_ From 862c1caeda19656cffc2e310e59ed2952c81f9fb Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sun, 18 Apr 2021 16:03:30 +0200 Subject: [PATCH 30/68] Restore README for ESP8285 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9ca644637..51e81f2c0 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,8 @@ Download one of the released binaries from https://github.com/arendst/Tasmota/re ## Important User Compilation Information If you want to compile Tasmota yourself keep in mind the following: +- For ESP8285 based devices only Flash Mode **DOUT** is supported. Do not use Flash Mode DIO / QIO / QOUT as it might seem to brick your device. +- For ESP8285 based devices Tasmota uses a 1M linker script WITHOUT spiffs **1M (no SPIFFS)** for optimal code space. - To make compile time changes to Tasmota use the `user_config_override.h` file. It assures keeping your custom settings when you download and compile a new version. You have to make a copy from the provided `user_config_override_sample.h` file and add your setting overrides. ## Configuration Information From 9fa9f1ab016453e0114975f0f28a413489dcd305 Mon Sep 17 00:00:00 2001 From: Barbudor Date: Sun, 18 Apr 2021 23:02:08 +0200 Subject: [PATCH 31/68] demo of PWM 100% problem on ESP32 --- tasmota/xdrv_04_light.ino | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tasmota/xdrv_04_light.ino b/tasmota/xdrv_04_light.ino index f41ace288..503e4c2dc 100644 --- a/tasmota/xdrv_04_light.ino +++ b/tasmota/xdrv_04_light.ino @@ -122,7 +122,7 @@ \*********************************************************************************************/ #define XDRV_04 4 -// #define DEBUG_LIGHT + #define DEBUG_LIGHT enum LightSchemes { LS_POWER, LS_WAKEUP, LS_CYCLEUP, LS_CYCLEDN, LS_RANDOM, LS_MAX }; @@ -1967,7 +1967,12 @@ void LightSetOutputs(const uint16_t *cur_col_10) { cur_col = cur_col > 0 ? changeUIntScale(cur_col, 0, Settings.pwm_range, Light.pwm_min, Light.pwm_max) : 0; // shrink to the range of pwm_min..pwm_max } if (!Settings.flag4.zerocross_dimmer) { - analogWrite(Pin(GPIO_PWM1, i), bitRead(TasmotaGlobal.pwm_inverted, i) ? Settings.pwm_range - cur_col : cur_col); + uint16_t pwm = bitRead(TasmotaGlobal.pwm_inverted, i) ? Settings.pwm_range - cur_col : cur_col; + #ifdef ESP32 + if (pwm = Settings.pwm_range) pwm = Settings.pwm_range+1; // ESP32 full PWM is 1024 (1023 on ESP8266) + #endif + //AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("LIT: PWM%d = %d"), i, pwm); + analogWrite(Pin(GPIO_PWM1, i), pwm); } #ifdef USE_PWM_DIMMER // Animate brightness LEDs to follow PWM dimmer brightness From 24a39f38a04dfb2c47dc8f610399ea841ded8abe Mon Sep 17 00:00:00 2001 From: Barbudor Date: Sun, 18 Apr 2021 23:15:25 +0200 Subject: [PATCH 32/68] comment back DEBUG_LIGHT --- tasmota/xdrv_04_light.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/xdrv_04_light.ino b/tasmota/xdrv_04_light.ino index 503e4c2dc..702cc353e 100644 --- a/tasmota/xdrv_04_light.ino +++ b/tasmota/xdrv_04_light.ino @@ -122,7 +122,7 @@ \*********************************************************************************************/ #define XDRV_04 4 - #define DEBUG_LIGHT +// #define DEBUG_LIGHT enum LightSchemes { LS_POWER, LS_WAKEUP, LS_CYCLEUP, LS_CYCLEDN, LS_RANDOM, LS_MAX }; From bd60b9b602df74834744d1b63710dbcbd869daa2 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Mon, 19 Apr 2021 08:40:11 +0200 Subject: [PATCH 33/68] Add LVGL 7.11 support with Berry binding (ESP32 only) --- CHANGELOG.md | 1 + lib/libesp32/Berry/Makefile | 102 + lib/libesp32/Berry/README.md | 163 + .../Berry/default/be_lv_extern_libs.h | 1023 ++ .../Berry/default/be_lv_lvgl_module.c | 1165 ++ .../Berry/default/be_lvgl_color_lib.c | 46 + lib/libesp32/Berry/default/be_lvgl_font_lib.c | 45 + .../Berry/default/be_lvgl_widgets_lib.c | 4171 +++++ lib/libesp32/Berry/default/be_modtab.c | 24 +- lib/libesp32/Berry/default/berry_conf.h | 11 +- lib/libesp32/Berry/generate/be_const_strtab.h | 1975 ++- .../Berry/generate/be_const_strtab_def.h | 2948 +++- .../Berry/generate/be_fixed_be_class_lv_arc.h | 42 + .../Berry/generate/be_fixed_be_class_lv_bar.h | 31 + .../Berry/generate/be_fixed_be_class_lv_btn.h | 34 + .../generate/be_fixed_be_class_lv_btnmatrix.h | 39 + .../generate/be_fixed_be_class_lv_calendar.h | 27 + .../generate/be_fixed_be_class_lv_canvas.h | 35 + .../generate/be_fixed_be_class_lv_chart.h | 53 + .../generate/be_fixed_be_class_lv_checkbox.h | 29 + .../generate/be_fixed_be_class_lv_color.h | 19 + .../generate/be_fixed_be_class_lv_cont.h | 29 + .../generate/be_fixed_be_class_lv_cpicker.h | 37 + .../generate/be_fixed_be_class_lv_dropdown.h | 41 + .../generate/be_fixed_be_class_lv_font.h | 19 + .../generate/be_fixed_be_class_lv_gauge.h | 40 + .../generate/be_fixed_be_class_lv_group.h | 39 + .../Berry/generate/be_fixed_be_class_lv_img.h | 38 + .../generate/be_fixed_be_class_lv_imgbtn.h | 26 + .../generate/be_fixed_be_class_lv_keyboard.h | 28 + .../generate/be_fixed_be_class_lv_label.h | 42 + .../Berry/generate/be_fixed_be_class_lv_led.h | 25 + .../generate/be_fixed_be_class_lv_line.h | 25 + .../generate/be_fixed_be_class_lv_linemeter.h | 33 + .../generate/be_fixed_be_class_lv_list.h | 45 + .../generate/be_fixed_be_class_lv_msgbox.h | 33 + .../Berry/generate/be_fixed_be_class_lv_obj.h | 307 + .../generate/be_fixed_be_class_lv_objmask.h | 22 + .../generate/be_fixed_be_class_lv_page.h | 52 + .../generate/be_fixed_be_class_lv_roller.h | 33 + .../generate/be_fixed_be_class_lv_slider.h | 32 + .../generate/be_fixed_be_class_lv_spinbox.h | 33 + .../generate/be_fixed_be_class_lv_spinner.h | 29 + .../generate/be_fixed_be_class_lv_style.h | 119 + .../generate/be_fixed_be_class_lv_switch.h | 26 + .../generate/be_fixed_be_class_lv_table.h | 38 + .../generate/be_fixed_be_class_lv_tabview.h | 31 + .../generate/be_fixed_be_class_lv_textarea.h | 63 + .../generate/be_fixed_be_class_lv_tileview.h | 28 + .../Berry/generate/be_fixed_be_class_lv_win.h | 47 + lib/libesp32/Berry/generate/be_fixed_lvgl.h | 472 + lib/libesp32/Berry/library.json | 3 +- lib/libesp32/Berry/src/be_api.c | 6 + lib/libesp32/Berry/src/be_constobj.h | 5 + lib/libesp32/Berry/src/be_solidifylib.c | 2 +- lib/libesp32/Berry/src/berry.h | 2 + lib/libesp32/Berry/src/berry_conf.h | 2 +- .../Berry/tools/coc/block_builder.cpp | 6 + .../Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.cpp | 447 + .../Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.h | 59 + lib/libesp32_lvgl/Adafruit_LvGL_Glue/Doxyfile | 2458 +++ .../Adafruit_LvGL_Glue/README.md | 50 + .../Adafruit_LvGL_Glue/code-of-conduct.md | 127 + .../examples/hello_changes/hello_changes.ino | 88 + .../examples/hello_clue/.clue.test.only | 0 .../examples/hello_clue/hello_clue.ino | 58 + .../hello_featherwing/.cpx_ada.test.skip | 0 .../hello_featherwing/hello_featherwing.ino | 74 + .../examples/hello_gizmo/.cpb.test.only | 0 .../examples/hello_gizmo/hello_gizmo.ino | 57 + .../hello_pyportal/.pyportal.test.only | 0 .../hello_pyportal/hello_pyportal.ino | 74 + .../examples/widgets_clue/.clue.test.only | 0 .../examples/widgets_clue/widgets_clue.ino | 203 + .../widgets_featherwing/.cpx_ada.test.skip | 0 .../widgets_featherwing.ino | 261 + .../examples/widgets_gizmo/.cpb.test.only | 0 .../examples/widgets_gizmo/widgets_gizmo.ino | 225 + .../widgets_pyportal/.pyportal.test.only | 0 .../widgets_pyportal/widgets_pyportal.ino | 255 + .../Adafruit_LvGL_Glue/library.properties | 10 + .../Adafruit_LvGL_Glue/license.txt | 26 + .../Adafruit_STMPE610/Adafruit_STMPE610.cpp | 388 + .../Adafruit_STMPE610/Adafruit_STMPE610.h | 183 + lib/libesp32_lvgl/Adafruit_STMPE610/LICENSE | 21 + lib/libesp32_lvgl/Adafruit_STMPE610/README.md | 20 + .../Adafruit_STMPE610/assets/board.jpg | Bin 0 -> 283978 bytes .../Adafruit_STMPE610/code-of-conduct.md | 127 + .../examples/TouchTest/TouchTest.ino | 81 + .../Adafruit_STMPE610/library.properties | 9 + .../Adafruit_TouchScreen/README.md | 26 + .../Adafruit_TouchScreen/TouchScreen.cpp | 291 + .../Adafruit_TouchScreen/TouchScreen.h | 79 + .../Adafruit_TouchScreen/code-of-conduct.md | 127 + .../touchscreendemo/.esp8266.test.skip | 0 .../touchscreendemo/touchscreendemo.ino | 35 + .../touchscreendemoshield/.esp8266.test.skip | 0 .../touchscreendemoshield.ino | 37 + .../Adafruit_TouchScreen/library.properties | 9 + .../Adafruit_TouchScreen/license.txt | 26 + lib/libesp32_lvgl/LVGL/CHANGELOG.md | 417 + lib/libesp32_lvgl/LVGL/CMakeLists.txt | 67 + lib/libesp32_lvgl/LVGL/Kconfig | 1222 ++ lib/libesp32_lvgl/LVGL/LICENCE.txt | 8 + lib/libesp32_lvgl/LVGL/README.md | 161 + lib/libesp32_lvgl/LVGL/component.mk | 23 + .../LVGL/docs/CODE_OF_CONDUCT.md | 46 + lib/libesp32_lvgl/LVGL/docs/CODING_STYLE.md | 89 + lib/libesp32_lvgl/LVGL/docs/CONTRIBUTING.md | 5 + lib/libesp32_lvgl/LVGL/docs/ROADMAP.md | 63 + .../LVGL/examples/LVGL_Arduino.ino | 102 + .../examples/porting/lv_port_disp_template.c | 196 + .../examples/porting/lv_port_disp_template.h | 43 + .../examples/porting/lv_port_fs_template.c | 377 + .../examples/porting/lv_port_fs_template.h | 43 + .../examples/porting/lv_port_indev_template.c | 423 + .../examples/porting/lv_port_indev_template.h | 44 + lib/libesp32_lvgl/LVGL/library.json | 20 + lib/libesp32_lvgl/LVGL/lvgl.h | 151 + lib/libesp32_lvgl/LVGL/scripts/Doxyfile | 2455 +++ .../LVGL/scripts/built_in_font/DejaVuSans.ttf | Bin 0 -> 756072 bytes .../FontAwesome5-Solid+Brands+Regular.woff | Bin 0 -> 353228 bytes .../built_in_font/Montserrat-Medium.ttf | Bin 0 -> 243180 bytes .../LVGL/scripts/built_in_font/SimSun.woff | Bin 0 -> 4801180 bytes .../built_in_font/built_in_font_gen.py | 59 + .../scripts/built_in_font/generate_all.py | 103 + .../LVGL/scripts/code-format.cfg | 49 + lib/libesp32_lvgl/LVGL/scripts/code-format.sh | 1 + .../LVGL/scripts/cppcheck_run.sh | 1 + lib/libesp32_lvgl/LVGL/scripts/infer_run.sh | 9 + .../LVGL/scripts/lv_conf_checker.py | 145 + lib/libesp32_lvgl/LVGL/scripts/release/com.py | 110 + lib/libesp32_lvgl/LVGL/scripts/release/dev.py | 72 + .../LVGL/scripts/release/main.py | 65 + .../LVGL/scripts/release/proj.py | 62 + .../LVGL/scripts/release/release.py | 173 + lib/libesp32_lvgl/LVGL/src/lv_api_map.h | 232 + lib/libesp32_lvgl/LVGL/src/lv_conf_internal.h | 2028 +++ lib/libesp32_lvgl/LVGL/src/lv_conf_kconfig.h | 420 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_core.mk | 11 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_disp.c | 420 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_disp.h | 226 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_group.c | 531 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_group.h | 241 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_indev.c | 1579 ++ lib/libesp32_lvgl/LVGL/src/lv_core/lv_indev.h | 183 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_obj.c | 4834 ++++++ lib/libesp32_lvgl/LVGL/src/lv_core/lv_obj.h | 1528 ++ .../LVGL/src/lv_core/lv_obj_style_dec.h | 283 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_refr.c | 953 ++ lib/libesp32_lvgl/LVGL/src/lv_core/lv_refr.h | 103 + lib/libesp32_lvgl/LVGL/src/lv_core/lv_style.c | 1134 ++ lib/libesp32_lvgl/LVGL/src/lv_core/lv_style.h | 632 + lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw.h | 59 + lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw.mk | 16 + .../LVGL/src/lv_draw/lv_draw_arc.c | 421 + .../LVGL/src/lv_draw/lv_draw_arc.h | 52 + .../LVGL/src/lv_draw/lv_draw_blend.c | 1103 ++ .../LVGL/src/lv_draw/lv_draw_blend.h | 58 + .../LVGL/src/lv_draw/lv_draw_img.c | 662 + .../LVGL/src/lv_draw/lv_draw_img.h | 96 + .../LVGL/src/lv_draw/lv_draw_label.c | 853 + .../LVGL/src/lv_draw/lv_draw_label.h | 103 + .../LVGL/src/lv_draw/lv_draw_line.c | 478 + .../LVGL/src/lv_draw/lv_draw_line.h | 64 + .../LVGL/src/lv_draw/lv_draw_mask.c | 1232 ++ .../LVGL/src/lv_draw/lv_draw_mask.h | 302 + .../LVGL/src/lv_draw/lv_draw_rect.c | 1533 ++ .../LVGL/src/lv_draw/lv_draw_rect.h | 116 + .../LVGL/src/lv_draw/lv_draw_triangle.c | 201 + .../LVGL/src/lv_draw/lv_draw_triangle.h | 56 + .../LVGL/src/lv_draw/lv_img_buf.c | 682 + .../LVGL/src/lv_draw/lv_img_buf.h | 390 + .../LVGL/src/lv_draw/lv_img_cache.c | 217 + .../LVGL/src/lv_draw/lv_img_cache.h | 77 + .../LVGL/src/lv_draw/lv_img_decoder.c | 767 + .../LVGL/src/lv_draw/lv_img_decoder.h | 270 + lib/libesp32_lvgl/LVGL/src/lv_font/lv_font.c | 85 + lib/libesp32_lvgl/LVGL/src/lv_font/lv_font.h | 244 + lib/libesp32_lvgl/LVGL/src/lv_font/lv_font.mk | 36 + .../lv_font_dejavu_16_persian_hebrew.c | 6547 ++++++++ .../LVGL/src/lv_font/lv_font_fmt_txt.c | 582 + .../LVGL/src/lv_font/lv_font_fmt_txt.h | 235 + .../LVGL/src/lv_font/lv_font_loader.c | 684 + .../LVGL/src/lv_font/lv_font_loader.h | 44 + .../LVGL/src/lv_font/lv_font_montserrat_10.c | 1615 ++ .../LVGL/src/lv_font/lv_font_montserrat_12.c | 1874 +++ .../src/lv_font/lv_font_montserrat_12_subpx.c | 1874 +++ .../LVGL/src/lv_font/lv_font_montserrat_14.c | 2143 +++ .../LVGL/src/lv_font/lv_font_montserrat_16.c | 2406 +++ .../LVGL/src/lv_font/lv_font_montserrat_18.c | 2795 ++++ .../LVGL/src/lv_font/lv_font_montserrat_20.c | 3141 ++++ .../LVGL/src/lv_font/lv_font_montserrat_22.c | 3558 ++++ .../LVGL/src/lv_font/lv_font_montserrat_24.c | 3959 +++++ .../LVGL/src/lv_font/lv_font_montserrat_26.c | 4479 +++++ .../LVGL/src/lv_font/lv_font_montserrat_28.c | 5013 ++++++ .../lv_font_montserrat_28_compressed.c | 3203 ++++ .../LVGL/src/lv_font/lv_font_montserrat_30.c | 5579 +++++++ .../LVGL/src/lv_font/lv_font_montserrat_32.c | 6056 +++++++ .../LVGL/src/lv_font/lv_font_montserrat_34.c | 6833 ++++++++ .../LVGL/src/lv_font/lv_font_montserrat_36.c | 7460 +++++++++ .../LVGL/src/lv_font/lv_font_montserrat_38.c | 8183 ++++++++++ .../LVGL/src/lv_font/lv_font_montserrat_40.c | 9015 ++++++++++ .../LVGL/src/lv_font/lv_font_montserrat_42.c | 9833 +++++++++++ .../LVGL/src/lv_font/lv_font_montserrat_44.c | 10633 ++++++++++++ .../LVGL/src/lv_font/lv_font_montserrat_46.c | 11562 +++++++++++++ .../LVGL/src/lv_font/lv_font_montserrat_48.c | 12244 ++++++++++++++ .../LVGL/src/lv_font/lv_font_montserrat_8.c | 1407 ++ .../LVGL/src/lv_font/lv_font_simsun_16_cjk.c | 13598 ++++++++++++++++ .../LVGL/src/lv_font/lv_font_unscii_16.c | 627 + .../LVGL/src/lv_font/lv_font_unscii_8.c | 463 + .../LVGL/src/lv_font/lv_symbol_def.h | 160 + lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu.mk | 6 + .../LVGL/src/lv_gpu/lv_gpu_nxp_pxp.c | 476 + .../LVGL/src/lv_gpu/lv_gpu_nxp_pxp.h | 182 + .../LVGL/src/lv_gpu/lv_gpu_nxp_pxp_osa.c | 165 + .../LVGL/src/lv_gpu/lv_gpu_nxp_pxp_osa.h | 47 + .../LVGL/src/lv_gpu/lv_gpu_nxp_vglite.c | 299 + .../LVGL/src/lv_gpu/lv_gpu_nxp_vglite.h | 133 + .../LVGL/src/lv_gpu/lv_gpu_stm32_dma2d.c | 261 + .../LVGL/src/lv_gpu/lv_gpu_stm32_dma2d.h | 109 + lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal.h | 40 + lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal.mk | 8 + .../LVGL/src/lv_hal/lv_hal_disp.c | 474 + .../LVGL/src/lv_hal/lv_hal_disp.h | 374 + .../LVGL/src/lv_hal/lv_hal_indev.c | 162 + .../LVGL/src/lv_hal/lv_hal_indev.h | 231 + .../LVGL/src/lv_hal/lv_hal_tick.c | 100 + .../LVGL/src/lv_hal/lv_hal_tick.h | 67 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_anim.c | 532 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_anim.h | 433 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_area.c | 409 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_area.h | 211 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_async.c | 78 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_async.h | 55 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_bidi.c | 661 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_bidi.h | 119 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_color.c | 263 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_color.h | 641 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_debug.c | 138 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_debug.h | 131 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_fs.c | 664 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_fs.h | 293 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_gc.c | 49 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_gc.h | 80 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_ll.c | 423 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_ll.h | 168 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_log.c | 98 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_log.h | 124 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_math.c | 260 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_math.h | 130 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_mem.c | 832 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_mem.h | 262 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_misc.mk | 22 + .../LVGL/src/lv_misc/lv_printf.c | 874 + .../LVGL/src/lv_misc/lv_printf.h | 67 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_task.c | 415 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_task.h | 183 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_templ.c | 40 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_templ.h | 37 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_txt.c | 912 ++ lib/libesp32_lvgl/LVGL/src/lv_misc/lv_txt.h | 216 + .../LVGL/src/lv_misc/lv_txt_ap.c | 273 + .../LVGL/src/lv_misc/lv_txt_ap.h | 60 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_types.h | 87 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_utils.c | 119 + lib/libesp32_lvgl/LVGL/src/lv_misc/lv_utils.h | 66 + .../LVGL/src/lv_themes/lv_theme.c | 473 + .../LVGL/src/lv_themes/lv_theme.h | 275 + .../LVGL/src/lv_themes/lv_theme_empty.c | 103 + .../LVGL/src/lv_themes/lv_theme_empty.h | 56 + .../LVGL/src/lv_themes/lv_theme_material.c | 1380 ++ .../LVGL/src/lv_themes/lv_theme_material.h | 62 + .../LVGL/src/lv_themes/lv_theme_mono.c | 1009 ++ .../LVGL/src/lv_themes/lv_theme_mono.h | 56 + .../LVGL/src/lv_themes/lv_theme_template.c | 838 + .../LVGL/src/lv_themes/lv_theme_template.h | 56 + .../LVGL/src/lv_themes/lv_themes.mk | 11 + .../LVGL/src/lv_widgets/lv_arc.c | 1120 ++ .../LVGL/src/lv_widgets/lv_arc.h | 266 + .../LVGL/src/lv_widgets/lv_bar.c | 797 + .../LVGL/src/lv_widgets/lv_bar.h | 199 + .../LVGL/src/lv_widgets/lv_btn.c | 319 + .../LVGL/src/lv_widgets/lv_btn.h | 228 + .../LVGL/src/lv_widgets/lv_btnmatrix.c | 1305 ++ .../LVGL/src/lv_widgets/lv_btnmatrix.h | 265 + .../LVGL/src/lv_widgets/lv_calendar.c | 1084 ++ .../LVGL/src/lv_widgets/lv_calendar.h | 208 + .../LVGL/src/lv_widgets/lv_canvas.c | 1235 ++ .../LVGL/src/lv_widgets/lv_canvas.h | 270 + .../LVGL/src/lv_widgets/lv_chart.c | 1859 +++ .../LVGL/src/lv_widgets/lv_chart.h | 465 + .../LVGL/src/lv_widgets/lv_checkbox.c | 291 + .../LVGL/src/lv_widgets/lv_checkbox.h | 160 + .../LVGL/src/lv_widgets/lv_cont.c | 817 + .../LVGL/src/lv_widgets/lv_cont.h | 222 + .../LVGL/src/lv_widgets/lv_cpicker.c | 1037 ++ .../LVGL/src/lv_widgets/lv_cpicker.h | 226 + .../LVGL/src/lv_widgets/lv_dropdown.c | 1347 ++ .../LVGL/src/lv_widgets/lv_dropdown.h | 260 + .../LVGL/src/lv_widgets/lv_gauge.c | 673 + .../LVGL/src/lv_widgets/lv_gauge.h | 275 + .../LVGL/src/lv_widgets/lv_img.c | 887 + .../LVGL/src/lv_widgets/lv_img.h | 218 + .../LVGL/src/lv_widgets/lv_imgbtn.c | 571 + .../LVGL/src/lv_widgets/lv_imgbtn.h | 198 + .../LVGL/src/lv_widgets/lv_keyboard.c | 534 + .../LVGL/src/lv_widgets/lv_keyboard.h | 183 + .../LVGL/src/lv_widgets/lv_label.c | 1541 ++ .../LVGL/src/lv_widgets/lv_label.h | 308 + .../LVGL/src/lv_widgets/lv_led.c | 244 + .../LVGL/src/lv_widgets/lv_led.h | 97 + .../LVGL/src/lv_widgets/lv_line.c | 293 + .../LVGL/src/lv_widgets/lv_line.h | 118 + .../LVGL/src/lv_widgets/lv_linemeter.c | 555 + .../LVGL/src/lv_widgets/lv_linemeter.h | 169 + .../LVGL/src/lv_widgets/lv_list.c | 932 ++ .../LVGL/src/lv_widgets/lv_list.h | 311 + .../LVGL/src/lv_widgets/lv_msgbox.c | 637 + .../LVGL/src/lv_widgets/lv_msgbox.h | 195 + .../LVGL/src/lv_widgets/lv_objmask.c | 365 + .../LVGL/src/lv_widgets/lv_objmask.h | 111 + .../LVGL/src/lv_widgets/lv_objx_templ.c | 238 + .../LVGL/src/lv_widgets/lv_objx_templ.h | 103 + .../LVGL/src/lv_widgets/lv_page.c | 1397 ++ .../LVGL/src/lv_widgets/lv_page.h | 426 + .../LVGL/src/lv_widgets/lv_roller.c | 1037 ++ .../LVGL/src/lv_widgets/lv_roller.h | 194 + .../LVGL/src/lv_widgets/lv_slider.c | 533 + .../LVGL/src/lv_widgets/lv_slider.h | 221 + .../LVGL/src/lv_widgets/lv_spinbox.c | 593 + .../LVGL/src/lv_widgets/lv_spinbox.h | 188 + .../LVGL/src/lv_widgets/lv_spinner.c | 326 + .../LVGL/src/lv_widgets/lv_spinner.h | 180 + .../LVGL/src/lv_widgets/lv_switch.c | 355 + .../LVGL/src/lv_widgets/lv_switch.h | 137 + .../LVGL/src/lv_widgets/lv_table.c | 1191 ++ .../LVGL/src/lv_widgets/lv_table.h | 276 + .../LVGL/src/lv_widgets/lv_tabview.c | 1031 ++ .../LVGL/src/lv_widgets/lv_tabview.h | 192 + .../LVGL/src/lv_widgets/lv_textarea.c | 1924 +++ .../LVGL/src/lv_widgets/lv_textarea.h | 450 + .../LVGL/src/lv_widgets/lv_tileview.c | 474 + .../LVGL/src/lv_widgets/lv_tileview.h | 164 + .../LVGL/src/lv_widgets/lv_widgets.mk | 38 + .../LVGL/src/lv_widgets/lv_win.c | 855 + .../LVGL/src/lv_widgets/lv_win.h | 313 + lib/libesp32_lvgl/LVGL/src/lvgl.h | 39 + lib/libesp32_lvgl/LVGL/tests/Makefile | 59 + lib/libesp32_lvgl/LVGL/tests/build.py | 375 + lib/libesp32_lvgl/LVGL/tests/font_1.fnt | Bin 0 -> 6876 bytes lib/libesp32_lvgl/LVGL/tests/font_2.fnt | Bin 0 -> 7252 bytes lib/libesp32_lvgl/LVGL/tests/font_3.fnt | Bin 0 -> 4892 bytes lib/libesp32_lvgl/LVGL/tests/icon.png | Bin 0 -> 2739 bytes lib/libesp32_lvgl/LVGL/tests/icon2.png | Bin 0 -> 1853 bytes lib/libesp32_lvgl/LVGL/tests/lv_test_assert.c | 376 + lib/libesp32_lvgl/LVGL/tests/lv_test_assert.h | 53 + lib/libesp32_lvgl/LVGL/tests/lv_test_conf.h | 50 + .../LVGL/tests/lv_test_core/lv_test_core.c | 56 + .../LVGL/tests/lv_test_core/lv_test_core.h | 38 + .../tests/lv_test_core/lv_test_font_loader.c | 223 + .../tests/lv_test_core/lv_test_font_loader.h | 38 + .../LVGL/tests/lv_test_core/lv_test_obj.c | 88 + .../LVGL/tests/lv_test_core/lv_test_obj.h | 38 + .../LVGL/tests/lv_test_core/lv_test_style.c | 624 + .../LVGL/tests/lv_test_core/lv_test_style.h | 38 + .../LVGL/tests/lv_test_fonts/font_1.c | 1378 ++ .../LVGL/tests/lv_test_fonts/font_2.c | 1408 ++ .../LVGL/tests/lv_test_fonts/font_3.c | 946 ++ lib/libesp32_lvgl/LVGL/tests/lv_test_main.c | 145 + .../lv_test_img32_label_1.png | Bin 0 -> 2533 bytes .../tests/lv_test_widgets/lv_test_label.c | 69 + .../tests/lv_test_widgets/lv_test_label.h | 38 + lib/libesp32_lvgl/LVGL/zephyr/module.yml | 2 + lib/libesp32_lvgl/LVGL_drivers/library.json | 14 + .../LVGL_drivers/src/uDisplay_lvgl.cpp | 1581 ++ .../LVGL_drivers/src/uDisplay_lvgl.h | 189 + lib/libesp32_lvgl/lv_conf.h | 6 + platformio_override_sample.ini | 2 + platformio_tasmota32.ini | 1 + tasmota/berry/berry_tasmota_config.h | 4 + tasmota/berry/convert.py | 372 + tasmota/berry/gpio.be | 2 +- tasmota/berry/lvgl_demo_M5stack_black.be | 219 + tasmota/berry/lvgl_internal.be | 87 + tasmota/i18n.h | 1 + tasmota/lvgl_berry/be_lv_c_mapping.h | 1174 ++ tasmota/lvgl_berry/be_lv_defines.h | 107 + tasmota/lvgl_berry/tasmota_logo_64.h | 110 + .../lvgl_berry/tasmota_logo_64_truecolor.h | 277 + .../tasmota_logo_64_truecolor_alpha.h | 277 + tasmota/lvgl_berry/tasmota_lv_conf.h | 780 + tasmota/my_user_config.h | 5 + tasmota/tasmota_template.h | 2 +- tasmota/xdrv_52_2_berry_native.ino | 120 + tasmota/xdrv_52_3_berry_lvlg.ino | 518 + tasmota/xdrv_52_7_berry_embedded.ino | 17 + tasmota/xdrv_54_lvgl.ino | 364 + tools/lv_berry/convert.py | 879 + tools/lv_berry/lv_module.h | 598 + tools/lv_berry/lv_symbols.h | 61 + tools/lv_berry/lv_widgets.h | 1121 ++ 402 files changed, 268059 insertions(+), 911 deletions(-) create mode 100644 lib/libesp32/Berry/Makefile create mode 100644 lib/libesp32/Berry/README.md create mode 100644 lib/libesp32/Berry/default/be_lv_extern_libs.h create mode 100644 lib/libesp32/Berry/default/be_lv_lvgl_module.c create mode 100644 lib/libesp32/Berry/default/be_lvgl_color_lib.c create mode 100644 lib/libesp32/Berry/default/be_lvgl_font_lib.c create mode 100644 lib/libesp32/Berry/default/be_lvgl_widgets_lib.c create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_lvgl.h create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.cpp create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.h create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/Doxyfile create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/README.md create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/code-of-conduct.md create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_changes/hello_changes.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_clue/.clue.test.only create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_clue/hello_clue.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_featherwing/.cpx_ada.test.skip create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_featherwing/hello_featherwing.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_gizmo/.cpb.test.only create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_gizmo/hello_gizmo.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_pyportal/.pyportal.test.only create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/hello_pyportal/hello_pyportal.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/widgets_clue/.clue.test.only create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/widgets_clue/widgets_clue.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/widgets_featherwing/.cpx_ada.test.skip create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/widgets_featherwing/widgets_featherwing.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/widgets_gizmo/.cpb.test.only create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/widgets_gizmo/widgets_gizmo.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/widgets_pyportal/.pyportal.test.only create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/examples/widgets_pyportal/widgets_pyportal.ino create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/library.properties create mode 100644 lib/libesp32_lvgl/Adafruit_LvGL_Glue/license.txt create mode 100644 lib/libesp32_lvgl/Adafruit_STMPE610/Adafruit_STMPE610.cpp create mode 100644 lib/libesp32_lvgl/Adafruit_STMPE610/Adafruit_STMPE610.h create mode 100644 lib/libesp32_lvgl/Adafruit_STMPE610/LICENSE create mode 100644 lib/libesp32_lvgl/Adafruit_STMPE610/README.md create mode 100644 lib/libesp32_lvgl/Adafruit_STMPE610/assets/board.jpg create mode 100644 lib/libesp32_lvgl/Adafruit_STMPE610/code-of-conduct.md create mode 100644 lib/libesp32_lvgl/Adafruit_STMPE610/examples/TouchTest/TouchTest.ino create mode 100644 lib/libesp32_lvgl/Adafruit_STMPE610/library.properties create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/README.md create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/TouchScreen.cpp create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/TouchScreen.h create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/code-of-conduct.md create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/examples/touchscreendemo/.esp8266.test.skip create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/examples/touchscreendemo/touchscreendemo.ino create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/examples/touchscreendemoshield/.esp8266.test.skip create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/examples/touchscreendemoshield/touchscreendemoshield.ino create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/library.properties create mode 100644 lib/libesp32_lvgl/Adafruit_TouchScreen/license.txt create mode 100644 lib/libesp32_lvgl/LVGL/CHANGELOG.md create mode 100644 lib/libesp32_lvgl/LVGL/CMakeLists.txt create mode 100644 lib/libesp32_lvgl/LVGL/Kconfig create mode 100644 lib/libesp32_lvgl/LVGL/LICENCE.txt create mode 100644 lib/libesp32_lvgl/LVGL/README.md create mode 100644 lib/libesp32_lvgl/LVGL/component.mk create mode 100644 lib/libesp32_lvgl/LVGL/docs/CODE_OF_CONDUCT.md create mode 100644 lib/libesp32_lvgl/LVGL/docs/CODING_STYLE.md create mode 100644 lib/libesp32_lvgl/LVGL/docs/CONTRIBUTING.md create mode 100644 lib/libesp32_lvgl/LVGL/docs/ROADMAP.md create mode 100644 lib/libesp32_lvgl/LVGL/examples/LVGL_Arduino.ino create mode 100644 lib/libesp32_lvgl/LVGL/examples/porting/lv_port_disp_template.c create mode 100644 lib/libesp32_lvgl/LVGL/examples/porting/lv_port_disp_template.h create mode 100644 lib/libesp32_lvgl/LVGL/examples/porting/lv_port_fs_template.c create mode 100644 lib/libesp32_lvgl/LVGL/examples/porting/lv_port_fs_template.h create mode 100644 lib/libesp32_lvgl/LVGL/examples/porting/lv_port_indev_template.c create mode 100644 lib/libesp32_lvgl/LVGL/examples/porting/lv_port_indev_template.h create mode 100644 lib/libesp32_lvgl/LVGL/library.json create mode 100644 lib/libesp32_lvgl/LVGL/lvgl.h create mode 100644 lib/libesp32_lvgl/LVGL/scripts/Doxyfile create mode 100644 lib/libesp32_lvgl/LVGL/scripts/built_in_font/DejaVuSans.ttf create mode 100644 lib/libesp32_lvgl/LVGL/scripts/built_in_font/FontAwesome5-Solid+Brands+Regular.woff create mode 100644 lib/libesp32_lvgl/LVGL/scripts/built_in_font/Montserrat-Medium.ttf create mode 100644 lib/libesp32_lvgl/LVGL/scripts/built_in_font/SimSun.woff create mode 100755 lib/libesp32_lvgl/LVGL/scripts/built_in_font/built_in_font_gen.py create mode 100755 lib/libesp32_lvgl/LVGL/scripts/built_in_font/generate_all.py create mode 100644 lib/libesp32_lvgl/LVGL/scripts/code-format.cfg create mode 100755 lib/libesp32_lvgl/LVGL/scripts/code-format.sh create mode 100755 lib/libesp32_lvgl/LVGL/scripts/cppcheck_run.sh create mode 100755 lib/libesp32_lvgl/LVGL/scripts/infer_run.sh create mode 100755 lib/libesp32_lvgl/LVGL/scripts/lv_conf_checker.py create mode 100755 lib/libesp32_lvgl/LVGL/scripts/release/com.py create mode 100755 lib/libesp32_lvgl/LVGL/scripts/release/dev.py create mode 100755 lib/libesp32_lvgl/LVGL/scripts/release/main.py create mode 100755 lib/libesp32_lvgl/LVGL/scripts/release/proj.py create mode 100755 lib/libesp32_lvgl/LVGL/scripts/release/release.py create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_api_map.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_conf_internal.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_conf_kconfig.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_core.mk create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_disp.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_disp.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_group.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_group.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_indev.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_indev.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_obj.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_obj.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_obj_style_dec.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_refr.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_refr.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_style.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_core/lv_style.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw.mk create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_arc.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_arc.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_blend.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_blend.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_img.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_img.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_label.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_label.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_line.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_line.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_mask.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_mask.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_rect.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_rect.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_triangle.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_draw_triangle.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_img_buf.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_img_buf.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_img_cache.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_img_cache.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_img_decoder.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_draw/lv_img_decoder.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font.mk create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_dejavu_16_persian_hebrew.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_fmt_txt.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_fmt_txt.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_loader.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_loader.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_10.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_12.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_12_subpx.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_14.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_16.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_18.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_20.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_22.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_24.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_26.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_28.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_28_compressed.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_30.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_32.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_34.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_36.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_38.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_40.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_42.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_44.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_46.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_48.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_montserrat_8.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_simsun_16_cjk.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_unscii_16.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_font_unscii_8.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_font/lv_symbol_def.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu.mk create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu_nxp_pxp.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu_nxp_pxp.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu_nxp_pxp_osa.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu_nxp_pxp_osa.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu_nxp_vglite.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu_nxp_vglite.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu_stm32_dma2d.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_gpu/lv_gpu_stm32_dma2d.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal.mk create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal_disp.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal_disp.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal_indev.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal_indev.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal_tick.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_hal/lv_hal_tick.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_anim.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_anim.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_area.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_area.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_async.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_async.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_bidi.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_bidi.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_color.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_color.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_debug.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_debug.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_fs.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_fs.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_gc.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_gc.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_ll.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_ll.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_log.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_log.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_math.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_math.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_mem.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_mem.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_misc.mk create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_printf.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_printf.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_task.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_task.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_templ.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_templ.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_txt.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_txt.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_txt_ap.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_txt_ap.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_types.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_utils.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_misc/lv_utils.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme_empty.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme_empty.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme_material.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme_material.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme_mono.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme_mono.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme_template.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_theme_template.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_themes/lv_themes.mk create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_arc.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_arc.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_bar.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_bar.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_btn.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_btn.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_btnmatrix.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_btnmatrix.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_calendar.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_calendar.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_canvas.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_canvas.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_chart.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_chart.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_checkbox.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_checkbox.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_cont.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_cont.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_cpicker.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_cpicker.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_dropdown.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_dropdown.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_gauge.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_gauge.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_img.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_img.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_imgbtn.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_imgbtn.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_keyboard.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_keyboard.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_label.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_label.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_led.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_led.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_line.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_line.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_linemeter.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_linemeter.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_list.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_list.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_msgbox.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_msgbox.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_objmask.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_objmask.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_objx_templ.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_objx_templ.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_page.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_page.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_roller.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_roller.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_slider.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_slider.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_spinbox.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_spinbox.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_spinner.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_spinner.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_switch.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_switch.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_table.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_table.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_tabview.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_tabview.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_textarea.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_textarea.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_tileview.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_tileview.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_widgets.mk create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_win.c create mode 100644 lib/libesp32_lvgl/LVGL/src/lv_widgets/lv_win.h create mode 100644 lib/libesp32_lvgl/LVGL/src/lvgl.h create mode 100644 lib/libesp32_lvgl/LVGL/tests/Makefile create mode 100755 lib/libesp32_lvgl/LVGL/tests/build.py create mode 100644 lib/libesp32_lvgl/LVGL/tests/font_1.fnt create mode 100644 lib/libesp32_lvgl/LVGL/tests/font_2.fnt create mode 100644 lib/libesp32_lvgl/LVGL/tests/font_3.fnt create mode 100644 lib/libesp32_lvgl/LVGL/tests/icon.png create mode 100644 lib/libesp32_lvgl/LVGL/tests/icon2.png create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_assert.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_assert.h create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_conf.h create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_core/lv_test_core.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_core/lv_test_core.h create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_core/lv_test_font_loader.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_core/lv_test_font_loader.h create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_core/lv_test_obj.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_core/lv_test_obj.h create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_core/lv_test_style.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_core/lv_test_style.h create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_fonts/font_1.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_fonts/font_2.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_fonts/font_3.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_main.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_ref_imgs/lv_test_img32_label_1.png create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_widgets/lv_test_label.c create mode 100644 lib/libesp32_lvgl/LVGL/tests/lv_test_widgets/lv_test_label.h create mode 100644 lib/libesp32_lvgl/LVGL/zephyr/module.yml create mode 100644 lib/libesp32_lvgl/LVGL_drivers/library.json create mode 100644 lib/libesp32_lvgl/LVGL_drivers/src/uDisplay_lvgl.cpp create mode 100644 lib/libesp32_lvgl/LVGL_drivers/src/uDisplay_lvgl.h create mode 100644 lib/libesp32_lvgl/lv_conf.h create mode 100644 tasmota/berry/berry_tasmota_config.h create mode 100644 tasmota/berry/convert.py create mode 100644 tasmota/berry/lvgl_demo_M5stack_black.be create mode 100644 tasmota/berry/lvgl_internal.be create mode 100644 tasmota/lvgl_berry/be_lv_c_mapping.h create mode 100644 tasmota/lvgl_berry/be_lv_defines.h create mode 100644 tasmota/lvgl_berry/tasmota_logo_64.h create mode 100644 tasmota/lvgl_berry/tasmota_logo_64_truecolor.h create mode 100644 tasmota/lvgl_berry/tasmota_logo_64_truecolor_alpha.h create mode 100644 tasmota/lvgl_berry/tasmota_lv_conf.h create mode 100644 tasmota/xdrv_52_3_berry_lvlg.ino create mode 100644 tasmota/xdrv_54_lvgl.ino create mode 100644 tools/lv_berry/convert.py create mode 100644 tools/lv_berry/lv_module.h create mode 100644 tools/lv_berry/lv_symbols.h create mode 100644 tools/lv_berry/lv_widgets.h diff --git a/CHANGELOG.md b/CHANGELOG.md index 87cfc3f1d..4b65721f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. ### Added - Optional GUI file editor enabled with define ``GUI_EDIT_FILE`` by barbudor (#11668) - Initial support for universal display driver UDisplay by Gerhard Mutz. Enable by selecting any GPIO as ``Option A3`` (#11665) +- Add LVGL 7.11 support with Berry binding (ESP32 only) ### Breaking Changed - ESP32 partition layout changed to accomodate more file space on most and more code space on core2 and odroid-go (#11746) diff --git a/lib/libesp32/Berry/Makefile b/lib/libesp32/Berry/Makefile new file mode 100644 index 000000000..531661bc2 --- /dev/null +++ b/lib/libesp32/Berry/Makefile @@ -0,0 +1,102 @@ +CFLAGS = -Wall -Wextra -std=c99 -pedantic-errors -O2 +LIBS = -lm +TARGET = berry +CC ?= gcc +MKDIR = mkdir +LFLAGS = + +INCPATH = src default +SRCPATH = src default +GENERATE = generate +CONFIG = default/berry_conf.h +COC = tools/coc/coc +CONST_TAB = $(GENERATE)/be_const_strtab.h +MAKE_COC = $(MAKE) -C tools/coc + +ifeq ($(OS), Windows_NT) # Windows + CFLAGS += -Wno-format # for "%I64d" warning + LFLAGS += -Wl,--out-implib,berry.lib # export symbols lib for dll linked + TARGET := $(TARGET).exe + COC := $(COC).exe +else + CFLAGS += -DUSE_READLINE_LIB + LIBS += -lreadline -ldl + OS := $(shell uname) + ifeq ($(OS), Linux) + LFLAGS += -Wl,--export-dynamic + endif +endif + +ifneq ($(V), 1) + Q=@ + MSG=@echo + MAKE_COC += -s Q=$(Q) +else + MSG=@true +endif + +ifeq ($(TEST), 1) + CFLAGS += -fprofile-arcs -ftest-coverage + LFLAGS += -fprofile-arcs -ftest-coverage +endif + +SRCS = $(foreach dir, $(SRCPATH), $(wildcard $(dir)/*.c)) +OBJS = $(patsubst %.c, %.o, $(SRCS)) +DEPS = $(patsubst %.c, %.d, $(SRCS)) +INCFLAGS = $(foreach dir, $(INCPATH), -I"$(dir)") + +.PHONY : clean + +all: $(TARGET) + +debug: CFLAGS += -O0 -g -DBE_DEBUG +debug: all + +test: CFLAGS += --coverage +test: LFLAGS += --coverage +test: all + $(MSG) [Run Testcases...] + $(Q) ./testall.be + $(Q) $(RM) */*.gcno */*.gcda + +$(TARGET): $(OBJS) + $(MSG) [Linking...] + $(Q) $(CC) $(OBJS) $(LFLAGS) $(LIBS) -o $@ + $(MSG) done + +$(OBJS): %.o: %.c + $(MSG) [Compile] $< + $(Q) $(CC) -MM $(CFLAGS) $(INCFLAGS) -MT"$*.d" -MT"$(<:.c=.o)" $< > $*.d + $(Q) $(CC) $(CFLAGS) $(INCFLAGS) -c $< -o $@ + +sinclude $(DEPS) + +$(OBJS): $(CONST_TAB) + +$(CONST_TAB): $(COC) $(GENERATE) $(SRCS) $(CONFIG) + $(MSG) [Prebuild] generate resources + $(Q) $(COC) -i $(SRCPATH) -c $(CONFIG) -o $(GENERATE) + +$(GENERATE): + $(Q) $(MKDIR) $(GENERATE) + +$(COC): + $(MSG) [Make] coc + $(Q) $(MAKE_COC) + +install: + cp $(TARGET) /usr/local/bin + +uninstall: + $(RM) /usr/local/bin/$(TARGET) + +prebuild: $(COC) $(GENERATE) + $(MSG) [Prebuild] generate resources + $(Q) $(COC) -o $(GENERATE) $(SRCPATH) -c $(CONFIG) + $(MSG) done + +clean: + $(MSG) [Clean...] + $(Q) $(RM) $(OBJS) $(DEPS) $(GENERATE)/* berry.lib + $(Q) $(MAKE_COC) clean + $(MSG) done diff --git a/lib/libesp32/Berry/README.md b/lib/libesp32/Berry/README.md new file mode 100644 index 000000000..6d02dcd38 --- /dev/null +++ b/lib/libesp32/Berry/README.md @@ -0,0 +1,163 @@ +

+

+ Berry +

+

The Berry Script Language.

+

+ +## Introduction + +Berry is a ultra-lightweight dynamically typed embedded scripting language. It is designed for lower-performance embedded devices. The Berry interpreter-core's code size is less than 40KiB and can run on less than 4KiB heap (on ARM Cortex M4 CPU, Thumb ISA and ARMCC compiler). + +The interpreter of Berry include a one-pass compiler and register-based VM, all the code is written in ANSI C99. In Berry not every type is a class object. Some simple value types, such as int, real, boolean and string are not class object, but list, map and range are class object. This is a consideration about performance. +Register-based VM is the same meaning as above. + +Berry has the following advantages: + +* Lightweight: A well-optimized interpreter with very little resources. Ideal for use in microprocessors. +* Fast: optimized one-pass bytecode compiler and register-based virtual machine. +* Powerful: supports imperative programming, object-oriented programming, functional programming. +* Flexible: Berry is a dynamic type script, and it's intended for embedding in applications. It can provide good dynamic scalability for the host system. +* Simple: simple and natural syntax, support garbage collection, and easy to use FFI (foreign function interface). +* RAM saving: With compile-time object construction, most of the constant objects are stored in read-only code data segments, so the RAM usage of the interpreter is very low when it starts. + +## Documents + +LaTeX documents repository: [https://github.com/Skiars/berry_doc](https://github.com/Skiars/berry_doc) + +Short Manual: [berry_short_manual.pdf](https://github.com/Skiars/berry_doc/releases/download/latest/berry_short_manual.pdf). + +Reference Manual: [berry_rm_en_us.pdf](https://github.com/Skiars/berry_doc/releases/download/latest/berry_rm_en_us.pdf), [berry_rm_zh_cn.pdf](https://github.com/Skiars/berry_doc/releases/download/latest/berry_rm_zh_cn.pdf). + +Berry's EBNF grammar definition: [tools/grammar/berry.ebnf](./tools/grammar/berry.ebnf) + +## Features + +* Base Type + * Nil: `nil` + * Boolean: `true` and `false` + * Numerical: Integer (`int`) and Real (`real`) + * String: Single quotation-mark string and double quotation-mark string + * Class: Instance template, read only + * Instance: Object constructed by class + * Module: Read-write key-value pair table + * List: Ordered container, like `[1, 2, 3]` + * Map: Hash Map container, like `{ 'a': 1, 2: 3, 'map': {} }` + * Range: include a lower and a upper integer value, like `0..5` +* Operator and Expression + * Assign operator: `=`, `+=`, `-=`, `*=`, `/=`, `%=`, `&=`, `|=`, `^=`, `<<=`, `>>=` + * Relational operator: `<`, `<=`, `==`, `!=`, `>`, `>=` + * Logic operator: `&&`, `||`, `!` + * Arithmetic operator: `+`, `-`, `*`, `/`, `%` + * Bitwise operator: `&`, `|`, `~`, `^`, `<<`, `>>` + * Field operator: `.` + * Subscript operator: `[]` + * Connect string operator: `+` + * Conditional operator: `? :` + * Brackets: `()` +* Control Structure + * Conditional statement: `if-else` + * Iteration statement: `while` and `for` + * Jump statement: `break` and `continue` +* Function + * Local variable and block scope + * Return statement + * Nested functions definition + * Closure based on Upvalue + * Anonymous function + * Lambda expression +* Class + * Inheritance (only public single inheritance) + * Method and Operator Overload + * Constructor method + * Destructive method +* Module Management + * Built-in module that takes almost no RAM + * Extension module support: script module, bytecode file module and shared library (like *.so, *.dll) module +* GC (Garbage collection) + * Mark-Sweep GC +* Exceptional Handling + * Throw any exception value using the `raise` statement + * Multiple catch mode +* Bytecode file support + * Export function to bytecode file + * Load the bytecode file and execute + +## Build and Run + +1. Install the readline library (Windows does not need): + + ``` bash + sudo apt install libreadline-dev # Ubuntu + brew install readline # MacOS + ``` + +2. Build (The default compiler is GCC): + + ``` + make + ``` + +3. Run: + + ``` bash + ./berry # Bash or PowerShell + berry # Windows CMD + ``` + +4. Install (Only Unix-like): + + ``` bash + make install + ``` + +## Editor pulgins + +[Visual Studio Code](https://code.visualstudio.com/) pulgin are in this directory: [./tools/pulgins/vscode](./tools/pulgins/vscode). + +## Examples + +After compiling successfully, use the `berry` command with no parameters to enter the REPL environment: +``` +Berry 0.0.1 (build in Dec 24 2018, 18:12:49) +[GCC 8.2.0] on Linux (default) +> +``` + +Now enter this code: + +``` lua +print("Hello world!") +``` + +You will see this output: + +``` +Hello world! +``` + +You can copy this code to the REPL: + +``` ruby +def fib(x) + if x <= 1 + return x + end + return fib(x - 1) + fib(x - 2) +end +fib(10) +``` + +This example code will output the result `55` and you can save the above code to a plain text file (eg test.be) and run this command: + +``` bash +./berry test.be +``` + +This will also get the correct output. + +## License + +Berry is free software distributed under the [MIT license](./LICENSE). + +The Berry interpreter partly referred to [Lua](http://www.lua.org/)'s design. View Lua's license here: http://www.lua.org/license.html. diff --git a/lib/libesp32/Berry/default/be_lv_extern_libs.h b/lib/libesp32/Berry/default/be_lv_extern_libs.h new file mode 100644 index 000000000..f5d0f55e6 --- /dev/null +++ b/lib/libesp32/Berry/default/be_lv_extern_libs.h @@ -0,0 +1,1023 @@ +/******************************************************************** + * Generated code, don't edit + *******************************************************************/ +/* `lv_style` external functions definitions */ +extern int lvbe_style_init(bvm *vm); +extern int lvbe_style_copy(bvm *vm); +extern int lvbe_style_list_init(bvm *vm); +extern int lvbe_style_list_copy(bvm *vm); +extern int lvbe_style_list_get_style(bvm *vm); +extern int lvbe_style_reset(bvm *vm); +extern int lvbe_style_remove_prop(bvm *vm); +extern int lvbe_style_list_get_local_style(bvm *vm); +extern int lvbe_style_set_radius(bvm *vm); +extern int lvbe_style_set_clip_corner(bvm *vm); +extern int lvbe_style_set_size(bvm *vm); +extern int lvbe_style_set_transform_width(bvm *vm); +extern int lvbe_style_set_transform_height(bvm *vm); +extern int lvbe_style_set_transform_angle(bvm *vm); +extern int lvbe_style_set_transform_zoom(bvm *vm); +extern int lvbe_style_set_opa_scale(bvm *vm); +extern int lvbe_style_set_pad_top(bvm *vm); +extern int lvbe_style_set_pad_bottom(bvm *vm); +extern int lvbe_style_set_pad_left(bvm *vm); +extern int lvbe_style_set_pad_right(bvm *vm); +extern int lvbe_style_set_pad_inner(bvm *vm); +extern int lvbe_style_set_margin_top(bvm *vm); +extern int lvbe_style_set_margin_bottom(bvm *vm); +extern int lvbe_style_set_margin_left(bvm *vm); +extern int lvbe_style_set_margin_right(bvm *vm); +extern int lvbe_style_set_bg_blend_mode(bvm *vm); +extern int lvbe_style_set_bg_main_stop(bvm *vm); +extern int lvbe_style_set_bg_grad_stop(bvm *vm); +extern int lvbe_style_set_bg_grad_dir(bvm *vm); +extern int lvbe_style_set_bg_color(bvm *vm); +extern int lvbe_style_set_bg_grad_color(bvm *vm); +extern int lvbe_style_set_bg_opa(bvm *vm); +extern int lvbe_style_set_border_width(bvm *vm); +extern int lvbe_style_set_border_side(bvm *vm); +extern int lvbe_style_set_border_blend_mode(bvm *vm); +extern int lvbe_style_set_border_post(bvm *vm); +extern int lvbe_style_set_border_color(bvm *vm); +extern int lvbe_style_set_border_opa(bvm *vm); +extern int lvbe_style_set_outline_width(bvm *vm); +extern int lvbe_style_set_outline_pad(bvm *vm); +extern int lvbe_style_set_outline_blend_mode(bvm *vm); +extern int lvbe_style_set_outline_color(bvm *vm); +extern int lvbe_style_set_outline_opa(bvm *vm); +extern int lvbe_style_set_shadow_width(bvm *vm); +extern int lvbe_style_set_shadow_ofs_x(bvm *vm); +extern int lvbe_style_set_shadow_ofs_y(bvm *vm); +extern int lvbe_style_set_shadow_spread(bvm *vm); +extern int lvbe_style_set_shadow_blend_mode(bvm *vm); +extern int lvbe_style_set_shadow_color(bvm *vm); +extern int lvbe_style_set_shadow_opa(bvm *vm); +extern int lvbe_style_set_pattern_repeat(bvm *vm); +extern int lvbe_style_set_pattern_blend_mode(bvm *vm); +extern int lvbe_style_set_pattern_recolor(bvm *vm); +extern int lvbe_style_set_pattern_opa(bvm *vm); +extern int lvbe_style_set_pattern_recolor_opa(bvm *vm); +extern int lvbe_style_set_pattern_image(bvm *vm); +extern int lvbe_style_set_value_letter_space(bvm *vm); +extern int lvbe_style_set_value_line_space(bvm *vm); +extern int lvbe_style_set_value_blend_mode(bvm *vm); +extern int lvbe_style_set_value_ofs_x(bvm *vm); +extern int lvbe_style_set_value_ofs_y(bvm *vm); +extern int lvbe_style_set_value_align(bvm *vm); +extern int lvbe_style_set_value_color(bvm *vm); +extern int lvbe_style_set_value_opa(bvm *vm); +extern int lvbe_style_set_value_font(bvm *vm); +extern int lvbe_style_set_value_str(bvm *vm); +extern int lvbe_style_set_text_letter_space(bvm *vm); +extern int lvbe_style_set_text_line_space(bvm *vm); +extern int lvbe_style_set_text_decor(bvm *vm); +extern int lvbe_style_set_text_blend_mode(bvm *vm); +extern int lvbe_style_set_text_color(bvm *vm); +extern int lvbe_style_set_text_sel_color(bvm *vm); +extern int lvbe_style_set_text_sel_bg_color(bvm *vm); +extern int lvbe_style_set_text_opa(bvm *vm); +extern int lvbe_style_set_text_font(bvm *vm); +extern int lvbe_style_set_line_width(bvm *vm); +extern int lvbe_style_set_line_blend_mode(bvm *vm); +extern int lvbe_style_set_line_dash_width(bvm *vm); +extern int lvbe_style_set_line_dash_gap(bvm *vm); +extern int lvbe_style_set_line_rounded(bvm *vm); +extern int lvbe_style_set_line_color(bvm *vm); +extern int lvbe_style_set_line_opa(bvm *vm); +extern int lvbe_style_set_image_blend_mode(bvm *vm); +extern int lvbe_style_set_image_recolor(bvm *vm); +extern int lvbe_style_set_image_opa(bvm *vm); +extern int lvbe_style_set_image_recolor_opa(bvm *vm); +extern int lvbe_style_set_transition_time(bvm *vm); +extern int lvbe_style_set_transition_delay(bvm *vm); +extern int lvbe_style_set_transition_prop_1(bvm *vm); +extern int lvbe_style_set_transition_prop_2(bvm *vm); +extern int lvbe_style_set_transition_prop_3(bvm *vm); +extern int lvbe_style_set_transition_prop_4(bvm *vm); +extern int lvbe_style_set_transition_prop_5(bvm *vm); +extern int lvbe_style_set_transition_prop_6(bvm *vm); +extern int lvbe_style_set_transition_path(bvm *vm); +extern int lvbe_style_set_scale_width(bvm *vm); +extern int lvbe_style_set_scale_border_width(bvm *vm); +extern int lvbe_style_set_scale_end_border_width(bvm *vm); +extern int lvbe_style_set_scale_end_line_width(bvm *vm); +extern int lvbe_style_set_scale_grad_color(bvm *vm); +extern int lvbe_style_set_scale_end_color(bvm *vm); + +/* `lv_group` external functions definitions */ +extern int lvbe_group_create(bvm *vm); +extern int lvbe_group_del(bvm *vm); +extern int lvbe_group_add_obj(bvm *vm); +extern int lvbe_group_remove_obj(bvm *vm); +extern int lvbe_group_remove_all_objs(bvm *vm); +extern int lvbe_group_focus_obj(bvm *vm); +extern int lvbe_group_focus_next(bvm *vm); +extern int lvbe_group_focus_prev(bvm *vm); +extern int lvbe_group_focus_freeze(bvm *vm); +extern int lvbe_group_send_data(bvm *vm); +extern int lvbe_group_set_focus_cb(bvm *vm); +extern int lvbe_group_set_refocus_policy(bvm *vm); +extern int lvbe_group_set_editing(bvm *vm); +extern int lvbe_group_set_click_focus(bvm *vm); +extern int lvbe_group_set_wrap(bvm *vm); +extern int lvbe_group_get_focused(bvm *vm); +extern int lvbe_group_get_focus_cb(bvm *vm); +extern int lvbe_group_get_editing(bvm *vm); +extern int lvbe_group_get_click_focus(bvm *vm); +extern int lvbe_group_get_wrap(bvm *vm); + +/* `lv_obj` external functions definitions */ +extern int lvbe_obj_create(bvm *vm); +extern int lvbe_obj_del(bvm *vm); +extern int lvbe_obj_del_anim_ready_cb(bvm *vm); +extern int lvbe_obj_del_async(bvm *vm); +extern int lvbe_obj_clean(bvm *vm); +extern int lvbe_obj_invalidate_area(bvm *vm); +extern int lvbe_obj_invalidate(bvm *vm); +extern int lvbe_obj_area_is_visible(bvm *vm); +extern int lvbe_obj_is_visible(bvm *vm); +extern int lvbe_obj_set_parent(bvm *vm); +extern int lvbe_obj_move_foreground(bvm *vm); +extern int lvbe_obj_move_background(bvm *vm); +extern int lvbe_obj_set_pos(bvm *vm); +extern int lvbe_obj_set_x(bvm *vm); +extern int lvbe_obj_set_y(bvm *vm); +extern int lvbe_obj_set_size(bvm *vm); +extern int lvbe_obj_set_width(bvm *vm); +extern int lvbe_obj_set_height(bvm *vm); +extern int lvbe_obj_set_width_fit(bvm *vm); +extern int lvbe_obj_set_height_fit(bvm *vm); +extern int lvbe_obj_set_width_margin(bvm *vm); +extern int lvbe_obj_set_height_margin(bvm *vm); +extern int lvbe_obj_align(bvm *vm); +extern int lvbe_obj_align_x(bvm *vm); +extern int lvbe_obj_align_y(bvm *vm); +extern int lvbe_obj_align_mid(bvm *vm); +extern int lvbe_obj_align_mid_x(bvm *vm); +extern int lvbe_obj_align_mid_y(bvm *vm); +extern int lvbe_obj_realign(bvm *vm); +extern int lvbe_obj_set_auto_realign(bvm *vm); +extern int lvbe_obj_set_ext_click_area(bvm *vm); +extern int lvbe_obj_add_style(bvm *vm); +extern int lvbe_obj_remove_style(bvm *vm); +extern int lvbe_obj_clean_style_list(bvm *vm); +extern int lvbe_obj_reset_style_list(bvm *vm); +extern int lvbe_obj_refresh_style(bvm *vm); +extern int lvbe_obj_report_style_mod(bvm *vm); +extern int lvbe_obj_remove_style_local_prop(bvm *vm); +extern int lvbe_obj_set_hidden(bvm *vm); +extern int lvbe_obj_set_adv_hittest(bvm *vm); +extern int lvbe_obj_set_click(bvm *vm); +extern int lvbe_obj_set_top(bvm *vm); +extern int lvbe_obj_set_drag(bvm *vm); +extern int lvbe_obj_set_drag_dir(bvm *vm); +extern int lvbe_obj_set_drag_throw(bvm *vm); +extern int lvbe_obj_set_drag_parent(bvm *vm); +extern int lvbe_obj_set_focus_parent(bvm *vm); +extern int lvbe_obj_set_gesture_parent(bvm *vm); +extern int lvbe_obj_set_parent_event(bvm *vm); +extern int lvbe_obj_set_base_dir(bvm *vm); +extern int lvbe_obj_add_protect(bvm *vm); +extern int lvbe_obj_clear_protect(bvm *vm); +extern int lvbe_obj_set_state(bvm *vm); +extern int lvbe_obj_add_state(bvm *vm); +extern int lvbe_obj_clear_state(bvm *vm); +extern int lvbe_obj_finish_transitions(bvm *vm); +extern int lvbe_obj_set_event_cb(bvm *vm); +extern int lvbe_obj_set_signal_cb(bvm *vm); +extern int lvbe_obj_set_design_cb(bvm *vm); +extern int lvbe_obj_allocate_ext_attr(bvm *vm); +extern int lvbe_obj_refresh_ext_draw_pad(bvm *vm); +extern int lvbe_obj_get_screen(bvm *vm); +extern int lvbe_obj_get_parent(bvm *vm); +extern int lvbe_obj_get_child(bvm *vm); +extern int lvbe_obj_get_child_back(bvm *vm); +extern int lvbe_obj_count_children(bvm *vm); +extern int lvbe_obj_count_children_recursive(bvm *vm); +extern int lvbe_obj_get_coords(bvm *vm); +extern int lvbe_obj_get_inner_coords(bvm *vm); +extern int lvbe_obj_get_x(bvm *vm); +extern int lvbe_obj_get_y(bvm *vm); +extern int lvbe_obj_get_width(bvm *vm); +extern int lvbe_obj_get_height(bvm *vm); +extern int lvbe_obj_get_width_fit(bvm *vm); +extern int lvbe_obj_get_height_fit(bvm *vm); +extern int lvbe_obj_get_height_margin(bvm *vm); +extern int lvbe_obj_get_width_margin(bvm *vm); +extern int lvbe_obj_get_width_grid(bvm *vm); +extern int lvbe_obj_get_height_grid(bvm *vm); +extern int lvbe_obj_get_auto_realign(bvm *vm); +extern int lvbe_obj_get_ext_click_pad_left(bvm *vm); +extern int lvbe_obj_get_ext_click_pad_right(bvm *vm); +extern int lvbe_obj_get_ext_click_pad_top(bvm *vm); +extern int lvbe_obj_get_ext_click_pad_bottom(bvm *vm); +extern int lvbe_obj_get_ext_draw_pad(bvm *vm); +extern int lvbe_obj_get_local_style(bvm *vm); +extern int lvbe_obj_get_hidden(bvm *vm); +extern int lvbe_obj_get_adv_hittest(bvm *vm); +extern int lvbe_obj_get_click(bvm *vm); +extern int lvbe_obj_get_top(bvm *vm); +extern int lvbe_obj_get_drag(bvm *vm); +extern int lvbe_obj_get_drag_dir(bvm *vm); +extern int lvbe_obj_get_drag_throw(bvm *vm); +extern int lvbe_obj_get_drag_parent(bvm *vm); +extern int lvbe_obj_get_focus_parent(bvm *vm); +extern int lvbe_obj_get_parent_event(bvm *vm); +extern int lvbe_obj_get_gesture_parent(bvm *vm); +extern int lvbe_obj_get_base_dir(bvm *vm); +extern int lvbe_obj_get_protect(bvm *vm); +extern int lvbe_obj_is_protected(bvm *vm); +extern int lvbe_obj_get_state(bvm *vm); +extern int lvbe_obj_is_point_on_coords(bvm *vm); +extern int lvbe_obj_hittest(bvm *vm); +extern int lvbe_obj_get_ext_attr(bvm *vm); +extern int lvbe_obj_get_type(bvm *vm); +extern int lvbe_obj_get_user_data(bvm *vm); +extern int lvbe_obj_set_user_data(bvm *vm); +extern int lvbe_obj_get_group(bvm *vm); +extern int lvbe_obj_is_focused(bvm *vm); +extern int lvbe_obj_get_focused_obj(bvm *vm); +extern int lvbe_obj_handle_get_type_signal(bvm *vm); +extern int lvbe_obj_init_draw_rect_dsc(bvm *vm); +extern int lvbe_obj_init_draw_label_dsc(bvm *vm); +extern int lvbe_obj_init_draw_img_dsc(bvm *vm); +extern int lvbe_obj_init_draw_line_dsc(bvm *vm); +extern int lvbe_obj_get_draw_rect_ext_pad_size(bvm *vm); +extern int lvbe_obj_fade_in(bvm *vm); +extern int lvbe_obj_fade_out(bvm *vm); +extern int lvbe_obj_get_style_radius(bvm *vm); +extern int lvbe_obj_set_style_local_radius(bvm *vm); +extern int lvbe_obj_get_style_clip_corner(bvm *vm); +extern int lvbe_obj_set_style_local_clip_corner(bvm *vm); +extern int lvbe_obj_get_style_size(bvm *vm); +extern int lvbe_obj_set_style_local_size(bvm *vm); +extern int lvbe_obj_get_style_transform_width(bvm *vm); +extern int lvbe_obj_set_style_local_transform_width(bvm *vm); +extern int lvbe_obj_get_style_transform_height(bvm *vm); +extern int lvbe_obj_set_style_local_transform_height(bvm *vm); +extern int lvbe_obj_get_style_transform_angle(bvm *vm); +extern int lvbe_obj_set_style_local_transform_angle(bvm *vm); +extern int lvbe_obj_get_style_transform_zoom(bvm *vm); +extern int lvbe_obj_set_style_local_transform_zoom(bvm *vm); +extern int lvbe_obj_get_style_opa_scale(bvm *vm); +extern int lvbe_obj_set_style_local_opa_scale(bvm *vm); +extern int lvbe_obj_get_style_pad_top(bvm *vm); +extern int lvbe_obj_set_style_local_pad_top(bvm *vm); +extern int lvbe_obj_get_style_pad_bottom(bvm *vm); +extern int lvbe_obj_set_style_local_pad_bottom(bvm *vm); +extern int lvbe_obj_get_style_pad_left(bvm *vm); +extern int lvbe_obj_set_style_local_pad_left(bvm *vm); +extern int lvbe_obj_get_style_pad_right(bvm *vm); +extern int lvbe_obj_set_style_local_pad_right(bvm *vm); +extern int lvbe_obj_get_style_pad_inner(bvm *vm); +extern int lvbe_obj_set_style_local_pad_inner(bvm *vm); +extern int lvbe_obj_get_style_margin_top(bvm *vm); +extern int lvbe_obj_set_style_local_margin_top(bvm *vm); +extern int lvbe_obj_get_style_margin_bottom(bvm *vm); +extern int lvbe_obj_set_style_local_margin_bottom(bvm *vm); +extern int lvbe_obj_get_style_margin_left(bvm *vm); +extern int lvbe_obj_set_style_local_margin_left(bvm *vm); +extern int lvbe_obj_get_style_margin_right(bvm *vm); +extern int lvbe_obj_set_style_local_margin_right(bvm *vm); +extern int lvbe_obj_set_style_local_bg_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_bg_main_stop(bvm *vm); +extern int lvbe_obj_set_style_local_bg_main_stop(bvm *vm); +extern int lvbe_obj_get_style_bg_grad_stop(bvm *vm); +extern int lvbe_obj_set_style_local_bg_grad_stop(bvm *vm); +extern int lvbe_obj_set_style_local_bg_grad_dir(bvm *vm); +extern int lvbe_obj_get_style_bg_color(bvm *vm); +extern int lvbe_obj_set_style_local_bg_color(bvm *vm); +extern int lvbe_obj_get_style_bg_grad_color(bvm *vm); +extern int lvbe_obj_set_style_local_bg_grad_color(bvm *vm); +extern int lvbe_obj_get_style_bg_opa(bvm *vm); +extern int lvbe_obj_set_style_local_bg_opa(bvm *vm); +extern int lvbe_obj_get_style_border_width(bvm *vm); +extern int lvbe_obj_set_style_local_border_width(bvm *vm); +extern int lvbe_obj_set_style_local_border_side(bvm *vm); +extern int lvbe_obj_set_style_local_border_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_border_post(bvm *vm); +extern int lvbe_obj_set_style_local_border_post(bvm *vm); +extern int lvbe_obj_get_style_border_color(bvm *vm); +extern int lvbe_obj_set_style_local_border_color(bvm *vm); +extern int lvbe_obj_get_style_border_opa(bvm *vm); +extern int lvbe_obj_set_style_local_border_opa(bvm *vm); +extern int lvbe_obj_get_style_outline_width(bvm *vm); +extern int lvbe_obj_set_style_local_outline_width(bvm *vm); +extern int lvbe_obj_get_style_outline_pad(bvm *vm); +extern int lvbe_obj_set_style_local_outline_pad(bvm *vm); +extern int lvbe_obj_set_style_local_outline_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_outline_color(bvm *vm); +extern int lvbe_obj_set_style_local_outline_color(bvm *vm); +extern int lvbe_obj_get_style_outline_opa(bvm *vm); +extern int lvbe_obj_set_style_local_outline_opa(bvm *vm); +extern int lvbe_obj_get_style_shadow_width(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_width(bvm *vm); +extern int lvbe_obj_get_style_shadow_ofs_x(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_ofs_x(bvm *vm); +extern int lvbe_obj_get_style_shadow_ofs_y(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_ofs_y(bvm *vm); +extern int lvbe_obj_get_style_shadow_spread(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_spread(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_shadow_color(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_color(bvm *vm); +extern int lvbe_obj_get_style_shadow_opa(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_opa(bvm *vm); +extern int lvbe_obj_get_style_pattern_repeat(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_repeat(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_pattern_recolor(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_recolor(bvm *vm); +extern int lvbe_obj_get_style_pattern_opa(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_opa(bvm *vm); +extern int lvbe_obj_get_style_pattern_recolor_opa(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_recolor_opa(bvm *vm); +extern int lvbe_obj_get_style_pattern_image(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_image(bvm *vm); +extern int lvbe_obj_get_style_value_letter_space(bvm *vm); +extern int lvbe_obj_set_style_local_value_letter_space(bvm *vm); +extern int lvbe_obj_get_style_value_line_space(bvm *vm); +extern int lvbe_obj_set_style_local_value_line_space(bvm *vm); +extern int lvbe_obj_set_style_local_value_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_value_ofs_x(bvm *vm); +extern int lvbe_obj_set_style_local_value_ofs_x(bvm *vm); +extern int lvbe_obj_get_style_value_ofs_y(bvm *vm); +extern int lvbe_obj_set_style_local_value_ofs_y(bvm *vm); +extern int lvbe_obj_set_style_local_value_align(bvm *vm); +extern int lvbe_obj_get_style_value_color(bvm *vm); +extern int lvbe_obj_set_style_local_value_color(bvm *vm); +extern int lvbe_obj_get_style_value_opa(bvm *vm); +extern int lvbe_obj_set_style_local_value_opa(bvm *vm); +extern int lvbe_obj_set_style_local_value_font(bvm *vm); +extern int lvbe_obj_get_style_value_str(bvm *vm); +extern int lvbe_obj_set_style_local_value_str(bvm *vm); +extern int lvbe_obj_get_style_text_letter_space(bvm *vm); +extern int lvbe_obj_set_style_local_text_letter_space(bvm *vm); +extern int lvbe_obj_get_style_text_line_space(bvm *vm); +extern int lvbe_obj_set_style_local_text_line_space(bvm *vm); +extern int lvbe_obj_set_style_local_text_decor(bvm *vm); +extern int lvbe_obj_set_style_local_text_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_text_color(bvm *vm); +extern int lvbe_obj_set_style_local_text_color(bvm *vm); +extern int lvbe_obj_get_style_text_sel_color(bvm *vm); +extern int lvbe_obj_set_style_local_text_sel_color(bvm *vm); +extern int lvbe_obj_get_style_text_sel_bg_color(bvm *vm); +extern int lvbe_obj_set_style_local_text_sel_bg_color(bvm *vm); +extern int lvbe_obj_get_style_text_opa(bvm *vm); +extern int lvbe_obj_set_style_local_text_opa(bvm *vm); +extern int lvbe_obj_set_style_local_text_font(bvm *vm); +extern int lvbe_obj_get_style_line_width(bvm *vm); +extern int lvbe_obj_set_style_local_line_width(bvm *vm); +extern int lvbe_obj_set_style_local_line_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_line_dash_width(bvm *vm); +extern int lvbe_obj_set_style_local_line_dash_width(bvm *vm); +extern int lvbe_obj_get_style_line_dash_gap(bvm *vm); +extern int lvbe_obj_set_style_local_line_dash_gap(bvm *vm); +extern int lvbe_obj_get_style_line_rounded(bvm *vm); +extern int lvbe_obj_set_style_local_line_rounded(bvm *vm); +extern int lvbe_obj_get_style_line_color(bvm *vm); +extern int lvbe_obj_set_style_local_line_color(bvm *vm); +extern int lvbe_obj_get_style_line_opa(bvm *vm); +extern int lvbe_obj_set_style_local_line_opa(bvm *vm); +extern int lvbe_obj_set_style_local_image_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_image_recolor(bvm *vm); +extern int lvbe_obj_set_style_local_image_recolor(bvm *vm); +extern int lvbe_obj_get_style_image_opa(bvm *vm); +extern int lvbe_obj_set_style_local_image_opa(bvm *vm); +extern int lvbe_obj_get_style_image_recolor_opa(bvm *vm); +extern int lvbe_obj_set_style_local_image_recolor_opa(bvm *vm); +extern int lvbe_obj_get_style_transition_time(bvm *vm); +extern int lvbe_obj_set_style_local_transition_time(bvm *vm); +extern int lvbe_obj_get_style_transition_delay(bvm *vm); +extern int lvbe_obj_set_style_local_transition_delay(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_1(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_1(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_2(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_2(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_3(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_3(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_4(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_4(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_5(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_5(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_6(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_6(bvm *vm); +extern int lvbe_obj_set_style_local_transition_path(bvm *vm); +extern int lvbe_obj_get_style_scale_width(bvm *vm); +extern int lvbe_obj_set_style_local_scale_width(bvm *vm); +extern int lvbe_obj_get_style_scale_border_width(bvm *vm); +extern int lvbe_obj_set_style_local_scale_border_width(bvm *vm); +extern int lvbe_obj_get_style_scale_end_border_width(bvm *vm); +extern int lvbe_obj_set_style_local_scale_end_border_width(bvm *vm); +extern int lvbe_obj_get_style_scale_end_line_width(bvm *vm); +extern int lvbe_obj_set_style_local_scale_end_line_width(bvm *vm); +extern int lvbe_obj_get_style_scale_grad_color(bvm *vm); +extern int lvbe_obj_set_style_local_scale_grad_color(bvm *vm); +extern int lvbe_obj_get_style_scale_end_color(bvm *vm); +extern int lvbe_obj_set_style_local_scale_end_color(bvm *vm); + +/* `lv_arc` external functions definitions */ +extern int lvbe_arc_create(bvm *vm); +extern int lvbe_arc_set_start_angle(bvm *vm); +extern int lvbe_arc_set_end_angle(bvm *vm); +extern int lvbe_arc_set_angles(bvm *vm); +extern int lvbe_arc_set_bg_start_angle(bvm *vm); +extern int lvbe_arc_set_bg_end_angle(bvm *vm); +extern int lvbe_arc_set_bg_angles(bvm *vm); +extern int lvbe_arc_set_rotation(bvm *vm); +extern int lvbe_arc_set_type(bvm *vm); +extern int lvbe_arc_set_value(bvm *vm); +extern int lvbe_arc_set_range(bvm *vm); +extern int lvbe_arc_set_chg_rate(bvm *vm); +extern int lvbe_arc_set_adjustable(bvm *vm); +extern int lvbe_arc_get_angle_start(bvm *vm); +extern int lvbe_arc_get_angle_end(bvm *vm); +extern int lvbe_arc_get_bg_angle_start(bvm *vm); +extern int lvbe_arc_get_bg_angle_end(bvm *vm); +extern int lvbe_arc_get_type(bvm *vm); +extern int lvbe_arc_get_value(bvm *vm); +extern int lvbe_arc_get_min_value(bvm *vm); +extern int lvbe_arc_get_max_value(bvm *vm); +extern int lvbe_arc_is_dragged(bvm *vm); +extern int lvbe_arc_get_adjustable(bvm *vm); + +/* `lv_bar` external functions definitions */ +extern int lvbe_bar_create(bvm *vm); +extern int lvbe_bar_set_value(bvm *vm); +extern int lvbe_bar_set_start_value(bvm *vm); +extern int lvbe_bar_set_range(bvm *vm); +extern int lvbe_bar_set_type(bvm *vm); +extern int lvbe_bar_set_anim_time(bvm *vm); +extern int lvbe_bar_get_value(bvm *vm); +extern int lvbe_bar_get_start_value(bvm *vm); +extern int lvbe_bar_get_min_value(bvm *vm); +extern int lvbe_bar_get_max_value(bvm *vm); +extern int lvbe_bar_get_type(bvm *vm); +extern int lvbe_bar_get_anim_time(bvm *vm); + +/* `lv_btn` external functions definitions */ +extern int lvbe_btn_create(bvm *vm); +extern int lvbe_btn_set_checkable(bvm *vm); +extern int lvbe_btn_set_state(bvm *vm); +extern int lvbe_btn_toggle(bvm *vm); +extern int lvbe_btn_set_layout(bvm *vm); +extern int lvbe_btn_set_fit4(bvm *vm); +extern int lvbe_btn_set_fit2(bvm *vm); +extern int lvbe_btn_set_fit(bvm *vm); +extern int lvbe_btn_get_state(bvm *vm); +extern int lvbe_btn_get_checkable(bvm *vm); +extern int lvbe_btn_get_layout(bvm *vm); +extern int lvbe_btn_get_fit_left(bvm *vm); +extern int lvbe_btn_get_fit_right(bvm *vm); +extern int lvbe_btn_get_fit_top(bvm *vm); +extern int lvbe_btn_get_fit_bottom(bvm *vm); + +/* `lv_btnmatrix` external functions definitions */ +extern int lvbe_btnmatrix_create(bvm *vm); +extern int lvbe_btnmatrix_set_map(bvm *vm); +extern int lvbe_btnmatrix_set_ctrl_map(bvm *vm); +extern int lvbe_btnmatrix_set_focused_btn(bvm *vm); +extern int lvbe_btnmatrix_set_recolor(bvm *vm); +extern int lvbe_btnmatrix_set_btn_ctrl(bvm *vm); +extern int lvbe_btnmatrix_clear_btn_ctrl(bvm *vm); +extern int lvbe_btnmatrix_set_btn_ctrl_all(bvm *vm); +extern int lvbe_btnmatrix_clear_btn_ctrl_all(bvm *vm); +extern int lvbe_btnmatrix_set_btn_width(bvm *vm); +extern int lvbe_btnmatrix_set_one_check(bvm *vm); +extern int lvbe_btnmatrix_set_align(bvm *vm); +extern int lvbe_btnmatrix_get_recolor(bvm *vm); +extern int lvbe_btnmatrix_get_active_btn(bvm *vm); +extern int lvbe_btnmatrix_get_active_btn_text(bvm *vm); +extern int lvbe_btnmatrix_get_focused_btn(bvm *vm); +extern int lvbe_btnmatrix_get_btn_text(bvm *vm); +extern int lvbe_btnmatrix_get_btn_ctrl(bvm *vm); +extern int lvbe_btnmatrix_get_one_check(bvm *vm); +extern int lvbe_btnmatrix_get_align(bvm *vm); + +/* `lv_calendar` external functions definitions */ +extern int lvbe_calendar_create(bvm *vm); +extern int lvbe_calendar_set_today_date(bvm *vm); +extern int lvbe_calendar_set_showed_date(bvm *vm); +extern int lvbe_calendar_set_highlighted_dates(bvm *vm); +extern int lvbe_calendar_set_day_names(bvm *vm); +extern int lvbe_calendar_set_month_names(bvm *vm); +extern int lvbe_calendar_get_highlighted_dates_num(bvm *vm); +extern int lvbe_calendar_get_day_of_week(bvm *vm); + +/* `lv_canvas` external functions definitions */ +extern int lvbe_canvas_create(bvm *vm); +extern int lvbe_canvas_set_buffer(bvm *vm); +extern int lvbe_canvas_set_px(bvm *vm); +extern int lvbe_canvas_set_palette(bvm *vm); +extern int lvbe_canvas_get_px(bvm *vm); +extern int lvbe_canvas_copy_buf(bvm *vm); +extern int lvbe_canvas_transform(bvm *vm); +extern int lvbe_canvas_blur_hor(bvm *vm); +extern int lvbe_canvas_blur_ver(bvm *vm); +extern int lvbe_canvas_fill_bg(bvm *vm); +extern int lvbe_canvas_draw_rect(bvm *vm); +extern int lvbe_canvas_draw_text(bvm *vm); +extern int lvbe_canvas_draw_img(bvm *vm); +extern int lvbe_canvas_draw_line(bvm *vm); +extern int lvbe_canvas_draw_polygon(bvm *vm); +extern int lvbe_canvas_draw_arc(bvm *vm); + +/* `lv_chart` external functions definitions */ +extern int lvbe_chart_create(bvm *vm); +extern int lvbe_chart_remove_series(bvm *vm); +extern int lvbe_chart_clear_series(bvm *vm); +extern int lvbe_chart_hide_series(bvm *vm); +extern int lvbe_chart_set_div_line_count(bvm *vm); +extern int lvbe_chart_set_y_range(bvm *vm); +extern int lvbe_chart_set_type(bvm *vm); +extern int lvbe_chart_set_point_count(bvm *vm); +extern int lvbe_chart_init_points(bvm *vm); +extern int lvbe_chart_set_points(bvm *vm); +extern int lvbe_chart_set_next(bvm *vm); +extern int lvbe_chart_set_update_mode(bvm *vm); +extern int lvbe_chart_set_x_tick_length(bvm *vm); +extern int lvbe_chart_set_y_tick_length(bvm *vm); +extern int lvbe_chart_set_secondary_y_tick_length(bvm *vm); +extern int lvbe_chart_set_x_tick_texts(bvm *vm); +extern int lvbe_chart_set_secondary_y_tick_texts(bvm *vm); +extern int lvbe_chart_set_y_tick_texts(bvm *vm); +extern int lvbe_chart_set_x_start_point(bvm *vm); +extern int lvbe_chart_set_ext_array(bvm *vm); +extern int lvbe_chart_set_point_id(bvm *vm); +extern int lvbe_chart_set_series_axis(bvm *vm); +extern int lvbe_chart_set_cursor_point(bvm *vm); +extern int lvbe_chart_get_type(bvm *vm); +extern int lvbe_chart_get_point_count(bvm *vm); +extern int lvbe_chart_get_x_start_point(bvm *vm); +extern int lvbe_chart_get_point_id(bvm *vm); +extern int lvbe_chart_get_series_axis(bvm *vm); +extern int lvbe_chart_get_series_area(bvm *vm); +extern int lvbe_chart_get_cursor_point(bvm *vm); +extern int lvbe_chart_get_nearest_index_from_coord(bvm *vm); +extern int lvbe_chart_get_x_from_index(bvm *vm); +extern int lvbe_chart_get_y_from_index(bvm *vm); +extern int lvbe_chart_refresh(bvm *vm); + +/* `lv_checkbox` external functions definitions */ +extern int lvbe_checkbox_create(bvm *vm); +extern int lvbe_checkbox_set_text(bvm *vm); +extern int lvbe_checkbox_set_text_static(bvm *vm); +extern int lvbe_checkbox_set_checked(bvm *vm); +extern int lvbe_checkbox_set_disabled(bvm *vm); +extern int lvbe_checkbox_set_state(bvm *vm); +extern int lvbe_checkbox_get_text(bvm *vm); +extern int lvbe_checkbox_is_checked(bvm *vm); +extern int lvbe_checkbox_is_inactive(bvm *vm); +extern int lvbe_checkbox_get_state(bvm *vm); + +/* `lv_cont` external functions definitions */ +extern int lvbe_cont_create(bvm *vm); +extern int lvbe_cont_set_layout(bvm *vm); +extern int lvbe_cont_set_fit4(bvm *vm); +extern int lvbe_cont_set_fit2(bvm *vm); +extern int lvbe_cont_set_fit(bvm *vm); +extern int lvbe_cont_get_layout(bvm *vm); +extern int lvbe_cont_get_fit_left(bvm *vm); +extern int lvbe_cont_get_fit_right(bvm *vm); +extern int lvbe_cont_get_fit_top(bvm *vm); +extern int lvbe_cont_get_fit_bottom(bvm *vm); + +/* `lv_cpicker` external functions definitions */ +extern int lvbe_cpicker_create(bvm *vm); +extern int lvbe_cpicker_set_type(bvm *vm); +extern int lvbe_cpicker_set_hue(bvm *vm); +extern int lvbe_cpicker_set_saturation(bvm *vm); +extern int lvbe_cpicker_set_value(bvm *vm); +extern int lvbe_cpicker_set_hsv(bvm *vm); +extern int lvbe_cpicker_set_color(bvm *vm); +extern int lvbe_cpicker_set_color_mode(bvm *vm); +extern int lvbe_cpicker_set_color_mode_fixed(bvm *vm); +extern int lvbe_cpicker_set_knob_colored(bvm *vm); +extern int lvbe_cpicker_get_color_mode(bvm *vm); +extern int lvbe_cpicker_get_color_mode_fixed(bvm *vm); +extern int lvbe_cpicker_get_hue(bvm *vm); +extern int lvbe_cpicker_get_saturation(bvm *vm); +extern int lvbe_cpicker_get_value(bvm *vm); +extern int lvbe_cpicker_get_hsv(bvm *vm); +extern int lvbe_cpicker_get_color(bvm *vm); +extern int lvbe_cpicker_get_knob_colored(bvm *vm); + +/* `lv_dropdown` external functions definitions */ +extern int lvbe_dropdown_create(bvm *vm); +extern int lvbe_dropdown_set_text(bvm *vm); +extern int lvbe_dropdown_clear_options(bvm *vm); +extern int lvbe_dropdown_set_options(bvm *vm); +extern int lvbe_dropdown_set_options_static(bvm *vm); +extern int lvbe_dropdown_add_option(bvm *vm); +extern int lvbe_dropdown_set_selected(bvm *vm); +extern int lvbe_dropdown_set_dir(bvm *vm); +extern int lvbe_dropdown_set_max_height(bvm *vm); +extern int lvbe_dropdown_set_symbol(bvm *vm); +extern int lvbe_dropdown_set_show_selected(bvm *vm); +extern int lvbe_dropdown_get_text(bvm *vm); +extern int lvbe_dropdown_get_options(bvm *vm); +extern int lvbe_dropdown_get_selected(bvm *vm); +extern int lvbe_dropdown_get_option_cnt(bvm *vm); +extern int lvbe_dropdown_get_selected_str(bvm *vm); +extern int lvbe_dropdown_get_max_height(bvm *vm); +extern int lvbe_dropdown_get_symbol(bvm *vm); +extern int lvbe_dropdown_get_dir(bvm *vm); +extern int lvbe_dropdown_get_show_selected(bvm *vm); +extern int lvbe_dropdown_open(bvm *vm); +extern int lvbe_dropdown_close(bvm *vm); + +/* `lv_gauge` external functions definitions */ +extern int lvbe_gauge_create(bvm *vm); +extern int lvbe_gauge_set_needle_count(bvm *vm); +extern int lvbe_gauge_set_value(bvm *vm); +extern int lvbe_gauge_set_range(bvm *vm); +extern int lvbe_gauge_set_critical_value(bvm *vm); +extern int lvbe_gauge_set_scale(bvm *vm); +extern int lvbe_gauge_set_angle_offset(bvm *vm); +extern int lvbe_gauge_set_needle_img(bvm *vm); +extern int lvbe_gauge_set_formatter_cb(bvm *vm); +extern int lvbe_gauge_get_value(bvm *vm); +extern int lvbe_gauge_get_needle_count(bvm *vm); +extern int lvbe_gauge_get_min_value(bvm *vm); +extern int lvbe_gauge_get_max_value(bvm *vm); +extern int lvbe_gauge_get_critical_value(bvm *vm); +extern int lvbe_gauge_get_label_count(bvm *vm); +extern int lvbe_gauge_get_line_count(bvm *vm); +extern int lvbe_gauge_get_scale_angle(bvm *vm); +extern int lvbe_gauge_get_angle_offset(bvm *vm); +extern int lvbe_gauge_get_needle_img(bvm *vm); +extern int lvbe_gauge_get_needle_img_pivot_x(bvm *vm); +extern int lvbe_gauge_get_needle_img_pivot_y(bvm *vm); + +/* `lv_img` external functions definitions */ +extern int lvbe_img_create(bvm *vm); +extern int lvbe_img_set_src(bvm *vm); +extern int lvbe_img_set_auto_size(bvm *vm); +extern int lvbe_img_set_offset_x(bvm *vm); +extern int lvbe_img_set_offset_y(bvm *vm); +extern int lvbe_img_set_pivot(bvm *vm); +extern int lvbe_img_set_angle(bvm *vm); +extern int lvbe_img_set_zoom(bvm *vm); +extern int lvbe_img_set_antialias(bvm *vm); +extern int lvbe_img_get_src(bvm *vm); +extern int lvbe_img_get_file_name(bvm *vm); +extern int lvbe_img_get_auto_size(bvm *vm); +extern int lvbe_img_get_offset_x(bvm *vm); +extern int lvbe_img_get_offset_y(bvm *vm); +extern int lvbe_img_get_angle(bvm *vm); +extern int lvbe_img_get_pivot(bvm *vm); +extern int lvbe_img_get_zoom(bvm *vm); +extern int lvbe_img_get_antialias(bvm *vm); + +/* `lv_imgbtn` external functions definitions */ +extern int lvbe_imgbtn_create(bvm *vm); +extern int lvbe_imgbtn_set_src(bvm *vm); +extern int lvbe_imgbtn_set_state(bvm *vm); +extern int lvbe_imgbtn_toggle(bvm *vm); +extern int lvbe_imgbtn_set_checkable(bvm *vm); +extern int lvbe_imgbtn_get_src(bvm *vm); +extern int lvbe_imgbtn_get_state(bvm *vm); + +/* `lv_keyboard` external functions definitions */ +extern int lvbe_keyboard_create(bvm *vm); +extern int lvbe_keyboard_set_textarea(bvm *vm); +extern int lvbe_keyboard_set_mode(bvm *vm); +extern int lvbe_keyboard_set_cursor_manage(bvm *vm); +extern int lvbe_keyboard_set_map(bvm *vm); +extern int lvbe_keyboard_set_ctrl_map(bvm *vm); +extern int lvbe_keyboard_get_textarea(bvm *vm); +extern int lvbe_keyboard_get_cursor_manage(bvm *vm); +extern int lvbe_keyboard_def_event_cb(bvm *vm); + +/* `lv_label` external functions definitions */ +extern int lvbe_label_create(bvm *vm); +extern int lvbe_label_set_text(bvm *vm); +extern int lvbe_label_set_text_fmt(bvm *vm); +extern int lvbe_label_set_text_static(bvm *vm); +extern int lvbe_label_set_long_mode(bvm *vm); +extern int lvbe_label_set_align(bvm *vm); +extern int lvbe_label_set_recolor(bvm *vm); +extern int lvbe_label_set_anim_speed(bvm *vm); +extern int lvbe_label_set_text_sel_start(bvm *vm); +extern int lvbe_label_set_text_sel_end(bvm *vm); +extern int lvbe_label_get_text(bvm *vm); +extern int lvbe_label_get_long_mode(bvm *vm); +extern int lvbe_label_get_align(bvm *vm); +extern int lvbe_label_get_recolor(bvm *vm); +extern int lvbe_label_get_anim_speed(bvm *vm); +extern int lvbe_label_get_letter_pos(bvm *vm); +extern int lvbe_label_get_letter_on(bvm *vm); +extern int lvbe_label_is_char_under_pos(bvm *vm); +extern int lvbe_label_get_text_sel_start(bvm *vm); +extern int lvbe_label_get_text_sel_end(bvm *vm); +extern int lvbe_label_ins_text(bvm *vm); +extern int lvbe_label_cut_text(bvm *vm); +extern int lvbe_label_refr_text(bvm *vm); + +/* `lv_led` external functions definitions */ +extern int lvbe_led_create(bvm *vm); +extern int lvbe_led_set_bright(bvm *vm); +extern int lvbe_led_on(bvm *vm); +extern int lvbe_led_off(bvm *vm); +extern int lvbe_led_toggle(bvm *vm); +extern int lvbe_led_get_bright(bvm *vm); + +/* `lv_line` external functions definitions */ +extern int lvbe_line_create(bvm *vm); +extern int lvbe_line_set_points(bvm *vm); +extern int lvbe_line_set_auto_size(bvm *vm); +extern int lvbe_line_set_y_invert(bvm *vm); +extern int lvbe_line_get_auto_size(bvm *vm); +extern int lvbe_line_get_y_invert(bvm *vm); + +/* `lv_linemeter` external functions definitions */ +extern int lvbe_linemeter_create(bvm *vm); +extern int lvbe_linemeter_set_value(bvm *vm); +extern int lvbe_linemeter_set_range(bvm *vm); +extern int lvbe_linemeter_set_scale(bvm *vm); +extern int lvbe_linemeter_set_angle_offset(bvm *vm); +extern int lvbe_linemeter_set_mirror(bvm *vm); +extern int lvbe_linemeter_get_value(bvm *vm); +extern int lvbe_linemeter_get_min_value(bvm *vm); +extern int lvbe_linemeter_get_max_value(bvm *vm); +extern int lvbe_linemeter_get_line_count(bvm *vm); +extern int lvbe_linemeter_get_scale_angle(bvm *vm); +extern int lvbe_linemeter_get_angle_offset(bvm *vm); +extern int lvbe_linemeter_draw_scale(bvm *vm); +extern int lvbe_linemeter_get_mirror(bvm *vm); + +/* `lv_list` external functions definitions */ +extern int lvbe_list_create(bvm *vm); +extern int lvbe_list_clean(bvm *vm); +extern int lvbe_list_add_btn(bvm *vm); +extern int lvbe_list_remove(bvm *vm); +extern int lvbe_list_focus_btn(bvm *vm); +extern int lvbe_list_set_scrollbar_mode(bvm *vm); +extern int lvbe_list_set_scroll_propagation(bvm *vm); +extern int lvbe_list_set_edge_flash(bvm *vm); +extern int lvbe_list_set_anim_time(bvm *vm); +extern int lvbe_list_set_layout(bvm *vm); +extern int lvbe_list_get_btn_text(bvm *vm); +extern int lvbe_list_get_btn_label(bvm *vm); +extern int lvbe_list_get_btn_img(bvm *vm); +extern int lvbe_list_get_prev_btn(bvm *vm); +extern int lvbe_list_get_next_btn(bvm *vm); +extern int lvbe_list_get_btn_index(bvm *vm); +extern int lvbe_list_get_size(bvm *vm); +extern int lvbe_list_get_btn_selected(bvm *vm); +extern int lvbe_list_get_layout(bvm *vm); +extern int lvbe_list_get_scrollbar_mode(bvm *vm); +extern int lvbe_list_get_scroll_propagation(bvm *vm); +extern int lvbe_list_get_edge_flash(bvm *vm); +extern int lvbe_list_get_anim_time(bvm *vm); +extern int lvbe_list_up(bvm *vm); +extern int lvbe_list_down(bvm *vm); +extern int lvbe_list_focus(bvm *vm); + +/* `lv_msgbox` external functions definitions */ +extern int lvbe_msgbox_create(bvm *vm); +extern int lvbe_msgbox_add_btns(bvm *vm); +extern int lvbe_msgbox_set_text(bvm *vm); +extern int lvbe_msgbox_set_text_fmt(bvm *vm); +extern int lvbe_msgbox_set_anim_time(bvm *vm); +extern int lvbe_msgbox_start_auto_close(bvm *vm); +extern int lvbe_msgbox_stop_auto_close(bvm *vm); +extern int lvbe_msgbox_set_recolor(bvm *vm); +extern int lvbe_msgbox_get_text(bvm *vm); +extern int lvbe_msgbox_get_active_btn(bvm *vm); +extern int lvbe_msgbox_get_active_btn_text(bvm *vm); +extern int lvbe_msgbox_get_anim_time(bvm *vm); +extern int lvbe_msgbox_get_recolor(bvm *vm); +extern int lvbe_msgbox_get_btnmatrix(bvm *vm); + +/* `lv_objmask` external functions definitions */ +extern int lvbe_objmask_create(bvm *vm); +extern int lvbe_objmask_update_mask(bvm *vm); +extern int lvbe_objmask_remove_mask(bvm *vm); + +/* `lv_page` external functions definitions */ +extern int lvbe_page_create(bvm *vm); +extern int lvbe_page_clean(bvm *vm); +extern int lvbe_page_get_scrollable(bvm *vm); +extern int lvbe_page_get_anim_time(bvm *vm); +extern int lvbe_page_set_scrollbar_mode(bvm *vm); +extern int lvbe_page_set_anim_time(bvm *vm); +extern int lvbe_page_set_scroll_propagation(bvm *vm); +extern int lvbe_page_set_edge_flash(bvm *vm); +extern int lvbe_page_set_scrollable_fit2(bvm *vm); +extern int lvbe_page_set_scrollable_fit(bvm *vm); +extern int lvbe_page_set_scrl_width(bvm *vm); +extern int lvbe_page_set_scrl_height(bvm *vm); +extern int lvbe_page_set_scrl_layout(bvm *vm); +extern int lvbe_page_get_scrollbar_mode(bvm *vm); +extern int lvbe_page_get_scroll_propagation(bvm *vm); +extern int lvbe_page_get_edge_flash(bvm *vm); +extern int lvbe_page_get_width_fit(bvm *vm); +extern int lvbe_page_get_height_fit(bvm *vm); +extern int lvbe_page_get_width_grid(bvm *vm); +extern int lvbe_page_get_height_grid(bvm *vm); +extern int lvbe_page_get_scrl_width(bvm *vm); +extern int lvbe_page_get_scrl_height(bvm *vm); +extern int lvbe_page_get_scrl_layout(bvm *vm); +extern int lvbe_page_get_scrl_fit_left(bvm *vm); +extern int lvbe_page_get_scrl_fit_right(bvm *vm); +extern int lvbe_page_get_scrl_fit_top(bvm *vm); +extern int lvbe_page_get_scrl_fit_bottom(bvm *vm); +extern int lvbe_page_on_edge(bvm *vm); +extern int lvbe_page_glue_obj(bvm *vm); +extern int lvbe_page_focus(bvm *vm); +extern int lvbe_page_scroll_hor(bvm *vm); +extern int lvbe_page_scroll_ver(bvm *vm); +extern int lvbe_page_start_edge_flash(bvm *vm); + +/* `lv_roller` external functions definitions */ +extern int lvbe_roller_create(bvm *vm); +extern int lvbe_roller_set_options(bvm *vm); +extern int lvbe_roller_set_align(bvm *vm); +extern int lvbe_roller_set_selected(bvm *vm); +extern int lvbe_roller_set_visible_row_count(bvm *vm); +extern int lvbe_roller_set_auto_fit(bvm *vm); +extern int lvbe_roller_set_anim_time(bvm *vm); +extern int lvbe_roller_get_selected(bvm *vm); +extern int lvbe_roller_get_option_cnt(bvm *vm); +extern int lvbe_roller_get_selected_str(bvm *vm); +extern int lvbe_roller_get_align(bvm *vm); +extern int lvbe_roller_get_auto_fit(bvm *vm); +extern int lvbe_roller_get_options(bvm *vm); +extern int lvbe_roller_get_anim_time(bvm *vm); + +/* `lv_slider` external functions definitions */ +extern int lvbe_slider_create(bvm *vm); +extern int lvbe_slider_set_value(bvm *vm); +extern int lvbe_slider_set_left_value(bvm *vm); +extern int lvbe_slider_set_range(bvm *vm); +extern int lvbe_slider_set_anim_time(bvm *vm); +extern int lvbe_slider_set_type(bvm *vm); +extern int lvbe_slider_get_value(bvm *vm); +extern int lvbe_slider_get_left_value(bvm *vm); +extern int lvbe_slider_get_min_value(bvm *vm); +extern int lvbe_slider_get_max_value(bvm *vm); +extern int lvbe_slider_is_dragged(bvm *vm); +extern int lvbe_slider_get_anim_time(bvm *vm); +extern int lvbe_slider_get_type(bvm *vm); + +/* `lv_spinbox` external functions definitions */ +extern int lvbe_spinbox_create(bvm *vm); +extern int lvbe_spinbox_set_rollover(bvm *vm); +extern int lvbe_spinbox_set_value(bvm *vm); +extern int lvbe_spinbox_set_digit_format(bvm *vm); +extern int lvbe_spinbox_set_step(bvm *vm); +extern int lvbe_spinbox_set_range(bvm *vm); +extern int lvbe_spinbox_set_padding_left(bvm *vm); +extern int lvbe_spinbox_get_rollover(bvm *vm); +extern int lvbe_spinbox_get_value(bvm *vm); +extern int lvbe_spinbox_get_step(bvm *vm); +extern int lvbe_spinbox_step_next(bvm *vm); +extern int lvbe_spinbox_step_prev(bvm *vm); +extern int lvbe_spinbox_increment(bvm *vm); +extern int lvbe_spinbox_decrement(bvm *vm); + +/* `lv_spinner` external functions definitions */ +extern int lvbe_spinner_create(bvm *vm); +extern int lvbe_spinner_set_arc_length(bvm *vm); +extern int lvbe_spinner_set_spin_time(bvm *vm); +extern int lvbe_spinner_set_type(bvm *vm); +extern int lvbe_spinner_set_dir(bvm *vm); +extern int lvbe_spinner_get_arc_length(bvm *vm); +extern int lvbe_spinner_get_spin_time(bvm *vm); +extern int lvbe_spinner_get_type(bvm *vm); +extern int lvbe_spinner_get_dir(bvm *vm); +extern int lvbe_spinner_anim_cb(bvm *vm); + +/* `lv_switch` external functions definitions */ +extern int lvbe_switch_create(bvm *vm); +extern int lvbe_switch_on(bvm *vm); +extern int lvbe_switch_off(bvm *vm); +extern int lvbe_switch_toggle(bvm *vm); +extern int lvbe_switch_set_anim_time(bvm *vm); +extern int lvbe_switch_get_state(bvm *vm); +extern int lvbe_switch_get_anim_time(bvm *vm); + +/* `lv_table` external functions definitions */ +extern int lvbe_table_create(bvm *vm); +extern int lvbe_table_set_cell_value(bvm *vm); +extern int lvbe_table_set_cell_value_fmt(bvm *vm); +extern int lvbe_table_set_row_cnt(bvm *vm); +extern int lvbe_table_set_col_cnt(bvm *vm); +extern int lvbe_table_set_col_width(bvm *vm); +extern int lvbe_table_set_cell_align(bvm *vm); +extern int lvbe_table_set_cell_type(bvm *vm); +extern int lvbe_table_set_cell_crop(bvm *vm); +extern int lvbe_table_set_cell_merge_right(bvm *vm); +extern int lvbe_table_get_cell_value(bvm *vm); +extern int lvbe_table_get_row_cnt(bvm *vm); +extern int lvbe_table_get_col_cnt(bvm *vm); +extern int lvbe_table_get_col_width(bvm *vm); +extern int lvbe_table_get_cell_align(bvm *vm); +extern int lvbe_table_get_cell_type(bvm *vm); +extern int lvbe_table_get_cell_crop(bvm *vm); +extern int lvbe_table_get_cell_merge_right(bvm *vm); +extern int lvbe_table_get_pressed_cell(bvm *vm); + +/* `lv_tabview` external functions definitions */ +extern int lvbe_tabview_create(bvm *vm); +extern int lvbe_tabview_add_tab(bvm *vm); +extern int lvbe_tabview_clean_tab(bvm *vm); +extern int lvbe_tabview_set_tab_act(bvm *vm); +extern int lvbe_tabview_set_tab_name(bvm *vm); +extern int lvbe_tabview_set_anim_time(bvm *vm); +extern int lvbe_tabview_set_btns_pos(bvm *vm); +extern int lvbe_tabview_get_tab_act(bvm *vm); +extern int lvbe_tabview_get_tab_count(bvm *vm); +extern int lvbe_tabview_get_tab(bvm *vm); +extern int lvbe_tabview_get_anim_time(bvm *vm); +extern int lvbe_tabview_get_btns_pos(bvm *vm); + +/* `lv_textarea` external functions definitions */ +extern int lvbe_textarea_create(bvm *vm); +extern int lvbe_textarea_add_char(bvm *vm); +extern int lvbe_textarea_add_text(bvm *vm); +extern int lvbe_textarea_del_char(bvm *vm); +extern int lvbe_textarea_del_char_forward(bvm *vm); +extern int lvbe_textarea_set_text(bvm *vm); +extern int lvbe_textarea_set_placeholder_text(bvm *vm); +extern int lvbe_textarea_set_cursor_pos(bvm *vm); +extern int lvbe_textarea_set_cursor_hidden(bvm *vm); +extern int lvbe_textarea_set_cursor_click_pos(bvm *vm); +extern int lvbe_textarea_set_pwd_mode(bvm *vm); +extern int lvbe_textarea_set_one_line(bvm *vm); +extern int lvbe_textarea_set_text_align(bvm *vm); +extern int lvbe_textarea_set_accepted_chars(bvm *vm); +extern int lvbe_textarea_set_max_length(bvm *vm); +extern int lvbe_textarea_set_insert_replace(bvm *vm); +extern int lvbe_textarea_set_scrollbar_mode(bvm *vm); +extern int lvbe_textarea_set_scroll_propagation(bvm *vm); +extern int lvbe_textarea_set_edge_flash(bvm *vm); +extern int lvbe_textarea_set_text_sel(bvm *vm); +extern int lvbe_textarea_set_pwd_show_time(bvm *vm); +extern int lvbe_textarea_set_cursor_blink_time(bvm *vm); +extern int lvbe_textarea_get_text(bvm *vm); +extern int lvbe_textarea_get_placeholder_text(bvm *vm); +extern int lvbe_textarea_get_label(bvm *vm); +extern int lvbe_textarea_get_cursor_pos(bvm *vm); +extern int lvbe_textarea_get_cursor_hidden(bvm *vm); +extern int lvbe_textarea_get_cursor_click_pos(bvm *vm); +extern int lvbe_textarea_get_pwd_mode(bvm *vm); +extern int lvbe_textarea_get_one_line(bvm *vm); +extern int lvbe_textarea_get_accepted_chars(bvm *vm); +extern int lvbe_textarea_get_max_length(bvm *vm); +extern int lvbe_textarea_get_scrollbar_mode(bvm *vm); +extern int lvbe_textarea_get_scroll_propagation(bvm *vm); +extern int lvbe_textarea_get_edge_flash(bvm *vm); +extern int lvbe_textarea_text_is_selected(bvm *vm); +extern int lvbe_textarea_get_text_sel_en(bvm *vm); +extern int lvbe_textarea_get_pwd_show_time(bvm *vm); +extern int lvbe_textarea_get_cursor_blink_time(bvm *vm); +extern int lvbe_textarea_clear_selection(bvm *vm); +extern int lvbe_textarea_cursor_right(bvm *vm); +extern int lvbe_textarea_cursor_left(bvm *vm); +extern int lvbe_textarea_cursor_down(bvm *vm); +extern int lvbe_textarea_cursor_up(bvm *vm); + +/* `lv_tileview` external functions definitions */ +extern int lvbe_tileview_create(bvm *vm); +extern int lvbe_tileview_add_element(bvm *vm); +extern int lvbe_tileview_set_valid_positions(bvm *vm); +extern int lvbe_tileview_set_tile_act(bvm *vm); +extern int lvbe_tileview_set_edge_flash(bvm *vm); +extern int lvbe_tileview_set_anim_time(bvm *vm); +extern int lvbe_tileview_get_tile_act(bvm *vm); +extern int lvbe_tileview_get_edge_flash(bvm *vm); +extern int lvbe_tileview_get_anim_time(bvm *vm); + +/* `lv_win` external functions definitions */ +extern int lvbe_win_create(bvm *vm); +extern int lvbe_win_clean(bvm *vm); +extern int lvbe_win_add_btn_right(bvm *vm); +extern int lvbe_win_add_btn_left(bvm *vm); +extern int lvbe_win_close_event_cb(bvm *vm); +extern int lvbe_win_set_title(bvm *vm); +extern int lvbe_win_set_header_height(bvm *vm); +extern int lvbe_win_set_btn_width(bvm *vm); +extern int lvbe_win_set_content_size(bvm *vm); +extern int lvbe_win_set_layout(bvm *vm); +extern int lvbe_win_set_scrollbar_mode(bvm *vm); +extern int lvbe_win_set_anim_time(bvm *vm); +extern int lvbe_win_set_drag(bvm *vm); +extern int lvbe_win_title_set_alignment(bvm *vm); +extern int lvbe_win_get_title(bvm *vm); +extern int lvbe_win_get_content(bvm *vm); +extern int lvbe_win_get_header_height(bvm *vm); +extern int lvbe_win_get_btn_width(bvm *vm); +extern int lvbe_win_get_from_btn(bvm *vm); +extern int lvbe_win_get_layout(bvm *vm); +extern int lvbe_win_get_sb_mode(bvm *vm); +extern int lvbe_win_get_anim_time(bvm *vm); +extern int lvbe_win_get_width(bvm *vm); +extern int lvbe_win_get_drag(bvm *vm); +extern int lvbe_win_title_get_alignment(bvm *vm); +extern int lvbe_win_focus(bvm *vm); +extern int lvbe_win_scroll_hor(bvm *vm); +extern int lvbe_win_scroll_ver(bvm *vm); + +/********************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lv_lvgl_module.c b/lib/libesp32/Berry/default/be_lv_lvgl_module.c new file mode 100644 index 000000000..cb4f6196e --- /dev/null +++ b/lib/libesp32/Berry/default/be_lv_lvgl_module.c @@ -0,0 +1,1165 @@ +/******************************************************************** + * Generated code, don't edit + *******************************************************************/ +/******************************************************************** + * LVGL Module + *******************************************************************/ +#include "be_object.h" +#include "be_string.h" +#include "be_gc.h" + +#ifdef USE_LVGL + +#include "lvgl.h" + +extern int lv0_start(bvm *vm); +extern int lv0_load_montserrat_font(bvm *vm); + +extern int lv0_scr_act(bvm *vm); +extern int lv0_layer_top(bvm *vm); +extern int lv0_layer_sys(bvm *vm); +extern int lv0_get_hor_res(bvm *vm); +extern int lv0_get_ver_res(bvm *vm); + + +#if !BE_USE_PRECOMPILED_OBJECT +//#if 1 // TODO we will do pre-compiled later + + +be_native_module_attr_table(lvgl) { + // Symbols be_native_module_str("SYMBOL_AUDIO", "\xef\x80\x81"), + be_native_module_str("SYMBOL_VIDEO", "\xef\x80\x88"), + be_native_module_str("SYMBOL_LIST", "\xef\x80\x8b"), + be_native_module_str("SYMBOL_OK", "\xef\x80\x8c"), + be_native_module_str("SYMBOL_CLOSE", "\xef\x80\x8d"), + be_native_module_str("SYMBOL_POWER", "\xef\x80\x91"), + be_native_module_str("SYMBOL_SETTINGS", "\xef\x80\x93"), + be_native_module_str("SYMBOL_HOME", "\xef\x80\x95"), + be_native_module_str("SYMBOL_DOWNLOAD", "\xef\x80\x99"), + be_native_module_str("SYMBOL_DRIVE", "\xef\x80\x9c"), + be_native_module_str("SYMBOL_REFRESH", "\xef\x80\xa1"), + be_native_module_str("SYMBOL_MUTE", "\xef\x80\xa6"), + be_native_module_str("SYMBOL_VOLUME_MID", "\xef\x80\xa7"), + be_native_module_str("SYMBOL_VOLUME_MAX", "\xef\x80\xa8"), + be_native_module_str("SYMBOL_IMAGE", "\xef\x80\xbe"), + be_native_module_str("SYMBOL_EDIT", "\xef\x8C\x84"), + be_native_module_str("SYMBOL_PREV", "\xef\x81\x88"), + be_native_module_str("SYMBOL_PLAY", "\xef\x81\x8b"), + be_native_module_str("SYMBOL_PAUSE", "\xef\x81\x8c"), + be_native_module_str("SYMBOL_STOP", "\xef\x81\x8d"), + be_native_module_str("SYMBOL_NEXT", "\xef\x81\x91"), + be_native_module_str("SYMBOL_EJECT", "\xef\x81\x92"), + be_native_module_str("SYMBOL_LEFT", "\xef\x81\x93"), + be_native_module_str("SYMBOL_RIGHT", "\xef\x81\x94"), + be_native_module_str("SYMBOL_PLUS", "\xef\x81\xa7"), + be_native_module_str("SYMBOL_MINUS", "\xef\x81\xa8"), + be_native_module_str("SYMBOL_EYE_OPEN", "\xef\x81\xae"), + be_native_module_str("SYMBOL_EYE_CLOSE", "\xef\x81\xb0"), + be_native_module_str("SYMBOL_WARNING", "\xef\x81\xb1"), + be_native_module_str("SYMBOL_SHUFFLE", "\xef\x81\xb4"), + be_native_module_str("SYMBOL_UP", "\xef\x81\xb7"), + be_native_module_str("SYMBOL_DOWN", "\xef\x81\xb8"), + be_native_module_str("SYMBOL_LOOP", "\xef\x81\xb9"), + be_native_module_str("SYMBOL_DIRECTORY", "\xef\x81\xbb"), + be_native_module_str("SYMBOL_UPLOAD", "\xef\x82\x93"), + be_native_module_str("SYMBOL_CALL", "\xef\x82\x95"), + be_native_module_str("SYMBOL_CUT", "\xef\x83\x84"), + be_native_module_str("SYMBOL_COPY", "\xef\x83\x85"), + be_native_module_str("SYMBOL_SAVE", "\xef\x83\x87"), + be_native_module_str("SYMBOL_CHARGE", "\xef\x83\xa7"), + be_native_module_str("SYMBOL_PASTE", "\xef\x83\xAA"), + be_native_module_str("SYMBOL_BELL", "\xef\x83\xb3"), + be_native_module_str("SYMBOL_KEYBOARD", "\xef\x84\x9c"), + be_native_module_str("SYMBOL_GPS", "\xef\x84\xa4"), + be_native_module_str("SYMBOL_FILE", "\xef\x85\x9b"), + be_native_module_str("SYMBOL_WIFI", "\xef\x87\xab"), + be_native_module_str("SYMBOL_BATTERY_FULL", "\xef\x89\x80"), + be_native_module_str("SYMBOL_BATTERY_3", "\xef\x89\x81"), + be_native_module_str("SYMBOL_BATTERY_2", "\xef\x89\x82"), + be_native_module_str("SYMBOL_BATTERY_1", "\xef\x89\x83"), + be_native_module_str("SYMBOL_BATTERY_EMPTY", "\xef\x89\x84"), + be_native_module_str("SYMBOL_USB", "\xef\x8a\x87"), + be_native_module_str("SYMBOL_BLUETOOTH", "\xef\x8a\x93"), + be_native_module_str("SYMBOL_TRASH", "\xef\x8B\xAD"), + be_native_module_str("SYMBOL_BACKSPACE", "\xef\x95\x9A"), + be_native_module_str("SYMBOL_SD_CARD", "\xef\x9F\x82"), + be_native_module_str("SYMBOL_NEW_LINE", "\xef\xA2\xA2"), + + be_native_module_str("SYMBOL_DUMMY", "\xEF\xA3\xBF"), + + be_native_module_str("SYMBOL_BULLET", "\xE2\x80\xA2"), + + // connection type + be_native_module_int("SPI", 0), + be_native_module_int("I2C", 1), + // connection sub_type + be_native_module_int("HSPI", 0), + be_native_module_int("VSPI", 1), + be_native_module_int("SSPI", 2), + +/* `lvgl` module functions */ + + be_native_module_int("ALIGN_CENTER", 0), + be_native_module_int("ALIGN_IN_TOP_LEFT", 1), + be_native_module_int("ALIGN_IN_TOP_MID", 2), + be_native_module_int("ALIGN_IN_TOP_RIGHT", 3), + be_native_module_int("ALIGN_IN_BOTTOM_LEFT", 4), + be_native_module_int("ALIGN_IN_BOTTOM_MID", 5), + be_native_module_int("ALIGN_IN_BOTTOM_RIGHT", 6), + be_native_module_int("ALIGN_IN_LEFT_MID", 7), + be_native_module_int("ALIGN_IN_RIGHT_MID", 8), + be_native_module_int("ALIGN_OUT_TOP_LEFT", 9), + be_native_module_int("ALIGN_OUT_TOP_MID", 10), + be_native_module_int("ALIGN_OUT_TOP_RIGHT", 11), + be_native_module_int("ALIGN_OUT_BOTTOM_LEFT", 12), + be_native_module_int("ALIGN_OUT_BOTTOM_MID", 13), + be_native_module_int("ALIGN_OUT_BOTTOM_RIGHT", 14), + be_native_module_int("ALIGN_OUT_LEFT_TOP", 15), + be_native_module_int("ALIGN_OUT_LEFT_MID", 16), + be_native_module_int("ALIGN_OUT_LEFT_BOTTOM", 17), + be_native_module_int("ALIGN_OUT_RIGHT_TOP", 18), + be_native_module_int("ALIGN_OUT_RIGHT_MID", 19), + be_native_module_int("ALIGN_OUT_RIGHT_BOTTOM", 20), + be_native_module_int("DISP_ROT_NONE", 0), + be_native_module_int("DISP_ROT_90", 1), + be_native_module_int("DISP_ROT_180", 2), + be_native_module_int("DISP_ROT_270", 3), + be_native_module_int("DISP_SIZE_SMALL", 0), + be_native_module_int("DISP_SIZE_MEDIUM", 1), + be_native_module_int("DISP_SIZE_LARGE", 2), + be_native_module_int("DISP_SIZE_EXTRA_LARGE", 3), + be_native_module_int("DRAG_DIR_HOR", 1), + be_native_module_int("DRAG_DIR_VER", 2), + be_native_module_int("DRAG_DIR_BOTH", 3), + be_native_module_int("DRAG_DIR_ONE", 4), + be_native_module_int("GESTURE_DIR_TOP", 0), + be_native_module_int("GESTURE_DIR_BOTTOM", 1), + be_native_module_int("GESTURE_DIR_LEFT", 2), + be_native_module_int("GESTURE_DIR_RIGHT", 3), + be_native_module_int("ANIM_OFF", 0), + be_native_module_int("ANIM_ON", 1), + be_native_module_int("BLEND_MODE_NORMAL", 0), + be_native_module_int("BLEND_MODE_ADDITIVE", 1), + be_native_module_int("BLEND_MODE_SUBTRACTIVE", 2), +// Obj parts + be_native_module_int("OBJ_PART_MAIN", 0), + be_native_module_int("OBJ_PART_VIRTUAL_FIRST", 1), + be_native_module_int("OBJ_PART_REAL_FIRST", 64), + be_native_module_int("OBJ_PART_ALL", 255), +// LV State + be_native_module_int("STATE_DEFAULT", 0), + be_native_module_int("STATE_CHECKED", 1), + be_native_module_int("STATE_FOCUSED", 2), + be_native_module_int("STATE_EDITED", 4), + be_native_module_int("STATE_HOVERED", 8), + be_native_module_int("STATE_PRESSED", 16), + be_native_module_int("STATE_DISABLED", 32), +// OPA opacity + be_native_module_int("OPA_TRANSP", 0), + be_native_module_int("OPA_0", 0), + be_native_module_int("OPA_10", 25), + be_native_module_int("OPA_20", 51), + be_native_module_int("OPA_30", 76), + be_native_module_int("OPA_40", 102), + be_native_module_int("OPA_50", 127), + be_native_module_int("OPA_60", 153), + be_native_module_int("OPA_70", 178), + be_native_module_int("OPA_80", 204), + be_native_module_int("OPA_90", 229), + be_native_module_int("OPA_100", 255), + be_native_module_int("OPA_COVER", 255), +// LV Colors - we store in 24 bits format and will convert at runtime + be_native_module_int("WHITE", 16777215), + be_native_module_int("SILVER", 12632256), + be_native_module_int("GRAY", 8421504), + be_native_module_int("BLACK", 0), + be_native_module_int("RED", 16711680), + be_native_module_int("MAROON", 8388608), + be_native_module_int("YELLOW", 16776960), + be_native_module_int("OLIVE", 8421376), + be_native_module_int("LIME", 65280), + be_native_module_int("GREEN", 32768), + be_native_module_int("CYAN", 65535), + be_native_module_int("AQUA", 65535), + be_native_module_int("TEAL", 32896), + be_native_module_int("BLUE", 255), + be_native_module_int("NAVY", 128), + be_native_module_int("MAGENTA", 16711935), + be_native_module_int("PURPLE", 8388736), +// LV Groups + be_native_module_int("KEY_UP", 17), + be_native_module_int("KEY_DOWN", 18), + be_native_module_int("KEY_RIGHT", 19), + be_native_module_int("KEY_LEFT", 20), + be_native_module_int("KEY_ESC", 27), + be_native_module_int("KEY_DEL", 127), + be_native_module_int("KEY_BACKSPACE", 8), + be_native_module_int("KEY_ENTER", 10), + be_native_module_int("KEY_NEXT", 9), + be_native_module_int("KEY_PREV", 11), + be_native_module_int("KEY_HOME", 2), + be_native_module_int("KEY_END", 3), +// LV Style + be_native_module_int("BORDER_SIDE_NONE", 0), + be_native_module_int("BORDER_SIDE_BOTTOM", 1), + be_native_module_int("BORDER_SIDE_TOP", 2), + be_native_module_int("BORDER_SIDE_LEFT", 4), + be_native_module_int("BORDER_SIDE_RIGHT", 8), + be_native_module_int("BORDER_SIDE_FULL", 15), + be_native_module_int("BORDER_SIDE_INTERNAL", 16), + be_native_module_int("GRAD_DIR_NONE", 0), + be_native_module_int("GRAD_DIR_VER", 1), + be_native_module_int("GRAD_DIR_HOR", 2), + be_native_module_int("TEXT_DECOR_NONE", 0), + be_native_module_int("TEXT_DECOR_UNDERLINE", 1), + be_native_module_int("TEXT_DECOR_STRIKETHROUGH", 2), +// LV Styles parts + be_native_module_int("STYLE_RADIUS", 1), + be_native_module_int("STYLE_CLIP_CORNER", 2), + be_native_module_int("STYLE_SIZE", 3), + be_native_module_int("STYLE_TRANSFORM_WIDTH", 4), + be_native_module_int("STYLE_TRANSFORM_HEIGHT", 5), + be_native_module_int("STYLE_TRANSFORM_ANGLE", 6), + be_native_module_int("STYLE_TRANSFORM_ZOOM", 7), + be_native_module_int("STYLE_OPA_SCALE", 32780), + be_native_module_int("STYLE_PAD_TOP", 16), + be_native_module_int("STYLE_PAD_BOTTOM", 17), + be_native_module_int("STYLE_PAD_LEFT", 18), + be_native_module_int("STYLE_PAD_RIGHT", 19), + be_native_module_int("STYLE_PAD_INNER", 20), + be_native_module_int("STYLE_MARGIN_TOP", 21), + be_native_module_int("STYLE_MARGIN_BOTTOM", 22), + be_native_module_int("STYLE_MARGIN_LEFT", 23), + be_native_module_int("STYLE_MARGIN_RIGHT", 24), + be_native_module_int("STYLE_BG_BLEND_MODE", 32), + be_native_module_int("STYLE_BG_MAIN_STOP", 33), + be_native_module_int("STYLE_BG_GRAD_STOP", 34), + be_native_module_int("STYLE_BG_GRAD_DIR", 35), + be_native_module_int("STYLE_BG_COLOR", 41), + be_native_module_int("STYLE_BG_GRAD_COLOR", 42), + be_native_module_int("STYLE_BG_OPA", 44), + be_native_module_int("STYLE_BORDER_WIDTH", 48), + be_native_module_int("STYLE_BORDER_SIDE", 49), + be_native_module_int("STYLE_BORDER_BLEND_MODE", 50), + be_native_module_int("STYLE_BORDER_POST", 51), + be_native_module_int("STYLE_BORDER_COLOR", 57), + be_native_module_int("STYLE_BORDER_OPA", 60), + be_native_module_int("STYLE_OUTLINE_WIDTH", 64), + be_native_module_int("STYLE_OUTLINE_PAD", 65), + be_native_module_int("STYLE_OUTLINE_BLEND_MODE", 66), + be_native_module_int("STYLE_OUTLINE_COLOR", 73), + be_native_module_int("STYLE_OUTLINE_OPA", 76), + be_native_module_int("STYLE_SHADOW_WIDTH", 80), + be_native_module_int("STYLE_SHADOW_OFS_X", 81), + be_native_module_int("STYLE_SHADOW_OFS_Y", 82), + be_native_module_int("STYLE_SHADOW_SPREAD", 83), + be_native_module_int("STYLE_SHADOW_BLEND_MODE", 84), + be_native_module_int("STYLE_SHADOW_COLOR", 89), + be_native_module_int("STYLE_SHADOW_OPA", 92), + be_native_module_int("STYLE_PATTERN_BLEND_MODE", 96), + be_native_module_int("STYLE_PATTERN_REPEAT", 97), + be_native_module_int("STYLE_PATTERN_RECOLOR", 105), + be_native_module_int("STYLE_PATTERN_OPA", 108), + be_native_module_int("STYLE_PATTERN_RECOLOR_OPA", 109), + be_native_module_int("STYLE_PATTERN_IMAGE", 110), + be_native_module_int("STYLE_VALUE_LETTER_SPACE", 112), + be_native_module_int("STYLE_VALUE_LINE_SPACE", 113), + be_native_module_int("STYLE_VALUE_BLEND_MODE", 114), + be_native_module_int("STYLE_VALUE_OFS_X", 115), + be_native_module_int("STYLE_VALUE_OFS_Y", 116), + be_native_module_int("STYLE_VALUE_ALIGN", 117), + be_native_module_int("STYLE_VALUE_COLOR", 121), + be_native_module_int("STYLE_VALUE_OPA", 124), + be_native_module_int("STYLE_VALUE_FONT", 126), + be_native_module_int("STYLE_VALUE_STR", 127), + be_native_module_int("STYLE_TEXT_LETTER_SPACE", 32896), + be_native_module_int("STYLE_TEXT_LINE_SPACE", 32897), + be_native_module_int("STYLE_TEXT_DECOR", 32898), + be_native_module_int("STYLE_TEXT_BLEND_MODE", 32899), + be_native_module_int("STYLE_TEXT_COLOR", 32905), + be_native_module_int("STYLE_TEXT_SEL_COLOR", 32906), + be_native_module_int("STYLE_TEXT_SEL_BG_COLOR", 32907), + be_native_module_int("STYLE_TEXT_OPA", 32908), + be_native_module_int("STYLE_TEXT_FONT", 32910), + be_native_module_int("STYLE_LINE_WIDTH", 144), + be_native_module_int("STYLE_LINE_BLEND_MODE", 145), + be_native_module_int("STYLE_LINE_DASH_WIDTH", 146), + be_native_module_int("STYLE_LINE_DASH_GAP", 147), + be_native_module_int("STYLE_LINE_ROUNDED", 148), + be_native_module_int("STYLE_LINE_COLOR", 153), + be_native_module_int("STYLE_LINE_OPA", 156), + be_native_module_int("STYLE_IMAGE_BLEND_MODE", 32928), + be_native_module_int("STYLE_IMAGE_RECOLOR", 32937), + be_native_module_int("STYLE_IMAGE_OPA", 32940), + be_native_module_int("STYLE_IMAGE_RECOLOR_OPA", 32941), + be_native_module_int("STYLE_TRANSITION_TIME", 176), + be_native_module_int("STYLE_TRANSITION_DELAY", 177), + be_native_module_int("STYLE_TRANSITION_PROP_1", 178), + be_native_module_int("STYLE_TRANSITION_PROP_2", 179), + be_native_module_int("STYLE_TRANSITION_PROP_3", 180), + be_native_module_int("STYLE_TRANSITION_PROP_4", 181), + be_native_module_int("STYLE_TRANSITION_PROP_5", 182), + be_native_module_int("STYLE_TRANSITION_PROP_6", 183), + be_native_module_int("STYLE_TRANSITION_PATH", 190), + be_native_module_int("STYLE_SCALE_WIDTH", 192), + be_native_module_int("STYLE_SCALE_BORDER_WIDTH", 193), + be_native_module_int("STYLE_SCALE_END_BORDER_WIDTH", 194), + be_native_module_int("STYLE_SCALE_END_LINE_WIDTH", 195), + be_native_module_int("STYLE_SCALE_GRAD_COLOR", 201), + be_native_module_int("STYLE_SCALE_END_COLOR", 202), + be_native_module_int("TXT_FLAG_NONE", 0), + be_native_module_int("TXT_FLAG_RECOLOR", 1), + be_native_module_int("TXT_FLAG_EXPAND", 2), + be_native_module_int("TXT_FLAG_CENTER", 4), + be_native_module_int("TXT_FLAG_RIGHT", 8), + be_native_module_int("TXT_FLAG_FIT", 16), + be_native_module_int("TXT_CMD_STATE_WAIT", 0), + be_native_module_int("TXT_CMD_STATE_PAR", 1), + be_native_module_int("TXT_CMD_STATE_IN", 2), + be_native_module_int("FS_RES_OK", 0), + be_native_module_int("FS_RES_HW_ERR", 1), + be_native_module_int("FS_RES_FS_ERR", 2), + be_native_module_int("FS_RES_NOT_EX", 3), + be_native_module_int("FS_RES_FULL", 4), + be_native_module_int("FS_RES_LOCKED", 5), + be_native_module_int("FS_RES_DENIED", 6), + be_native_module_int("FS_RES_BUSY", 7), + be_native_module_int("FS_RES_TOUT", 8), + be_native_module_int("FS_RES_NOT_IMP", 9), + be_native_module_int("FS_RES_OUT_OF_MEM", 10), + be_native_module_int("FS_RES_INV_PARAM", 11), + be_native_module_int("FS_RES_UNKNOWN", 12), + be_native_module_int("FS_MODE_WR", 1), + be_native_module_int("FS_MODE_RD", 2), + be_native_module_int("EVENT_PRESSED", 0), + be_native_module_int("EVENT_PRESSING", 1), + be_native_module_int("EVENT_PRESS_LOST", 2), + be_native_module_int("EVENT_SHORT_CLICKED", 3), + be_native_module_int("EVENT_LONG_PRESSED", 4), + be_native_module_int("EVENT_LONG_PRESSED_REPEAT", 5), + be_native_module_int("EVENT_CLICKED", 6), + be_native_module_int("EVENT_RELEASED", 7), + be_native_module_int("EVENT_DRAG_BEGIN", 8), + be_native_module_int("EVENT_DRAG_END", 9), + be_native_module_int("EVENT_DRAG_THROW_BEGIN", 10), + be_native_module_int("EVENT_GESTURE", 11), + be_native_module_int("EVENT_KEY", 12), + be_native_module_int("EVENT_FOCUSED", 13), + be_native_module_int("EVENT_DEFOCUSED", 14), + be_native_module_int("EVENT_LEAVE", 15), + be_native_module_int("EVENT_VALUE_CHANGED", 16), + be_native_module_int("EVENT_INSERT", 17), + be_native_module_int("EVENT_REFRESH", 18), + be_native_module_int("EVENT_APPLY", 19), + be_native_module_int("EVENT_CANCEL", 20), + be_native_module_int("EVENT_DELETE", 21), + be_native_module_int("PROTECT_NONE", 0), + be_native_module_int("PROTECT_CHILD_CHG", 1), + be_native_module_int("PROTECT_PARENT", 2), + be_native_module_int("PROTECT_POS", 4), + be_native_module_int("PROTECT_FOLLOW", 8), + be_native_module_int("PROTECT_PRESS_LOST", 16), + be_native_module_int("PROTECT_CLICK_FOCUS", 32), + be_native_module_int("PROTECT_EVENT_TO_DISABLED", 64), +// LV Widgets +// LV Arc + be_native_module_int("ARC_TYPE_NORMAL", 0), + be_native_module_int("ARC_TYPE_SYMMETRIC", 1), + be_native_module_int("ARC_TYPE_REVERSE", 2), + be_native_module_int("ARC_PART_BG", 0), + be_native_module_int("ARC_PART_INDIC", 1), + be_native_module_int("ARC_PART_KNOB", 2), +// LV Bar + be_native_module_int("BAR_TYPE_NORMAL", 0), + be_native_module_int("BAR_TYPE_SYMMETRICAL", 1), + be_native_module_int("BAR_TYPE_CUSTOM", 2), +// Lv Btn + be_native_module_int("BTN_STATE_RELEASED", 0), + be_native_module_int("BTN_STATE_PRESSED", 1), + be_native_module_int("BTN_STATE_DISABLED", 2), + be_native_module_int("BTN_STATE_CHECKED_RELEASED", 3), + be_native_module_int("BTN_STATE_CHECKED_PRESSED", 4), + be_native_module_int("BTN_STATE_CHECKED_DISABLED", 5), +// Lv BtnMatrix + be_native_module_int("BTNMATRIX_CTRL_HIDDEN", 8), + be_native_module_int("BTNMATRIX_CTRL_NO_REPEAT", 16), + be_native_module_int("BTNMATRIX_CTRL_DISABLED", 32), + be_native_module_int("BTNMATRIX_CTRL_CHECKABLE", 64), + be_native_module_int("BTNMATRIX_CTRL_CHECK_STATE", 128), + be_native_module_int("BTNMATRIX_CTRL_CLICK_TRIG", 256), +// LV Calendar + be_native_module_int("CALENDAR_PART_BG", 0), + be_native_module_int("CALENDAR_PART_HEADER", 1), + be_native_module_int("CALENDAR_PART_DAY_NAMES", 2), + be_native_module_int("CALENDAR_PART_DATE", 3), +// LV Chart + be_native_module_int("CHART_TYPE_NONE", 0), + be_native_module_int("CHART_TYPE_LINE", 1), + be_native_module_int("CHART_TYPE_COLUMN", 2), + be_native_module_int("CHART_UPDATE_MODE_SHIFT", 0), + be_native_module_int("CHART_UPDATE_MODE_CIRCULAR", 1), + be_native_module_int("CHART_AXIS_PRIMARY_Y", 0), + be_native_module_int("CHART_AXIS_SECONDARY_Y", 1), + be_native_module_int("CHART_CURSOR_NONE", 0), + be_native_module_int("CHART_CURSOR_RIGHT", 1), + be_native_module_int("CHART_CURSOR_UP", 2), + be_native_module_int("CHART_CURSOR_LEFT", 4), + be_native_module_int("CHART_CURSOR_DOWN", 8), + be_native_module_int("CHART_AXIS_SKIP_LAST_TICK", 0), + be_native_module_int("CHART_AXIS_DRAW_LAST_TICK", 1), + be_native_module_int("CHART_AXIS_INVERSE_LABELS_ORDER", 2), + be_native_module_int("CHART_PART_BG", 0), + be_native_module_int("CHART_PART_SERIES_BG", 1), + be_native_module_int("CHART_PART_SERIES", 2), + be_native_module_int("CHART_PART_CURSOR", 3), +// LV Checkbox + be_native_module_int("CHECKBOX_PART_BG", 0), + be_native_module_int("CHECKBOX_PART_BULLET", 64), +// LV Cont + be_native_module_int("LAYOUT_OFF", 0), + be_native_module_int("LAYOUT_CENTER", 1), + be_native_module_int("LAYOUT_COLUMN_LEFT", 2), + be_native_module_int("LAYOUT_COLUMN_MID", 3), + be_native_module_int("LAYOUT_COLUMN_RIGHT", 4), + be_native_module_int("LAYOUT_ROW_TOP", 5), + be_native_module_int("LAYOUT_ROW_MID", 6), + be_native_module_int("LAYOUT_ROW_BOTTOM", 7), + be_native_module_int("LAYOUT_PRETTY_TOP", 8), + be_native_module_int("LAYOUT_PRETTY_MID", 9), + be_native_module_int("LAYOUT_PRETTY_BOTTOM", 10), + be_native_module_int("LAYOUT_GRID", 11), + be_native_module_int("FIT_NONE", 0), + be_native_module_int("FIT_TIGHT", 1), + be_native_module_int("FIT_PARENT", 2), + be_native_module_int("FIT_MAX", 3), +// LV Cpicker + be_native_module_int("CPICKER_TYPE_RECT", 0), + be_native_module_int("CPICKER_TYPE_DISC", 1), + be_native_module_int("CPICKER_COLOR_MODE_HUE", 0), + be_native_module_int("CPICKER_COLOR_MODE_SATURATION", 1), + be_native_module_int("CPICKER_COLOR_MODE_VALUE", 2), + be_native_module_int("CPICKER_PART_MAIN", 0), + be_native_module_int("CPICKER_PART_KNOB", 1), +// LV Dropdown + be_native_module_int("DROPDOWN_DIR_DOWN", 0), + be_native_module_int("DROPDOWN_DIR_UP", 1), + be_native_module_int("DROPDOWN_DIR_LEFT", 2), + be_native_module_int("DROPDOWN_DIR_RIGHT", 3), + be_native_module_int("DROPDOWN_PART_MAIN", 0), + be_native_module_int("DROPDOWN_PART_LIST", 64), + be_native_module_int("DROPDOWN_PART_SCROLLBAR", 65), + be_native_module_int("DROPDOWN_PART_SELECTED", 66), +// LV Gauge + be_native_module_int("GAUGE_PART_MAIN", 0), + be_native_module_int("GAUGE_PART_MAJOR", 1), + be_native_module_int("GAUGE_PART_NEEDLE", 2), +// LV Img +// LV Imgbtn +// LV Keyboard + be_native_module_int("KEYBOARD_MODE_TEXT_LOWER", 0), + be_native_module_int("KEYBOARD_MODE_TEXT_UPPER", 1), + be_native_module_int("KEYBOARD_MODE_SPECIAL", 2), + be_native_module_int("KEYBOARD_MODE_NUM", 3), + be_native_module_int("KEYBOARD_PART_BG", 0), + be_native_module_int("KEYBOARD_PART_BTN", 1), +// LV Label + be_native_module_int("LABEL_LONG_EXPAND", 0), + be_native_module_int("LABEL_LONG_BREAK", 1), + be_native_module_int("LABEL_LONG_DOT", 2), + be_native_module_int("LABEL_LONG_SROLL", 3), + be_native_module_int("LABEL_LONG_SROLL_CIRC", 4), + be_native_module_int("LABEL_LONG_CROP", 5), + be_native_module_int("LABEL_ALIGN_LEFT", 0), + be_native_module_int("LABEL_ALIGN_CENTER", 1), + be_native_module_int("LABEL_ALIGN_RIGHT", 2), + be_native_module_int("LABEL_ALIGN_AUTO", 3), +// LV Led + be_native_module_int("LED_PART_MAIN", 0), +// LV Line + be_native_module_int("LINEMETER_PART_MAIN", 0), +// LV List + be_native_module_int("LIST_PART_BG", 0), + be_native_module_int("LIST_PART_SCROLLBAR", 1), + be_native_module_int("LIST_PART_EDGE_FLASH", 2), +// LV Msgbox +// enum { +// LV_MSGBOX_PART_BG = LV_CONT_PART_MAIN, +// LV_MSGBOX_PART_BTN_BG = _LV_CONT_PART_REAL_LAST, +// LV_MSGBOX_PART_BTN, +// }; +// LV Objmask + be_native_module_int("OBJMASK_PART_MAIN", 0), +// LV Templ + be_native_module_int("TEMPL_STYLE_X", 0), + be_native_module_int("TEMPL_STYLE_Y", 1), +// LV Page + be_native_module_int("SCROLLBAR_MODE_OFF", 0), + be_native_module_int("SCROLLBAR_MODE_ON", 1), + be_native_module_int("SCROLLBAR_MODE_DRAG", 2), + be_native_module_int("SCROLLBAR_MODE_AUTO", 3), + be_native_module_int("SCROLLBAR_MODE_HIDE", 4), + be_native_module_int("SCROLLBAR_MODE_UNHIDE", 8), + be_native_module_int("PAGE_EDGE_LEFT", 1), + be_native_module_int("PAGE_EDGE_TOP", 2), + be_native_module_int("PAGE_EDGE_RIGHT", 4), + be_native_module_int("PAGE_EDGE_BOTTOM", 8), +// enum { +// LV_PAGE_PART_BG = LV_CONT_PART_MAIN, +// LV_PAGE_PART_SCROLLBAR = _LV_OBJ_PART_VIRTUAL_LAST, +// LV_PAGE_PART_EDGE_FLASH, +// _LV_PAGE_PART_VIRTUAL_LAST, +// LV_PAGE_PART_SCROLLABLE = _LV_OBJ_PART_REAL_LAST, +// _LV_PAGE_PART_REAL_LAST, +// }; +// LV Roller + be_native_module_int("ROLLER_MODE_NORMAL", 0), + be_native_module_int("ROLLER_MODE_INFINITE", 1), +// enum { +// LV_ROLLER_PART_BG = LV_PAGE_PART_BG, +// LV_ROLLER_PART_SELECTED = _LV_PAGE_PART_VIRTUAL_LAST, +// _LV_ROLLER_PART_VIRTUAL_LAST, +// }; +// LV Slider + be_native_module_int("SLIDER_TYPE_NORMAL", 0), + be_native_module_int("SLIDER_TYPE_SYMMETRICAL", 1), + be_native_module_int("SLIDER_TYPE_RANGE", 2), +// enum { +// LV_SLIDER_PART_BG, /** Slider background style. */ +// LV_SLIDER_PART_INDIC, /** Slider indicator (filled area) style. */ +// LV_SLIDER_PART_KNOB, /** Slider knob style. */ +// }; +// LV Spinbox +// enum { +// LV_SPINBOX_PART_BG = LV_TEXTAREA_PART_BG, +// LV_SPINBOX_PART_CURSOR = LV_TEXTAREA_PART_CURSOR, +// _LV_SPINBOX_PART_VIRTUAL_LAST = _LV_TEXTAREA_PART_VIRTUAL_LAST, +// _LV_SPINBOX_PART_REAL_LAST = _LV_TEXTAREA_PART_REAL_LAST, +// }; +// LV Spinner + be_native_module_int("SPINNER_TYPE_SPINNING_ARC", 0), + be_native_module_int("SPINNER_TYPE_FILLSPIN_ARC", 1), + be_native_module_int("SPINNER_TYPE_CONSTANT_ARC", 2), + be_native_module_int("SPINNER_DIR_FORWARD", 0), + be_native_module_int("SPINNER_DIR_BACKWARD", 1), +// enum { +// LV_SPINNER_PART_BG = LV_ARC_PART_BG, +// LV_SPINNER_PART_INDIC = LV_ARC_PART_INDIC, +// _LV_SPINNER_PART_VIRTUAL_LAST, +// _LV_SPINNER_PART_REAL_LAST = _LV_ARC_PART_REAL_LAST, +// }; +// LV Switch +// enum { +// LV_SWITCH_PART_BG = LV_BAR_PART_BG, /**< Switch background. */ +// LV_SWITCH_PART_INDIC = LV_BAR_PART_INDIC, /**< Switch fill area. */ +// LV_SWITCH_PART_KNOB = _LV_BAR_PART_VIRTUAL_LAST, /**< Switch knob. */ +// _LV_SWITCH_PART_VIRTUAL_LAST +// }; +// LV Table +// enum { +// LV_TABLE_PART_BG, /* Because of this member, LV_PART.*CELL1 has enum value of 1, */ +// LV_TABLE_PART_CELL1, /* LV_PART.*CELL2 has an enum value of 2 and so on up to the maximum */ +// LV_TABLE_PART_CELL2, /* number of styles specified by LV_TABLE_CELL_STYLE_CNT */ +// LV_TABLE_PART_CELL3, +// LV_TABLE_PART_CELL4, /* CELL 5-16 are not needed to be defined, the values in this enum +// are there for backward compatibility */ +// }; +// LV Tabview + be_native_module_int("TABVIEW_TAB_POS_NONE", 0), + be_native_module_int("TABVIEW_TAB_POS_TOP", 1), + be_native_module_int("TABVIEW_TAB_POS_BOTTOM", 2), + be_native_module_int("TABVIEW_TAB_POS_LEFT", 3), + be_native_module_int("TABVIEW_TAB_POS_RIGHT", 4), +// enum { +// LV_TABVIEW_PART_BG = LV_OBJ_PART_MAIN, +// _LV_TABVIEW_PART_VIRTUAL_LAST = _LV_OBJ_PART_VIRTUAL_LAST, +// LV_TABVIEW_PART_BG_SCROLLABLE = _LV_OBJ_PART_REAL_LAST, +// LV_TABVIEW_PART_TAB_BG, +// LV_TABVIEW_PART_TAB_BTN, +// LV_TABVIEW_PART_INDIC, +// _LV_TABVIEW_PART_REAL_LAST, +// }; +// LV Textarea + be_native_module_int("TEXTAREA_CURSOR_LAST", 32767), +// enum { +// LV_TEXTAREA_PART_BG = LV_PAGE_PART_BG, /**< Text area background style */ +// LV_TEXTAREA_PART_SCROLLBAR = LV_PAGE_PART_SCROLLBAR, /**< Scrollbar style */ +// LV_TEXTAREA_PART_EDGE_FLASH = LV_PAGE_PART_EDGE_FLASH, /**< Edge flash style */ +// LV_TEXTAREA_PART_CURSOR = _LV_PAGE_PART_VIRTUAL_LAST, /**< Cursor style */ +// LV_TEXTAREA_PART_PLACEHOLDER, /**< Placeholder style */ +// _LV_TEXTAREA_PART_VIRTUAL_LAST, +// _LV_TEXTAREA_PART_REAL_LAST = _LV_PAGE_PART_REAL_LAST, +// }; +// LV Tileview +// enum { +// LV_TILEVIEW_PART_BG = LV_PAGE_PART_BG, +// LV_TILEVIEW_PART_SCROLLBAR = LV_PAGE_PART_SCROLLBAR, +// LV_TILEVIEW_PART_EDGE_FLASH = LV_PAGE_PART_EDGE_FLASH, +// _LV_TILEVIEW_PART_VIRTUAL_LAST = _LV_PAGE_PART_VIRTUAL_LAST, +// _LV_TILEVIEW_PART_REAL_LAST = _LV_PAGE_PART_REAL_LAST +// }; +// LV Win +// enum { +// LV_WIN_PART_BG = LV_OBJ_PART_MAIN, /**< Window object background style. */ +// _LV_WIN_PART_VIRTUAL_LAST, +// LV_WIN_PART_HEADER = _LV_OBJ_PART_REAL_LAST, /**< Window titlebar background style. */ +// LV_WIN_PART_CONTENT_SCROLLABLE, /**< Window content style. */ +// LV_WIN_PART_SCROLLBAR, /**< Window scrollbar style. */ +// _LV_WIN_PART_REAL_LAST +// }; + + + be_native_module_function("start", lv0_start), + be_native_module_function("montserrat_font", lv0_load_montserrat_font), + + // screen and layers + be_native_module_function("scr_act", lv0_scr_act), + be_native_module_function("layer_top", lv0_layer_top), + be_native_module_function("layer_sys", lv0_layer_sys), + be_native_module_function("get_hor_res", lv0_get_hor_res), + be_native_module_function("get_ver_res", lv0_get_ver_res), + + +}; + +be_define_native_module(lvgl, NULL); + +#else + +be_define_local_const_str(SYMBOL_AUDIO, "\xef\x80\x81", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_VIDEO, "\xef\x80\x88", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_LIST, "\xef\x80\x8b", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_OK, "\xef\x80\x8c", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_CLOSE, "\xef\x80\x8d", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_POWER, "\xef\x80\x91", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_SETTINGS, "\xef\x80\x93", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_HOME, "\xef\x80\x95", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_DOWNLOAD, "\xef\x80\x99", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_DRIVE, "\xef\x80\x9c", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_REFRESH, "\xef\x80\xa1", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_MUTE, "\xef\x80\xa6", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_VOLUME_MID, "\xef\x80\xa7", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_VOLUME_MAX, "\xef\x80\xa8", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_IMAGE, "\xef\x80\xbe", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_EDIT, "\xef\x8C\x84", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_PREV, "\xef\x81\x88", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_PLAY, "\xef\x81\x8b", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_PAUSE, "\xef\x81\x8c", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_STOP, "\xef\x81\x8d", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_NEXT, "\xef\x81\x91", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_EJECT, "\xef\x81\x92", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_LEFT, "\xef\x81\x93", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_RIGHT, "\xef\x81\x94", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_PLUS, "\xef\x81\xa7", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_MINUS, "\xef\x81\xa8", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_EYE_OPEN, "\xef\x81\xae", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_EYE_CLOSE, "\xef\x81\xb0", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_WARNING, "\xef\x81\xb1", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_SHUFFLE, "\xef\x81\xb4", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_UP, "\xef\x81\xb7", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_DOWN, "\xef\x81\xb8", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_LOOP, "\xef\x81\xb9", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_DIRECTORY, "\xef\x81\xbb", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_UPLOAD, "\xef\x82\x93", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_CALL, "\xef\x82\x95", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_CUT, "\xef\x83\x84", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_COPY, "\xef\x83\x85", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_SAVE, "\xef\x83\x87", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_CHARGE, "\xef\x83\xa7", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_PASTE, "\xef\x83\xAA", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_BELL, "\xef\x83\xb3", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_KEYBOARD, "\xef\x84\x9c", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_GPS, "\xef\x84\xa4", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_FILE, "\xef\x85\x9b", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_WIFI, "\xef\x87\xab", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_BATTERY_FULL, "\xef\x89\x80", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_BATTERY_3, "\xef\x89\x81", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_BATTERY_2, "\xef\x89\x82", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_BATTERY_1, "\xef\x89\x83", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_BATTERY_EMPTY, "\xef\x89\x84", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_USB, "\xef\x8a\x87", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_BLUETOOTH, "\xef\x8a\x93", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_TRASH, "\xef\x8B\xAD", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_BACKSPACE, "\xef\x95\x9A", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_SD_CARD, "\xef\x9F\x82", 0, 0, 3, 0); +be_define_local_const_str(SYMBOL_NEW_LINE, "\xef\xA2\xA2", 0, 0, 3, 0); + +be_define_local_const_str(SYMBOL_DUMMY, "\xEF\xA3\xBF", 0, 0, 3, 0); + +be_define_local_const_str(SYMBOL_BULLET, "\xE2\x80\xA2", 0, 0, 3, 0); + + +/* @const_object_info_begin +module lvgl (scope: global) { + SYMBOL_AUDIO, str(&be_local_const_str_SYMBOL_AUDIO) + SYMBOL_VIDEO, str(&be_local_const_str_SYMBOL_VIDEO) + SYMBOL_LIST, str(&be_local_const_str_SYMBOL_LIST) + SYMBOL_OK, str(&be_local_const_str_SYMBOL_OK) + SYMBOL_CLOSE, str(&be_local_const_str_SYMBOL_CLOSE) + SYMBOL_POWER, str(&be_local_const_str_SYMBOL_POWER) + SYMBOL_SETTINGS, str(&be_local_const_str_SYMBOL_SETTINGS) + SYMBOL_HOME, str(&be_local_const_str_SYMBOL_HOME) + SYMBOL_DOWNLOAD, str(&be_local_const_str_SYMBOL_DOWNLOAD) + SYMBOL_DRIVE, str(&be_local_const_str_SYMBOL_DRIVE) + SYMBOL_REFRESH, str(&be_local_const_str_SYMBOL_REFRESH) + SYMBOL_MUTE, str(&be_local_const_str_SYMBOL_MUTE) + SYMBOL_VOLUME_MID, str(&be_local_const_str_SYMBOL_VOLUME_MID) + SYMBOL_VOLUME_MAX, str(&be_local_const_str_SYMBOL_VOLUME_MAX) + SYMBOL_IMAGE, str(&be_local_const_str_SYMBOL_IMAGE) + SYMBOL_EDIT, str(&be_local_const_str_SYMBOL_EDIT) + SYMBOL_PREV, str(&be_local_const_str_SYMBOL_PREV) + SYMBOL_PLAY, str(&be_local_const_str_SYMBOL_PLAY) + SYMBOL_PAUSE, str(&be_local_const_str_SYMBOL_PAUSE) + SYMBOL_STOP, str(&be_local_const_str_SYMBOL_STOP) + SYMBOL_NEXT, str(&be_local_const_str_SYMBOL_NEXT) + SYMBOL_EJECT, str(&be_local_const_str_SYMBOL_EJECT) + SYMBOL_LEFT, str(&be_local_const_str_SYMBOL_LEFT) + SYMBOL_RIGHT, str(&be_local_const_str_SYMBOL_RIGHT) + SYMBOL_PLUS, str(&be_local_const_str_SYMBOL_PLUS) + SYMBOL_MINUS, str(&be_local_const_str_SYMBOL_MINUS) + SYMBOL_EYE_OPEN, str(&be_local_const_str_SYMBOL_EYE_OPEN) + SYMBOL_EYE_CLOSE, str(&be_local_const_str_SYMBOL_EYE_CLOSE) + SYMBOL_WARNING, str(&be_local_const_str_SYMBOL_WARNING) + SYMBOL_SHUFFLE, str(&be_local_const_str_SYMBOL_SHUFFLE) + SYMBOL_UP, str(&be_local_const_str_SYMBOL_UP) + SYMBOL_DOWN, str(&be_local_const_str_SYMBOL_DOWN) + SYMBOL_LOOP, str(&be_local_const_str_SYMBOL_LOOP) + SYMBOL_DIRECTORY, str(&be_local_const_str_SYMBOL_DIRECTORY) + SYMBOL_UPLOAD, str(&be_local_const_str_SYMBOL_UPLOAD) + SYMBOL_CALL, str(&be_local_const_str_SYMBOL_CALL) + SYMBOL_CUT, str(&be_local_const_str_SYMBOL_CUT) + SYMBOL_COPY, str(&be_local_const_str_SYMBOL_COPY) + SYMBOL_SAVE, str(&be_local_const_str_SYMBOL_SAVE) + SYMBOL_CHARGE, str(&be_local_const_str_SYMBOL_CHARGE) + SYMBOL_PASTE, str(&be_local_const_str_SYMBOL_PASTE) + SYMBOL_BELL, str(&be_local_const_str_SYMBOL_BELL) + SYMBOL_KEYBOARD, str(&be_local_const_str_SYMBOL_KEYBOARD) + SYMBOL_GPS, str(&be_local_const_str_SYMBOL_GPS) + SYMBOL_FILE, str(&be_local_const_str_SYMBOL_FILE) + SYMBOL_WIFI, str(&be_local_const_str_SYMBOL_WIFI) + SYMBOL_BATTERY_FULL, str(&be_local_const_str_SYMBOL_BATTERY_FULL) + SYMBOL_BATTERY_3, str(&be_local_const_str_SYMBOL_BATTERY_3) + SYMBOL_BATTERY_2, str(&be_local_const_str_SYMBOL_BATTERY_2) + SYMBOL_BATTERY_1, str(&be_local_const_str_SYMBOL_BATTERY_1) + SYMBOL_BATTERY_EMPTY, str(&be_local_const_str_SYMBOL_BATTERY_EMPTY) + SYMBOL_USB, str(&be_local_const_str_SYMBOL_USB) + SYMBOL_BLUETOOTH, str(&be_local_const_str_SYMBOL_BLUETOOTH) + SYMBOL_TRASH, str(&be_local_const_str_SYMBOL_TRASH) + SYMBOL_BACKSPACE, str(&be_local_const_str_SYMBOL_BACKSPACE) + SYMBOL_SD_CARD, str(&be_local_const_str_SYMBOL_SD_CARD) + SYMBOL_NEW_LINE, str(&be_local_const_str_SYMBOL_NEW_LINE) + + SYMBOL_DUMMY, str(&be_local_const_str_SYMBOL_DUMMY) + + SYMBOL_BULLET, str(&be_local_const_str_SYMBOL_BULLET) + + SPI, int(0) + I2C, int(1) + HSPI, int(0) + VSPI, int(1) + SSPI, int(2) + + ALIGN_CENTER, int(0) + ALIGN_IN_TOP_LEFT, int(1) + ALIGN_IN_TOP_MID, int(2) + ALIGN_IN_TOP_RIGHT, int(3) + ALIGN_IN_BOTTOM_LEFT, int(4) + ALIGN_IN_BOTTOM_MID, int(5) + ALIGN_IN_BOTTOM_RIGHT, int(6) + ALIGN_IN_LEFT_MID, int(7) + ALIGN_IN_RIGHT_MID, int(8) + ALIGN_OUT_TOP_LEFT, int(9) + ALIGN_OUT_TOP_MID, int(10) + ALIGN_OUT_TOP_RIGHT, int(11) + ALIGN_OUT_BOTTOM_LEFT, int(12) + ALIGN_OUT_BOTTOM_MID, int(13) + ALIGN_OUT_BOTTOM_RIGHT, int(14) + ALIGN_OUT_LEFT_TOP, int(15) + ALIGN_OUT_LEFT_MID, int(16) + ALIGN_OUT_LEFT_BOTTOM, int(17) + ALIGN_OUT_RIGHT_TOP, int(18) + ALIGN_OUT_RIGHT_MID, int(19) + ALIGN_OUT_RIGHT_BOTTOM, int(20) + DISP_ROT_NONE, int(0) + DISP_ROT_90, int(1) + DISP_ROT_180, int(2) + DISP_ROT_270, int(3) + DISP_SIZE_SMALL, int(0) + DISP_SIZE_MEDIUM, int(1) + DISP_SIZE_LARGE, int(2) + DISP_SIZE_EXTRA_LARGE, int(3) + DRAG_DIR_HOR, int(1) + DRAG_DIR_VER, int(2) + DRAG_DIR_BOTH, int(3) + DRAG_DIR_ONE, int(4) + GESTURE_DIR_TOP, int(0) + GESTURE_DIR_BOTTOM, int(1) + GESTURE_DIR_LEFT, int(2) + GESTURE_DIR_RIGHT, int(3) + ANIM_OFF, int(0) + ANIM_ON, int(1) + BLEND_MODE_NORMAL, int(0) + BLEND_MODE_ADDITIVE, int(1) + BLEND_MODE_SUBTRACTIVE, int(2) + OBJ_PART_MAIN, int(0) + OBJ_PART_VIRTUAL_FIRST, int(1) + OBJ_PART_REAL_FIRST, int(64) + OBJ_PART_ALL, int(255) + STATE_DEFAULT, int(0) + STATE_CHECKED, int(1) + STATE_FOCUSED, int(2) + STATE_EDITED, int(4) + STATE_HOVERED, int(8) + STATE_PRESSED, int(16) + STATE_DISABLED, int(32) + OPA_TRANSP, int(0) + OPA_0, int(0) + OPA_10, int(25) + OPA_20, int(51) + OPA_30, int(76) + OPA_40, int(102) + OPA_50, int(127) + OPA_60, int(153) + OPA_70, int(178) + OPA_80, int(204) + OPA_90, int(229) + OPA_100, int(255) + OPA_COVER, int(255) + WHITE, int(16777215) + SILVER, int(12632256) + GRAY, int(8421504) + BLACK, int(0) + RED, int(16711680) + MAROON, int(8388608) + YELLOW, int(16776960) + OLIVE, int(8421376) + LIME, int(65280) + GREEN, int(32768) + CYAN, int(65535) + AQUA, int(65535) + TEAL, int(32896) + BLUE, int(255) + NAVY, int(128) + MAGENTA, int(16711935) + PURPLE, int(8388736) + KEY_UP, int(17) + KEY_DOWN, int(18) + KEY_RIGHT, int(19) + KEY_LEFT, int(20) + KEY_ESC, int(27) + KEY_DEL, int(127) + KEY_BACKSPACE, int(8) + KEY_ENTER, int(10) + KEY_NEXT, int(9) + KEY_PREV, int(11) + KEY_HOME, int(2) + KEY_END, int(3) + BORDER_SIDE_NONE, int(0) + BORDER_SIDE_BOTTOM, int(1) + BORDER_SIDE_TOP, int(2) + BORDER_SIDE_LEFT, int(4) + BORDER_SIDE_RIGHT, int(8) + BORDER_SIDE_FULL, int(15) + BORDER_SIDE_INTERNAL, int(16) + GRAD_DIR_NONE, int(0) + GRAD_DIR_VER, int(1) + GRAD_DIR_HOR, int(2) + TEXT_DECOR_NONE, int(0) + TEXT_DECOR_UNDERLINE, int(1) + TEXT_DECOR_STRIKETHROUGH, int(2) + STYLE_RADIUS, int(1) + STYLE_CLIP_CORNER, int(2) + STYLE_SIZE, int(3) + STYLE_TRANSFORM_WIDTH, int(4) + STYLE_TRANSFORM_HEIGHT, int(5) + STYLE_TRANSFORM_ANGLE, int(6) + STYLE_TRANSFORM_ZOOM, int(7) + STYLE_OPA_SCALE, int(32780) + STYLE_PAD_TOP, int(16) + STYLE_PAD_BOTTOM, int(17) + STYLE_PAD_LEFT, int(18) + STYLE_PAD_RIGHT, int(19) + STYLE_PAD_INNER, int(20) + STYLE_MARGIN_TOP, int(21) + STYLE_MARGIN_BOTTOM, int(22) + STYLE_MARGIN_LEFT, int(23) + STYLE_MARGIN_RIGHT, int(24) + STYLE_BG_BLEND_MODE, int(32) + STYLE_BG_MAIN_STOP, int(33) + STYLE_BG_GRAD_STOP, int(34) + STYLE_BG_GRAD_DIR, int(35) + STYLE_BG_COLOR, int(41) + STYLE_BG_GRAD_COLOR, int(42) + STYLE_BG_OPA, int(44) + STYLE_BORDER_WIDTH, int(48) + STYLE_BORDER_SIDE, int(49) + STYLE_BORDER_BLEND_MODE, int(50) + STYLE_BORDER_POST, int(51) + STYLE_BORDER_COLOR, int(57) + STYLE_BORDER_OPA, int(60) + STYLE_OUTLINE_WIDTH, int(64) + STYLE_OUTLINE_PAD, int(65) + STYLE_OUTLINE_BLEND_MODE, int(66) + STYLE_OUTLINE_COLOR, int(73) + STYLE_OUTLINE_OPA, int(76) + STYLE_SHADOW_WIDTH, int(80) + STYLE_SHADOW_OFS_X, int(81) + STYLE_SHADOW_OFS_Y, int(82) + STYLE_SHADOW_SPREAD, int(83) + STYLE_SHADOW_BLEND_MODE, int(84) + STYLE_SHADOW_COLOR, int(89) + STYLE_SHADOW_OPA, int(92) + STYLE_PATTERN_BLEND_MODE, int(96) + STYLE_PATTERN_REPEAT, int(97) + STYLE_PATTERN_RECOLOR, int(105) + STYLE_PATTERN_OPA, int(108) + STYLE_PATTERN_RECOLOR_OPA, int(109) + STYLE_PATTERN_IMAGE, int(110) + STYLE_VALUE_LETTER_SPACE, int(112) + STYLE_VALUE_LINE_SPACE, int(113) + STYLE_VALUE_BLEND_MODE, int(114) + STYLE_VALUE_OFS_X, int(115) + STYLE_VALUE_OFS_Y, int(116) + STYLE_VALUE_ALIGN, int(117) + STYLE_VALUE_COLOR, int(121) + STYLE_VALUE_OPA, int(124) + STYLE_VALUE_FONT, int(126) + STYLE_VALUE_STR, int(127) + STYLE_TEXT_LETTER_SPACE, int(32896) + STYLE_TEXT_LINE_SPACE, int(32897) + STYLE_TEXT_DECOR, int(32898) + STYLE_TEXT_BLEND_MODE, int(32899) + STYLE_TEXT_COLOR, int(32905) + STYLE_TEXT_SEL_COLOR, int(32906) + STYLE_TEXT_SEL_BG_COLOR, int(32907) + STYLE_TEXT_OPA, int(32908) + STYLE_TEXT_FONT, int(32910) + STYLE_LINE_WIDTH, int(144) + STYLE_LINE_BLEND_MODE, int(145) + STYLE_LINE_DASH_WIDTH, int(146) + STYLE_LINE_DASH_GAP, int(147) + STYLE_LINE_ROUNDED, int(148) + STYLE_LINE_COLOR, int(153) + STYLE_LINE_OPA, int(156) + STYLE_IMAGE_BLEND_MODE, int(32928) + STYLE_IMAGE_RECOLOR, int(32937) + STYLE_IMAGE_OPA, int(32940) + STYLE_IMAGE_RECOLOR_OPA, int(32941) + STYLE_TRANSITION_TIME, int(176) + STYLE_TRANSITION_DELAY, int(177) + STYLE_TRANSITION_PROP_1, int(178) + STYLE_TRANSITION_PROP_2, int(179) + STYLE_TRANSITION_PROP_3, int(180) + STYLE_TRANSITION_PROP_4, int(181) + STYLE_TRANSITION_PROP_5, int(182) + STYLE_TRANSITION_PROP_6, int(183) + STYLE_TRANSITION_PATH, int(190) + STYLE_SCALE_WIDTH, int(192) + STYLE_SCALE_BORDER_WIDTH, int(193) + STYLE_SCALE_END_BORDER_WIDTH, int(194) + STYLE_SCALE_END_LINE_WIDTH, int(195) + STYLE_SCALE_GRAD_COLOR, int(201) + STYLE_SCALE_END_COLOR, int(202) + TXT_FLAG_NONE, int(0) + TXT_FLAG_RECOLOR, int(1) + TXT_FLAG_EXPAND, int(2) + TXT_FLAG_CENTER, int(4) + TXT_FLAG_RIGHT, int(8) + TXT_FLAG_FIT, int(16) + TXT_CMD_STATE_WAIT, int(0) + TXT_CMD_STATE_PAR, int(1) + TXT_CMD_STATE_IN, int(2) + FS_RES_OK, int(0) + FS_RES_HW_ERR, int(1) + FS_RES_FS_ERR, int(2) + FS_RES_NOT_EX, int(3) + FS_RES_FULL, int(4) + FS_RES_LOCKED, int(5) + FS_RES_DENIED, int(6) + FS_RES_BUSY, int(7) + FS_RES_TOUT, int(8) + FS_RES_NOT_IMP, int(9) + FS_RES_OUT_OF_MEM, int(10) + FS_RES_INV_PARAM, int(11) + FS_RES_UNKNOWN, int(12) + FS_MODE_WR, int(1) + FS_MODE_RD, int(2) + EVENT_PRESSED, int(0) + EVENT_PRESSING, int(1) + EVENT_PRESS_LOST, int(2) + EVENT_SHORT_CLICKED, int(3) + EVENT_LONG_PRESSED, int(4) + EVENT_LONG_PRESSED_REPEAT, int(5) + EVENT_CLICKED, int(6) + EVENT_RELEASED, int(7) + EVENT_DRAG_BEGIN, int(8) + EVENT_DRAG_END, int(9) + EVENT_DRAG_THROW_BEGIN, int(10) + EVENT_GESTURE, int(11) + EVENT_KEY, int(12) + EVENT_FOCUSED, int(13) + EVENT_DEFOCUSED, int(14) + EVENT_LEAVE, int(15) + EVENT_VALUE_CHANGED, int(16) + EVENT_INSERT, int(17) + EVENT_REFRESH, int(18) + EVENT_APPLY, int(19) + EVENT_CANCEL, int(20) + EVENT_DELETE, int(21) + PROTECT_NONE, int(0) + PROTECT_CHILD_CHG, int(1) + PROTECT_PARENT, int(2) + PROTECT_POS, int(4) + PROTECT_FOLLOW, int(8) + PROTECT_PRESS_LOST, int(16) + PROTECT_CLICK_FOCUS, int(32) + PROTECT_EVENT_TO_DISABLED, int(64) + ARC_TYPE_NORMAL, int(0) + ARC_TYPE_SYMMETRIC, int(1) + ARC_TYPE_REVERSE, int(2) + ARC_PART_BG, int(0) + ARC_PART_INDIC, int(1) + ARC_PART_KNOB, int(2) + BAR_TYPE_NORMAL, int(0) + BAR_TYPE_SYMMETRICAL, int(1) + BAR_TYPE_CUSTOM, int(2) + BTN_STATE_RELEASED, int(0) + BTN_STATE_PRESSED, int(1) + BTN_STATE_DISABLED, int(2) + BTN_STATE_CHECKED_RELEASED, int(3) + BTN_STATE_CHECKED_PRESSED, int(4) + BTN_STATE_CHECKED_DISABLED, int(5) + BTNMATRIX_CTRL_HIDDEN, int(8) + BTNMATRIX_CTRL_NO_REPEAT, int(16) + BTNMATRIX_CTRL_DISABLED, int(32) + BTNMATRIX_CTRL_CHECKABLE, int(64) + BTNMATRIX_CTRL_CHECK_STATE, int(128) + BTNMATRIX_CTRL_CLICK_TRIG, int(256) + CALENDAR_PART_BG, int(0) + CALENDAR_PART_HEADER, int(1) + CALENDAR_PART_DAY_NAMES, int(2) + CALENDAR_PART_DATE, int(3) + CHART_TYPE_NONE, int(0) + CHART_TYPE_LINE, int(1) + CHART_TYPE_COLUMN, int(2) + CHART_UPDATE_MODE_SHIFT, int(0) + CHART_UPDATE_MODE_CIRCULAR, int(1) + CHART_AXIS_PRIMARY_Y, int(0) + CHART_AXIS_SECONDARY_Y, int(1) + CHART_CURSOR_NONE, int(0) + CHART_CURSOR_RIGHT, int(1) + CHART_CURSOR_UP, int(2) + CHART_CURSOR_LEFT, int(4) + CHART_CURSOR_DOWN, int(8) + CHART_AXIS_SKIP_LAST_TICK, int(0) + CHART_AXIS_DRAW_LAST_TICK, int(1) + CHART_AXIS_INVERSE_LABELS_ORDER, int(2) + CHART_PART_BG, int(0) + CHART_PART_SERIES_BG, int(1) + CHART_PART_SERIES, int(2) + CHART_PART_CURSOR, int(3) + CHECKBOX_PART_BG, int(0) + CHECKBOX_PART_BULLET, int(64) + LAYOUT_OFF, int(0) + LAYOUT_CENTER, int(1) + LAYOUT_COLUMN_LEFT, int(2) + LAYOUT_COLUMN_MID, int(3) + LAYOUT_COLUMN_RIGHT, int(4) + LAYOUT_ROW_TOP, int(5) + LAYOUT_ROW_MID, int(6) + LAYOUT_ROW_BOTTOM, int(7) + LAYOUT_PRETTY_TOP, int(8) + LAYOUT_PRETTY_MID, int(9) + LAYOUT_PRETTY_BOTTOM, int(10) + LAYOUT_GRID, int(11) + FIT_NONE, int(0) + FIT_TIGHT, int(1) + FIT_PARENT, int(2) + FIT_MAX, int(3) + CPICKER_TYPE_RECT, int(0) + CPICKER_TYPE_DISC, int(1) + CPICKER_COLOR_MODE_HUE, int(0) + CPICKER_COLOR_MODE_SATURATION, int(1) + CPICKER_COLOR_MODE_VALUE, int(2) + CPICKER_PART_MAIN, int(0) + CPICKER_PART_KNOB, int(1) + DROPDOWN_DIR_DOWN, int(0) + DROPDOWN_DIR_UP, int(1) + DROPDOWN_DIR_LEFT, int(2) + DROPDOWN_DIR_RIGHT, int(3) + DROPDOWN_PART_MAIN, int(0) + DROPDOWN_PART_LIST, int(64) + DROPDOWN_PART_SCROLLBAR, int(65) + DROPDOWN_PART_SELECTED, int(66) + GAUGE_PART_MAIN, int(0) + GAUGE_PART_MAJOR, int(1) + GAUGE_PART_NEEDLE, int(2) + KEYBOARD_MODE_TEXT_LOWER, int(0) + KEYBOARD_MODE_TEXT_UPPER, int(1) + KEYBOARD_MODE_SPECIAL, int(2) + KEYBOARD_MODE_NUM, int(3) + KEYBOARD_PART_BG, int(0) + KEYBOARD_PART_BTN, int(1) + LABEL_LONG_EXPAND, int(0) + LABEL_LONG_BREAK, int(1) + LABEL_LONG_DOT, int(2) + LABEL_LONG_SROLL, int(3) + LABEL_LONG_SROLL_CIRC, int(4) + LABEL_LONG_CROP, int(5) + LABEL_ALIGN_LEFT, int(0) + LABEL_ALIGN_CENTER, int(1) + LABEL_ALIGN_RIGHT, int(2) + LABEL_ALIGN_AUTO, int(3) + LED_PART_MAIN, int(0) + LINEMETER_PART_MAIN, int(0) + LIST_PART_BG, int(0) + LIST_PART_SCROLLBAR, int(1) + LIST_PART_EDGE_FLASH, int(2) + OBJMASK_PART_MAIN, int(0) + TEMPL_STYLE_X, int(0) + TEMPL_STYLE_Y, int(1) + SCROLLBAR_MODE_OFF, int(0) + SCROLLBAR_MODE_ON, int(1) + SCROLLBAR_MODE_DRAG, int(2) + SCROLLBAR_MODE_AUTO, int(3) + SCROLLBAR_MODE_HIDE, int(4) + SCROLLBAR_MODE_UNHIDE, int(8) + PAGE_EDGE_LEFT, int(1) + PAGE_EDGE_TOP, int(2) + PAGE_EDGE_RIGHT, int(4) + PAGE_EDGE_BOTTOM, int(8) + ROLLER_MODE_NORMAL, int(0) + ROLLER_MODE_INFINITE, int(1) + SLIDER_TYPE_NORMAL, int(0) + SLIDER_TYPE_SYMMETRICAL, int(1) + SLIDER_TYPE_RANGE, int(2) + SPINNER_TYPE_SPINNING_ARC, int(0) + SPINNER_TYPE_FILLSPIN_ARC, int(1) + SPINNER_TYPE_CONSTANT_ARC, int(2) + SPINNER_DIR_FORWARD, int(0) + SPINNER_DIR_BACKWARD, int(1) + TABVIEW_TAB_POS_NONE, int(0) + TABVIEW_TAB_POS_TOP, int(1) + TABVIEW_TAB_POS_BOTTOM, int(2) + TABVIEW_TAB_POS_LEFT, int(3) + TABVIEW_TAB_POS_RIGHT, int(4) + TEXTAREA_CURSOR_LAST, int(32767) + + start, func(lv0_start) + montserrat_font, func(lv0_load_montserrat_font) + + scr_act, func(lv0_scr_act) + layer_top, func(lv0_layer_top) + layer_sys, func(lv0_layer_sys) + get_hor_res, func(lv0_get_hor_res) + get_ver_res, func(lv0_get_ver_res) + + + +} +@const_object_info_end */ +#include "../generate/be_fixed_lvgl.h" +#endif + +#endif // USE_LVGL + +/********************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_color_lib.c b/lib/libesp32/Berry/default/be_lvgl_color_lib.c new file mode 100644 index 000000000..b53e0228e --- /dev/null +++ b/lib/libesp32/Berry/default/be_lvgl_color_lib.c @@ -0,0 +1,46 @@ +/******************************************************************** + * Tasmota LVGL Font class + *******************************************************************/ +#include "be_object.h" +#include "be_string.h" + +#ifdef USE_LVGL + +#include "lvgl.h" + +extern int lco_init(bvm *vm); // generic function +extern int lco_tostring(bvm *vm); // generic function + + +#if BE_USE_PRECOMPILED_OBJECT +#include "../generate/be_fixed_be_class_lv_color.h" +#endif + +void be_load_lvgl_color_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, // keeping track of styles to avoid GC + { "init", lco_init }, + { "tostring", lco_tostring }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_color", members); +#else + be_pushntvclass(vm, &be_class_lv_color); + be_setglobal(vm, "lv_color"); + be_pop(vm, 1); +#endif +} + +/* @const_object_info_begin +class be_class_lv_color (scope: global, name: lv_color) { + .p, var + init, func(lco_init) + tostring, func(lco_tostring) +} +@const_object_info_end */ + +#endif // USE_LVGL \ No newline at end of file diff --git a/lib/libesp32/Berry/default/be_lvgl_font_lib.c b/lib/libesp32/Berry/default/be_lvgl_font_lib.c new file mode 100644 index 000000000..d0ea031cf --- /dev/null +++ b/lib/libesp32/Berry/default/be_lvgl_font_lib.c @@ -0,0 +1,45 @@ +/******************************************************************** + * Tasmota LVGL Font class + *******************************************************************/ +#include "be_object.h" +#include "be_string.h" + +#ifdef USE_LVGL + +#include "lvgl.h" + +extern int lvx_init(bvm *vm); // generic function +extern int lvx_tostring(bvm *vm); // generic function + +#if BE_USE_PRECOMPILED_OBJECT +#include "../generate/be_fixed_be_class_lv_font.h" +#endif + +void be_load_lvgl_font_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, // keeping track of styles to avoid GC + { "init", lvx_init }, + { "tostring", lvx_tostring }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_font", members); +#else + be_pushntvclass(vm, &be_class_lv_font); + be_setglobal(vm, "lv_font"); + be_pop(vm, 1); +#endif +} + +/* @const_object_info_begin +class be_class_lv_font (scope: global, name: lv_font) { + .p, var + init, func(lvx_init) + tostring, func(lvx_tostring) +} +@const_object_info_end */ + +#endif // USE_LVGL \ No newline at end of file diff --git a/lib/libesp32/Berry/default/be_lvgl_widgets_lib.c b/lib/libesp32/Berry/default/be_lvgl_widgets_lib.c new file mode 100644 index 000000000..ae6f4b43b --- /dev/null +++ b/lib/libesp32/Berry/default/be_lvgl_widgets_lib.c @@ -0,0 +1,4171 @@ + +/******************************************************************** + * Generated code, don't edit + *******************************************************************/ + + /******************************************************************** + * Tasmota LVGL classes for widgets + *******************************************************************/ +#include "be_object.h" +#include "be_string.h" + +#ifdef USE_LVGL + +#include "lvgl.h" + +extern int lv0_start(bvm *vm); + +extern int lv0_scr_act(bvm *vm); +extern int lv0_layer_top(bvm *vm); +extern int lv0_layer_sys(bvm *vm); +extern int lv0_get_hor_res(bvm *vm); +extern int lv0_get_ver_res(bvm *vm); + +extern int lco_init(bvm *vm); +extern int lco_tostring(bvm *vm); + +extern int lvx_init_2(bvm *vm); // generic function +extern int lvx_tostring(bvm *vm); // generic function + +extern int lvs_init(bvm *vm); +extern int lvs_tostring(bvm *vm); + +BE_EXPORT_VARIABLE extern const bclass be_class_lv_obj; + +/* `lv_img` external functions definitions */ +extern int lvbe_img_set_tasmota_logo(bvm *vm); +extern int lvbe_img_create(bvm *vm); +extern int lvbe_img_set_src(bvm *vm); +extern int lvbe_img_set_auto_size(bvm *vm); +extern int lvbe_img_set_offset_x(bvm *vm); +extern int lvbe_img_set_offset_y(bvm *vm); +extern int lvbe_img_set_pivot(bvm *vm); +extern int lvbe_img_set_angle(bvm *vm); +extern int lvbe_img_set_zoom(bvm *vm); +extern int lvbe_img_set_antialias(bvm *vm); +extern int lvbe_img_get_src(bvm *vm); +extern int lvbe_img_get_file_name(bvm *vm); +extern int lvbe_img_get_auto_size(bvm *vm); +extern int lvbe_img_get_offset_x(bvm *vm); +extern int lvbe_img_get_offset_y(bvm *vm); +extern int lvbe_img_get_angle(bvm *vm); +extern int lvbe_img_get_pivot(bvm *vm); +extern int lvbe_img_get_zoom(bvm *vm); +extern int lvbe_img_get_antialias(bvm *vm); + +/* `lv_style` external functions definitions */ +extern int lvbe_style_copy(bvm *vm); +extern int lvbe_style_list_init(bvm *vm); +extern int lvbe_style_list_copy(bvm *vm); +extern int lvbe_style_list_get_style(bvm *vm); +extern int lvbe_style_reset(bvm *vm); +extern int lvbe_style_remove_prop(bvm *vm); +extern int lvbe_style_list_get_local_style(bvm *vm); +extern int lvbe_style_set_radius(bvm *vm); +extern int lvbe_style_set_clip_corner(bvm *vm); +extern int lvbe_style_set_size(bvm *vm); +extern int lvbe_style_set_transform_width(bvm *vm); +extern int lvbe_style_set_transform_height(bvm *vm); +extern int lvbe_style_set_transform_angle(bvm *vm); +extern int lvbe_style_set_transform_zoom(bvm *vm); +extern int lvbe_style_set_opa_scale(bvm *vm); +extern int lvbe_style_set_pad_top(bvm *vm); +extern int lvbe_style_set_pad_bottom(bvm *vm); +extern int lvbe_style_set_pad_left(bvm *vm); +extern int lvbe_style_set_pad_right(bvm *vm); +extern int lvbe_style_set_pad_inner(bvm *vm); +extern int lvbe_style_set_margin_top(bvm *vm); +extern int lvbe_style_set_margin_bottom(bvm *vm); +extern int lvbe_style_set_margin_left(bvm *vm); +extern int lvbe_style_set_margin_right(bvm *vm); +extern int lvbe_style_set_bg_blend_mode(bvm *vm); +extern int lvbe_style_set_bg_main_stop(bvm *vm); +extern int lvbe_style_set_bg_grad_stop(bvm *vm); +extern int lvbe_style_set_bg_grad_dir(bvm *vm); +extern int lvbe_style_set_bg_color(bvm *vm); +extern int lvbe_style_set_bg_grad_color(bvm *vm); +extern int lvbe_style_set_bg_opa(bvm *vm); +extern int lvbe_style_set_border_width(bvm *vm); +extern int lvbe_style_set_border_side(bvm *vm); +extern int lvbe_style_set_border_blend_mode(bvm *vm); +extern int lvbe_style_set_border_post(bvm *vm); +extern int lvbe_style_set_border_color(bvm *vm); +extern int lvbe_style_set_border_opa(bvm *vm); +extern int lvbe_style_set_outline_width(bvm *vm); +extern int lvbe_style_set_outline_pad(bvm *vm); +extern int lvbe_style_set_outline_blend_mode(bvm *vm); +extern int lvbe_style_set_outline_color(bvm *vm); +extern int lvbe_style_set_outline_opa(bvm *vm); +extern int lvbe_style_set_shadow_width(bvm *vm); +extern int lvbe_style_set_shadow_ofs_x(bvm *vm); +extern int lvbe_style_set_shadow_ofs_y(bvm *vm); +extern int lvbe_style_set_shadow_spread(bvm *vm); +extern int lvbe_style_set_shadow_blend_mode(bvm *vm); +extern int lvbe_style_set_shadow_color(bvm *vm); +extern int lvbe_style_set_shadow_opa(bvm *vm); +extern int lvbe_style_set_pattern_repeat(bvm *vm); +extern int lvbe_style_set_pattern_blend_mode(bvm *vm); +extern int lvbe_style_set_pattern_recolor(bvm *vm); +extern int lvbe_style_set_pattern_opa(bvm *vm); +extern int lvbe_style_set_pattern_recolor_opa(bvm *vm); +extern int lvbe_style_set_pattern_image(bvm *vm); +extern int lvbe_style_set_value_letter_space(bvm *vm); +extern int lvbe_style_set_value_line_space(bvm *vm); +extern int lvbe_style_set_value_blend_mode(bvm *vm); +extern int lvbe_style_set_value_ofs_x(bvm *vm); +extern int lvbe_style_set_value_ofs_y(bvm *vm); +extern int lvbe_style_set_value_align(bvm *vm); +extern int lvbe_style_set_value_color(bvm *vm); +extern int lvbe_style_set_value_opa(bvm *vm); +extern int lvbe_style_set_value_font(bvm *vm); +extern int lvbe_style_set_value_str(bvm *vm); +extern int lvbe_style_set_text_letter_space(bvm *vm); +extern int lvbe_style_set_text_line_space(bvm *vm); +extern int lvbe_style_set_text_decor(bvm *vm); +extern int lvbe_style_set_text_blend_mode(bvm *vm); +extern int lvbe_style_set_text_color(bvm *vm); +extern int lvbe_style_set_text_sel_color(bvm *vm); +extern int lvbe_style_set_text_sel_bg_color(bvm *vm); +extern int lvbe_style_set_text_opa(bvm *vm); +extern int lvbe_style_set_text_font(bvm *vm); +extern int lvbe_style_set_line_width(bvm *vm); +extern int lvbe_style_set_line_blend_mode(bvm *vm); +extern int lvbe_style_set_line_dash_width(bvm *vm); +extern int lvbe_style_set_line_dash_gap(bvm *vm); +extern int lvbe_style_set_line_rounded(bvm *vm); +extern int lvbe_style_set_line_color(bvm *vm); +extern int lvbe_style_set_line_opa(bvm *vm); +extern int lvbe_style_set_image_blend_mode(bvm *vm); +extern int lvbe_style_set_image_recolor(bvm *vm); +extern int lvbe_style_set_image_opa(bvm *vm); +extern int lvbe_style_set_image_recolor_opa(bvm *vm); +extern int lvbe_style_set_transition_time(bvm *vm); +extern int lvbe_style_set_transition_delay(bvm *vm); +extern int lvbe_style_set_transition_prop_1(bvm *vm); +extern int lvbe_style_set_transition_prop_2(bvm *vm); +extern int lvbe_style_set_transition_prop_3(bvm *vm); +extern int lvbe_style_set_transition_prop_4(bvm *vm); +extern int lvbe_style_set_transition_prop_5(bvm *vm); +extern int lvbe_style_set_transition_prop_6(bvm *vm); +extern int lvbe_style_set_transition_path(bvm *vm); +extern int lvbe_style_set_scale_width(bvm *vm); +extern int lvbe_style_set_scale_border_width(bvm *vm); +extern int lvbe_style_set_scale_end_border_width(bvm *vm); +extern int lvbe_style_set_scale_end_line_width(bvm *vm); +extern int lvbe_style_set_scale_grad_color(bvm *vm); +extern int lvbe_style_set_scale_end_color(bvm *vm); + +/* `lv_group` external functions definitions */ +extern int lvbe_group_create(bvm *vm); +extern int lvbe_group_del(bvm *vm); +extern int lvbe_group_add_obj(bvm *vm); +extern int lvbe_group_remove_obj(bvm *vm); +extern int lvbe_group_remove_all_objs(bvm *vm); +extern int lvbe_group_focus_obj(bvm *vm); +extern int lvbe_group_focus_next(bvm *vm); +extern int lvbe_group_focus_prev(bvm *vm); +extern int lvbe_group_focus_freeze(bvm *vm); +extern int lvbe_group_send_data(bvm *vm); +extern int lvbe_group_set_focus_cb(bvm *vm); +extern int lvbe_group_set_refocus_policy(bvm *vm); +extern int lvbe_group_set_editing(bvm *vm); +extern int lvbe_group_set_click_focus(bvm *vm); +extern int lvbe_group_set_wrap(bvm *vm); +extern int lvbe_group_get_focused(bvm *vm); +extern int lvbe_group_get_focus_cb(bvm *vm); +extern int lvbe_group_get_editing(bvm *vm); +extern int lvbe_group_get_click_focus(bvm *vm); +extern int lvbe_group_get_wrap(bvm *vm); + +/* `lv_obj` external functions definitions */ +extern int lvbe_obj_create(bvm *vm); +extern int lvbe_obj_del(bvm *vm); +extern int lvbe_obj_del_anim_ready_cb(bvm *vm); +extern int lvbe_obj_del_async(bvm *vm); +extern int lvbe_obj_clean(bvm *vm); +extern int lvbe_obj_invalidate_area(bvm *vm); +extern int lvbe_obj_invalidate(bvm *vm); +extern int lvbe_obj_area_is_visible(bvm *vm); +extern int lvbe_obj_is_visible(bvm *vm); +extern int lvbe_obj_set_parent(bvm *vm); +extern int lvbe_obj_move_foreground(bvm *vm); +extern int lvbe_obj_move_background(bvm *vm); +extern int lvbe_obj_set_pos(bvm *vm); +extern int lvbe_obj_set_x(bvm *vm); +extern int lvbe_obj_set_y(bvm *vm); +extern int lvbe_obj_set_size(bvm *vm); +extern int lvbe_obj_set_width(bvm *vm); +extern int lvbe_obj_set_height(bvm *vm); +extern int lvbe_obj_set_width_fit(bvm *vm); +extern int lvbe_obj_set_height_fit(bvm *vm); +extern int lvbe_obj_set_width_margin(bvm *vm); +extern int lvbe_obj_set_height_margin(bvm *vm); +extern int lvbe_obj_align(bvm *vm); +extern int lvbe_obj_align_x(bvm *vm); +extern int lvbe_obj_align_y(bvm *vm); +extern int lvbe_obj_align_mid(bvm *vm); +extern int lvbe_obj_align_mid_x(bvm *vm); +extern int lvbe_obj_align_mid_y(bvm *vm); +extern int lvbe_obj_realign(bvm *vm); +extern int lvbe_obj_set_auto_realign(bvm *vm); +extern int lvbe_obj_set_ext_click_area(bvm *vm); +extern int lvbe_obj_add_style(bvm *vm); +extern int lvbe_obj_remove_style(bvm *vm); +extern int lvbe_obj_clean_style_list(bvm *vm); +extern int lvbe_obj_reset_style_list(bvm *vm); +extern int lvbe_obj_refresh_style(bvm *vm); +extern int lvbe_obj_report_style_mod(bvm *vm); +extern int lvbe_obj_remove_style_local_prop(bvm *vm); +extern int lvbe_obj_set_hidden(bvm *vm); +extern int lvbe_obj_set_adv_hittest(bvm *vm); +extern int lvbe_obj_set_click(bvm *vm); +extern int lvbe_obj_set_top(bvm *vm); +extern int lvbe_obj_set_drag(bvm *vm); +extern int lvbe_obj_set_drag_dir(bvm *vm); +extern int lvbe_obj_set_drag_throw(bvm *vm); +extern int lvbe_obj_set_drag_parent(bvm *vm); +extern int lvbe_obj_set_focus_parent(bvm *vm); +extern int lvbe_obj_set_gesture_parent(bvm *vm); +extern int lvbe_obj_set_parent_event(bvm *vm); +extern int lvbe_obj_set_base_dir(bvm *vm); +extern int lvbe_obj_add_protect(bvm *vm); +extern int lvbe_obj_clear_protect(bvm *vm); +extern int lvbe_obj_set_state(bvm *vm); +extern int lvbe_obj_add_state(bvm *vm); +extern int lvbe_obj_clear_state(bvm *vm); +extern int lvbe_obj_finish_transitions(bvm *vm); +extern int lvbe_obj_set_event_cb(bvm *vm); +extern int lvbe_obj_set_signal_cb(bvm *vm); +extern int lvbe_obj_set_design_cb(bvm *vm); +extern int lvbe_obj_allocate_ext_attr(bvm *vm); +extern int lvbe_obj_refresh_ext_draw_pad(bvm *vm); +extern int lvbe_obj_get_screen(bvm *vm); +extern int lvbe_obj_get_parent(bvm *vm); +extern int lvbe_obj_get_child(bvm *vm); +extern int lvbe_obj_get_child_back(bvm *vm); +extern int lvbe_obj_count_children(bvm *vm); +extern int lvbe_obj_count_children_recursive(bvm *vm); +extern int lvbe_obj_get_coords(bvm *vm); +extern int lvbe_obj_get_inner_coords(bvm *vm); +extern int lvbe_obj_get_x(bvm *vm); +extern int lvbe_obj_get_y(bvm *vm); +extern int lvbe_obj_get_width(bvm *vm); +extern int lvbe_obj_get_height(bvm *vm); +extern int lvbe_obj_get_width_fit(bvm *vm); +extern int lvbe_obj_get_height_fit(bvm *vm); +extern int lvbe_obj_get_height_margin(bvm *vm); +extern int lvbe_obj_get_width_margin(bvm *vm); +extern int lvbe_obj_get_width_grid(bvm *vm); +extern int lvbe_obj_get_height_grid(bvm *vm); +extern int lvbe_obj_get_auto_realign(bvm *vm); +extern int lvbe_obj_get_ext_click_pad_left(bvm *vm); +extern int lvbe_obj_get_ext_click_pad_right(bvm *vm); +extern int lvbe_obj_get_ext_click_pad_top(bvm *vm); +extern int lvbe_obj_get_ext_click_pad_bottom(bvm *vm); +extern int lvbe_obj_get_ext_draw_pad(bvm *vm); +extern int lvbe_obj_get_local_style(bvm *vm); +extern int lvbe_obj_get_hidden(bvm *vm); +extern int lvbe_obj_get_adv_hittest(bvm *vm); +extern int lvbe_obj_get_click(bvm *vm); +extern int lvbe_obj_get_top(bvm *vm); +extern int lvbe_obj_get_drag(bvm *vm); +extern int lvbe_obj_get_drag_dir(bvm *vm); +extern int lvbe_obj_get_drag_throw(bvm *vm); +extern int lvbe_obj_get_drag_parent(bvm *vm); +extern int lvbe_obj_get_focus_parent(bvm *vm); +extern int lvbe_obj_get_parent_event(bvm *vm); +extern int lvbe_obj_get_gesture_parent(bvm *vm); +extern int lvbe_obj_get_base_dir(bvm *vm); +extern int lvbe_obj_get_protect(bvm *vm); +extern int lvbe_obj_is_protected(bvm *vm); +extern int lvbe_obj_get_state(bvm *vm); +extern int lvbe_obj_is_point_on_coords(bvm *vm); +extern int lvbe_obj_hittest(bvm *vm); +extern int lvbe_obj_get_ext_attr(bvm *vm); +extern int lvbe_obj_get_type(bvm *vm); +extern int lvbe_obj_get_user_data(bvm *vm); +extern int lvbe_obj_set_user_data(bvm *vm); +extern int lvbe_obj_get_group(bvm *vm); +extern int lvbe_obj_is_focused(bvm *vm); +extern int lvbe_obj_get_focused_obj(bvm *vm); +extern int lvbe_obj_handle_get_type_signal(bvm *vm); +extern int lvbe_obj_init_draw_rect_dsc(bvm *vm); +extern int lvbe_obj_init_draw_label_dsc(bvm *vm); +extern int lvbe_obj_init_draw_img_dsc(bvm *vm); +extern int lvbe_obj_init_draw_line_dsc(bvm *vm); +extern int lvbe_obj_get_draw_rect_ext_pad_size(bvm *vm); +extern int lvbe_obj_fade_in(bvm *vm); +extern int lvbe_obj_fade_out(bvm *vm); +extern int lvbe_obj_get_style_radius(bvm *vm); +extern int lvbe_obj_set_style_local_radius(bvm *vm); +extern int lvbe_obj_get_style_clip_corner(bvm *vm); +extern int lvbe_obj_set_style_local_clip_corner(bvm *vm); +extern int lvbe_obj_get_style_size(bvm *vm); +extern int lvbe_obj_set_style_local_size(bvm *vm); +extern int lvbe_obj_get_style_transform_width(bvm *vm); +extern int lvbe_obj_set_style_local_transform_width(bvm *vm); +extern int lvbe_obj_get_style_transform_height(bvm *vm); +extern int lvbe_obj_set_style_local_transform_height(bvm *vm); +extern int lvbe_obj_get_style_transform_angle(bvm *vm); +extern int lvbe_obj_set_style_local_transform_angle(bvm *vm); +extern int lvbe_obj_get_style_transform_zoom(bvm *vm); +extern int lvbe_obj_set_style_local_transform_zoom(bvm *vm); +extern int lvbe_obj_get_style_opa_scale(bvm *vm); +extern int lvbe_obj_set_style_local_opa_scale(bvm *vm); +extern int lvbe_obj_get_style_pad_top(bvm *vm); +extern int lvbe_obj_set_style_local_pad_top(bvm *vm); +extern int lvbe_obj_get_style_pad_bottom(bvm *vm); +extern int lvbe_obj_set_style_local_pad_bottom(bvm *vm); +extern int lvbe_obj_get_style_pad_left(bvm *vm); +extern int lvbe_obj_set_style_local_pad_left(bvm *vm); +extern int lvbe_obj_get_style_pad_right(bvm *vm); +extern int lvbe_obj_set_style_local_pad_right(bvm *vm); +extern int lvbe_obj_get_style_pad_inner(bvm *vm); +extern int lvbe_obj_set_style_local_pad_inner(bvm *vm); +extern int lvbe_obj_get_style_margin_top(bvm *vm); +extern int lvbe_obj_set_style_local_margin_top(bvm *vm); +extern int lvbe_obj_get_style_margin_bottom(bvm *vm); +extern int lvbe_obj_set_style_local_margin_bottom(bvm *vm); +extern int lvbe_obj_get_style_margin_left(bvm *vm); +extern int lvbe_obj_set_style_local_margin_left(bvm *vm); +extern int lvbe_obj_get_style_margin_right(bvm *vm); +extern int lvbe_obj_set_style_local_margin_right(bvm *vm); +extern int lvbe_obj_set_style_local_bg_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_bg_main_stop(bvm *vm); +extern int lvbe_obj_set_style_local_bg_main_stop(bvm *vm); +extern int lvbe_obj_get_style_bg_grad_stop(bvm *vm); +extern int lvbe_obj_set_style_local_bg_grad_stop(bvm *vm); +extern int lvbe_obj_set_style_local_bg_grad_dir(bvm *vm); +extern int lvbe_obj_get_style_bg_color(bvm *vm); +extern int lvbe_obj_set_style_local_bg_color(bvm *vm); +extern int lvbe_obj_get_style_bg_grad_color(bvm *vm); +extern int lvbe_obj_set_style_local_bg_grad_color(bvm *vm); +extern int lvbe_obj_get_style_bg_opa(bvm *vm); +extern int lvbe_obj_set_style_local_bg_opa(bvm *vm); +extern int lvbe_obj_get_style_border_width(bvm *vm); +extern int lvbe_obj_set_style_local_border_width(bvm *vm); +extern int lvbe_obj_set_style_local_border_side(bvm *vm); +extern int lvbe_obj_set_style_local_border_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_border_post(bvm *vm); +extern int lvbe_obj_set_style_local_border_post(bvm *vm); +extern int lvbe_obj_get_style_border_color(bvm *vm); +extern int lvbe_obj_set_style_local_border_color(bvm *vm); +extern int lvbe_obj_get_style_border_opa(bvm *vm); +extern int lvbe_obj_set_style_local_border_opa(bvm *vm); +extern int lvbe_obj_get_style_outline_width(bvm *vm); +extern int lvbe_obj_set_style_local_outline_width(bvm *vm); +extern int lvbe_obj_get_style_outline_pad(bvm *vm); +extern int lvbe_obj_set_style_local_outline_pad(bvm *vm); +extern int lvbe_obj_set_style_local_outline_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_outline_color(bvm *vm); +extern int lvbe_obj_set_style_local_outline_color(bvm *vm); +extern int lvbe_obj_get_style_outline_opa(bvm *vm); +extern int lvbe_obj_set_style_local_outline_opa(bvm *vm); +extern int lvbe_obj_get_style_shadow_width(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_width(bvm *vm); +extern int lvbe_obj_get_style_shadow_ofs_x(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_ofs_x(bvm *vm); +extern int lvbe_obj_get_style_shadow_ofs_y(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_ofs_y(bvm *vm); +extern int lvbe_obj_get_style_shadow_spread(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_spread(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_shadow_color(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_color(bvm *vm); +extern int lvbe_obj_get_style_shadow_opa(bvm *vm); +extern int lvbe_obj_set_style_local_shadow_opa(bvm *vm); +extern int lvbe_obj_get_style_pattern_repeat(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_repeat(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_pattern_recolor(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_recolor(bvm *vm); +extern int lvbe_obj_get_style_pattern_opa(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_opa(bvm *vm); +extern int lvbe_obj_get_style_pattern_recolor_opa(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_recolor_opa(bvm *vm); +extern int lvbe_obj_get_style_pattern_image(bvm *vm); +extern int lvbe_obj_set_style_local_pattern_image(bvm *vm); +extern int lvbe_obj_get_style_value_letter_space(bvm *vm); +extern int lvbe_obj_set_style_local_value_letter_space(bvm *vm); +extern int lvbe_obj_get_style_value_line_space(bvm *vm); +extern int lvbe_obj_set_style_local_value_line_space(bvm *vm); +extern int lvbe_obj_set_style_local_value_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_value_ofs_x(bvm *vm); +extern int lvbe_obj_set_style_local_value_ofs_x(bvm *vm); +extern int lvbe_obj_get_style_value_ofs_y(bvm *vm); +extern int lvbe_obj_set_style_local_value_ofs_y(bvm *vm); +extern int lvbe_obj_set_style_local_value_align(bvm *vm); +extern int lvbe_obj_get_style_value_color(bvm *vm); +extern int lvbe_obj_set_style_local_value_color(bvm *vm); +extern int lvbe_obj_get_style_value_opa(bvm *vm); +extern int lvbe_obj_set_style_local_value_opa(bvm *vm); +extern int lvbe_obj_set_style_local_value_font(bvm *vm); +extern int lvbe_obj_get_style_value_str(bvm *vm); +extern int lvbe_obj_set_style_local_value_str(bvm *vm); +extern int lvbe_obj_get_style_text_letter_space(bvm *vm); +extern int lvbe_obj_set_style_local_text_letter_space(bvm *vm); +extern int lvbe_obj_get_style_text_line_space(bvm *vm); +extern int lvbe_obj_set_style_local_text_line_space(bvm *vm); +extern int lvbe_obj_set_style_local_text_decor(bvm *vm); +extern int lvbe_obj_set_style_local_text_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_text_color(bvm *vm); +extern int lvbe_obj_set_style_local_text_color(bvm *vm); +extern int lvbe_obj_get_style_text_sel_color(bvm *vm); +extern int lvbe_obj_set_style_local_text_sel_color(bvm *vm); +extern int lvbe_obj_get_style_text_sel_bg_color(bvm *vm); +extern int lvbe_obj_set_style_local_text_sel_bg_color(bvm *vm); +extern int lvbe_obj_get_style_text_opa(bvm *vm); +extern int lvbe_obj_set_style_local_text_opa(bvm *vm); +extern int lvbe_obj_set_style_local_text_font(bvm *vm); +extern int lvbe_obj_get_style_line_width(bvm *vm); +extern int lvbe_obj_set_style_local_line_width(bvm *vm); +extern int lvbe_obj_set_style_local_line_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_line_dash_width(bvm *vm); +extern int lvbe_obj_set_style_local_line_dash_width(bvm *vm); +extern int lvbe_obj_get_style_line_dash_gap(bvm *vm); +extern int lvbe_obj_set_style_local_line_dash_gap(bvm *vm); +extern int lvbe_obj_get_style_line_rounded(bvm *vm); +extern int lvbe_obj_set_style_local_line_rounded(bvm *vm); +extern int lvbe_obj_get_style_line_color(bvm *vm); +extern int lvbe_obj_set_style_local_line_color(bvm *vm); +extern int lvbe_obj_get_style_line_opa(bvm *vm); +extern int lvbe_obj_set_style_local_line_opa(bvm *vm); +extern int lvbe_obj_set_style_local_image_blend_mode(bvm *vm); +extern int lvbe_obj_get_style_image_recolor(bvm *vm); +extern int lvbe_obj_set_style_local_image_recolor(bvm *vm); +extern int lvbe_obj_get_style_image_opa(bvm *vm); +extern int lvbe_obj_set_style_local_image_opa(bvm *vm); +extern int lvbe_obj_get_style_image_recolor_opa(bvm *vm); +extern int lvbe_obj_set_style_local_image_recolor_opa(bvm *vm); +extern int lvbe_obj_get_style_transition_time(bvm *vm); +extern int lvbe_obj_set_style_local_transition_time(bvm *vm); +extern int lvbe_obj_get_style_transition_delay(bvm *vm); +extern int lvbe_obj_set_style_local_transition_delay(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_1(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_1(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_2(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_2(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_3(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_3(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_4(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_4(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_5(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_5(bvm *vm); +extern int lvbe_obj_get_style_transition_prop_6(bvm *vm); +extern int lvbe_obj_set_style_local_transition_prop_6(bvm *vm); +extern int lvbe_obj_set_style_local_transition_path(bvm *vm); +extern int lvbe_obj_get_style_scale_width(bvm *vm); +extern int lvbe_obj_set_style_local_scale_width(bvm *vm); +extern int lvbe_obj_get_style_scale_border_width(bvm *vm); +extern int lvbe_obj_set_style_local_scale_border_width(bvm *vm); +extern int lvbe_obj_get_style_scale_end_border_width(bvm *vm); +extern int lvbe_obj_set_style_local_scale_end_border_width(bvm *vm); +extern int lvbe_obj_get_style_scale_end_line_width(bvm *vm); +extern int lvbe_obj_set_style_local_scale_end_line_width(bvm *vm); +extern int lvbe_obj_get_style_scale_grad_color(bvm *vm); +extern int lvbe_obj_set_style_local_scale_grad_color(bvm *vm); +extern int lvbe_obj_get_style_scale_end_color(bvm *vm); +extern int lvbe_obj_set_style_local_scale_end_color(bvm *vm); + +/* `lv_arc` external functions definitions */ +extern int lvbe_arc_create(bvm *vm); +extern int lvbe_arc_set_start_angle(bvm *vm); +extern int lvbe_arc_set_end_angle(bvm *vm); +extern int lvbe_arc_set_angles(bvm *vm); +extern int lvbe_arc_set_bg_start_angle(bvm *vm); +extern int lvbe_arc_set_bg_end_angle(bvm *vm); +extern int lvbe_arc_set_bg_angles(bvm *vm); +extern int lvbe_arc_set_rotation(bvm *vm); +extern int lvbe_arc_set_type(bvm *vm); +extern int lvbe_arc_set_value(bvm *vm); +extern int lvbe_arc_set_range(bvm *vm); +extern int lvbe_arc_set_chg_rate(bvm *vm); +extern int lvbe_arc_set_adjustable(bvm *vm); +extern int lvbe_arc_get_angle_start(bvm *vm); +extern int lvbe_arc_get_angle_end(bvm *vm); +extern int lvbe_arc_get_bg_angle_start(bvm *vm); +extern int lvbe_arc_get_bg_angle_end(bvm *vm); +extern int lvbe_arc_get_type(bvm *vm); +extern int lvbe_arc_get_value(bvm *vm); +extern int lvbe_arc_get_min_value(bvm *vm); +extern int lvbe_arc_get_max_value(bvm *vm); +extern int lvbe_arc_is_dragged(bvm *vm); +extern int lvbe_arc_get_adjustable(bvm *vm); + +/* `lv_bar` external functions definitions */ +extern int lvbe_bar_create(bvm *vm); +extern int lvbe_bar_set_value(bvm *vm); +extern int lvbe_bar_set_start_value(bvm *vm); +extern int lvbe_bar_set_range(bvm *vm); +extern int lvbe_bar_set_type(bvm *vm); +extern int lvbe_bar_set_anim_time(bvm *vm); +extern int lvbe_bar_get_value(bvm *vm); +extern int lvbe_bar_get_start_value(bvm *vm); +extern int lvbe_bar_get_min_value(bvm *vm); +extern int lvbe_bar_get_max_value(bvm *vm); +extern int lvbe_bar_get_type(bvm *vm); +extern int lvbe_bar_get_anim_time(bvm *vm); + +/* `lv_btn` external functions definitions */ +extern int lvbe_btn_create(bvm *vm); +extern int lvbe_btn_set_checkable(bvm *vm); +extern int lvbe_btn_set_state(bvm *vm); +extern int lvbe_btn_toggle(bvm *vm); +extern int lvbe_btn_set_layout(bvm *vm); +extern int lvbe_btn_set_fit4(bvm *vm); +extern int lvbe_btn_set_fit2(bvm *vm); +extern int lvbe_btn_set_fit(bvm *vm); +extern int lvbe_btn_get_state(bvm *vm); +extern int lvbe_btn_get_checkable(bvm *vm); +extern int lvbe_btn_get_layout(bvm *vm); +extern int lvbe_btn_get_fit_left(bvm *vm); +extern int lvbe_btn_get_fit_right(bvm *vm); +extern int lvbe_btn_get_fit_top(bvm *vm); +extern int lvbe_btn_get_fit_bottom(bvm *vm); + +/* `lv_btnmatrix` external functions definitions */ +extern int lvbe_btnmatrix_create(bvm *vm); +extern int lvbe_btnmatrix_set_map(bvm *vm); +extern int lvbe_btnmatrix_set_ctrl_map(bvm *vm); +extern int lvbe_btnmatrix_set_focused_btn(bvm *vm); +extern int lvbe_btnmatrix_set_recolor(bvm *vm); +extern int lvbe_btnmatrix_set_btn_ctrl(bvm *vm); +extern int lvbe_btnmatrix_clear_btn_ctrl(bvm *vm); +extern int lvbe_btnmatrix_set_btn_ctrl_all(bvm *vm); +extern int lvbe_btnmatrix_clear_btn_ctrl_all(bvm *vm); +extern int lvbe_btnmatrix_set_btn_width(bvm *vm); +extern int lvbe_btnmatrix_set_one_check(bvm *vm); +extern int lvbe_btnmatrix_set_align(bvm *vm); +extern int lvbe_btnmatrix_get_recolor(bvm *vm); +extern int lvbe_btnmatrix_get_active_btn(bvm *vm); +extern int lvbe_btnmatrix_get_active_btn_text(bvm *vm); +extern int lvbe_btnmatrix_get_focused_btn(bvm *vm); +extern int lvbe_btnmatrix_get_btn_text(bvm *vm); +extern int lvbe_btnmatrix_get_btn_ctrl(bvm *vm); +extern int lvbe_btnmatrix_get_one_check(bvm *vm); +extern int lvbe_btnmatrix_get_align(bvm *vm); + +/* `lv_calendar` external functions definitions */ +extern int lvbe_calendar_create(bvm *vm); +extern int lvbe_calendar_set_today_date(bvm *vm); +extern int lvbe_calendar_set_showed_date(bvm *vm); +extern int lvbe_calendar_set_highlighted_dates(bvm *vm); +extern int lvbe_calendar_set_day_names(bvm *vm); +extern int lvbe_calendar_set_month_names(bvm *vm); +extern int lvbe_calendar_get_highlighted_dates_num(bvm *vm); +extern int lvbe_calendar_get_day_of_week(bvm *vm); + +/* `lv_canvas` external functions definitions */ +extern int lvbe_canvas_create(bvm *vm); +extern int lvbe_canvas_set_buffer(bvm *vm); +extern int lvbe_canvas_set_px(bvm *vm); +extern int lvbe_canvas_set_palette(bvm *vm); +extern int lvbe_canvas_get_px(bvm *vm); +extern int lvbe_canvas_copy_buf(bvm *vm); +extern int lvbe_canvas_transform(bvm *vm); +extern int lvbe_canvas_blur_hor(bvm *vm); +extern int lvbe_canvas_blur_ver(bvm *vm); +extern int lvbe_canvas_fill_bg(bvm *vm); +extern int lvbe_canvas_draw_rect(bvm *vm); +extern int lvbe_canvas_draw_text(bvm *vm); +extern int lvbe_canvas_draw_img(bvm *vm); +extern int lvbe_canvas_draw_line(bvm *vm); +extern int lvbe_canvas_draw_polygon(bvm *vm); +extern int lvbe_canvas_draw_arc(bvm *vm); + +/* `lv_chart` external functions definitions */ +extern int lvbe_chart_create(bvm *vm); +extern int lvbe_chart_remove_series(bvm *vm); +extern int lvbe_chart_clear_series(bvm *vm); +extern int lvbe_chart_hide_series(bvm *vm); +extern int lvbe_chart_set_div_line_count(bvm *vm); +extern int lvbe_chart_set_y_range(bvm *vm); +extern int lvbe_chart_set_type(bvm *vm); +extern int lvbe_chart_set_point_count(bvm *vm); +extern int lvbe_chart_init_points(bvm *vm); +extern int lvbe_chart_set_points(bvm *vm); +extern int lvbe_chart_set_next(bvm *vm); +extern int lvbe_chart_set_update_mode(bvm *vm); +extern int lvbe_chart_set_x_tick_length(bvm *vm); +extern int lvbe_chart_set_y_tick_length(bvm *vm); +extern int lvbe_chart_set_secondary_y_tick_length(bvm *vm); +extern int lvbe_chart_set_x_tick_texts(bvm *vm); +extern int lvbe_chart_set_secondary_y_tick_texts(bvm *vm); +extern int lvbe_chart_set_y_tick_texts(bvm *vm); +extern int lvbe_chart_set_x_start_point(bvm *vm); +extern int lvbe_chart_set_ext_array(bvm *vm); +extern int lvbe_chart_set_point_id(bvm *vm); +extern int lvbe_chart_set_series_axis(bvm *vm); +extern int lvbe_chart_set_cursor_point(bvm *vm); +extern int lvbe_chart_get_type(bvm *vm); +extern int lvbe_chart_get_point_count(bvm *vm); +extern int lvbe_chart_get_x_start_point(bvm *vm); +extern int lvbe_chart_get_point_id(bvm *vm); +extern int lvbe_chart_get_series_axis(bvm *vm); +extern int lvbe_chart_get_series_area(bvm *vm); +extern int lvbe_chart_get_cursor_point(bvm *vm); +extern int lvbe_chart_get_nearest_index_from_coord(bvm *vm); +extern int lvbe_chart_get_x_from_index(bvm *vm); +extern int lvbe_chart_get_y_from_index(bvm *vm); +extern int lvbe_chart_refresh(bvm *vm); + +/* `lv_checkbox` external functions definitions */ +extern int lvbe_checkbox_create(bvm *vm); +extern int lvbe_checkbox_set_text(bvm *vm); +extern int lvbe_checkbox_set_text_static(bvm *vm); +extern int lvbe_checkbox_set_checked(bvm *vm); +extern int lvbe_checkbox_set_disabled(bvm *vm); +extern int lvbe_checkbox_set_state(bvm *vm); +extern int lvbe_checkbox_get_text(bvm *vm); +extern int lvbe_checkbox_is_checked(bvm *vm); +extern int lvbe_checkbox_is_inactive(bvm *vm); +extern int lvbe_checkbox_get_state(bvm *vm); + +/* `lv_cont` external functions definitions */ +extern int lvbe_cont_create(bvm *vm); +extern int lvbe_cont_set_layout(bvm *vm); +extern int lvbe_cont_set_fit4(bvm *vm); +extern int lvbe_cont_set_fit2(bvm *vm); +extern int lvbe_cont_set_fit(bvm *vm); +extern int lvbe_cont_get_layout(bvm *vm); +extern int lvbe_cont_get_fit_left(bvm *vm); +extern int lvbe_cont_get_fit_right(bvm *vm); +extern int lvbe_cont_get_fit_top(bvm *vm); +extern int lvbe_cont_get_fit_bottom(bvm *vm); + +/* `lv_cpicker` external functions definitions */ +extern int lvbe_cpicker_create(bvm *vm); +extern int lvbe_cpicker_set_type(bvm *vm); +extern int lvbe_cpicker_set_hue(bvm *vm); +extern int lvbe_cpicker_set_saturation(bvm *vm); +extern int lvbe_cpicker_set_value(bvm *vm); +extern int lvbe_cpicker_set_hsv(bvm *vm); +extern int lvbe_cpicker_set_color(bvm *vm); +extern int lvbe_cpicker_set_color_mode(bvm *vm); +extern int lvbe_cpicker_set_color_mode_fixed(bvm *vm); +extern int lvbe_cpicker_set_knob_colored(bvm *vm); +extern int lvbe_cpicker_get_color_mode(bvm *vm); +extern int lvbe_cpicker_get_color_mode_fixed(bvm *vm); +extern int lvbe_cpicker_get_hue(bvm *vm); +extern int lvbe_cpicker_get_saturation(bvm *vm); +extern int lvbe_cpicker_get_value(bvm *vm); +extern int lvbe_cpicker_get_hsv(bvm *vm); +extern int lvbe_cpicker_get_color(bvm *vm); +extern int lvbe_cpicker_get_knob_colored(bvm *vm); + +/* `lv_dropdown` external functions definitions */ +extern int lvbe_dropdown_create(bvm *vm); +extern int lvbe_dropdown_set_text(bvm *vm); +extern int lvbe_dropdown_clear_options(bvm *vm); +extern int lvbe_dropdown_set_options(bvm *vm); +extern int lvbe_dropdown_set_options_static(bvm *vm); +extern int lvbe_dropdown_add_option(bvm *vm); +extern int lvbe_dropdown_set_selected(bvm *vm); +extern int lvbe_dropdown_set_dir(bvm *vm); +extern int lvbe_dropdown_set_max_height(bvm *vm); +extern int lvbe_dropdown_set_symbol(bvm *vm); +extern int lvbe_dropdown_set_show_selected(bvm *vm); +extern int lvbe_dropdown_get_text(bvm *vm); +extern int lvbe_dropdown_get_options(bvm *vm); +extern int lvbe_dropdown_get_selected(bvm *vm); +extern int lvbe_dropdown_get_option_cnt(bvm *vm); +extern int lvbe_dropdown_get_selected_str(bvm *vm); +extern int lvbe_dropdown_get_max_height(bvm *vm); +extern int lvbe_dropdown_get_symbol(bvm *vm); +extern int lvbe_dropdown_get_dir(bvm *vm); +extern int lvbe_dropdown_get_show_selected(bvm *vm); +extern int lvbe_dropdown_open(bvm *vm); +extern int lvbe_dropdown_close(bvm *vm); + +/* `lv_gauge` external functions definitions */ +extern int lvbe_gauge_create(bvm *vm); +extern int lvbe_gauge_set_needle_count(bvm *vm); +extern int lvbe_gauge_set_value(bvm *vm); +extern int lvbe_gauge_set_range(bvm *vm); +extern int lvbe_gauge_set_critical_value(bvm *vm); +extern int lvbe_gauge_set_scale(bvm *vm); +extern int lvbe_gauge_set_angle_offset(bvm *vm); +extern int lvbe_gauge_set_needle_img(bvm *vm); +extern int lvbe_gauge_set_formatter_cb(bvm *vm); +extern int lvbe_gauge_get_value(bvm *vm); +extern int lvbe_gauge_get_needle_count(bvm *vm); +extern int lvbe_gauge_get_min_value(bvm *vm); +extern int lvbe_gauge_get_max_value(bvm *vm); +extern int lvbe_gauge_get_critical_value(bvm *vm); +extern int lvbe_gauge_get_label_count(bvm *vm); +extern int lvbe_gauge_get_line_count(bvm *vm); +extern int lvbe_gauge_get_scale_angle(bvm *vm); +extern int lvbe_gauge_get_angle_offset(bvm *vm); +extern int lvbe_gauge_get_needle_img(bvm *vm); +extern int lvbe_gauge_get_needle_img_pivot_x(bvm *vm); +extern int lvbe_gauge_get_needle_img_pivot_y(bvm *vm); + +/* `lv_imgbtn` external functions definitions */ +extern int lvbe_imgbtn_create(bvm *vm); +extern int lvbe_imgbtn_set_src(bvm *vm); +extern int lvbe_imgbtn_set_state(bvm *vm); +extern int lvbe_imgbtn_toggle(bvm *vm); +extern int lvbe_imgbtn_set_checkable(bvm *vm); +extern int lvbe_imgbtn_get_src(bvm *vm); +extern int lvbe_imgbtn_get_state(bvm *vm); + +/* `lv_keyboard` external functions definitions */ +extern int lvbe_keyboard_create(bvm *vm); +extern int lvbe_keyboard_set_textarea(bvm *vm); +extern int lvbe_keyboard_set_mode(bvm *vm); +extern int lvbe_keyboard_set_cursor_manage(bvm *vm); +extern int lvbe_keyboard_set_map(bvm *vm); +extern int lvbe_keyboard_set_ctrl_map(bvm *vm); +extern int lvbe_keyboard_get_textarea(bvm *vm); +extern int lvbe_keyboard_get_cursor_manage(bvm *vm); +extern int lvbe_keyboard_def_event_cb(bvm *vm); + +/* `lv_label` external functions definitions */ +extern int lvbe_label_create(bvm *vm); +extern int lvbe_label_set_text(bvm *vm); +extern int lvbe_label_set_text_fmt(bvm *vm); +extern int lvbe_label_set_text_static(bvm *vm); +extern int lvbe_label_set_long_mode(bvm *vm); +extern int lvbe_label_set_align(bvm *vm); +extern int lvbe_label_set_recolor(bvm *vm); +extern int lvbe_label_set_anim_speed(bvm *vm); +extern int lvbe_label_set_text_sel_start(bvm *vm); +extern int lvbe_label_set_text_sel_end(bvm *vm); +extern int lvbe_label_get_text(bvm *vm); +extern int lvbe_label_get_long_mode(bvm *vm); +extern int lvbe_label_get_align(bvm *vm); +extern int lvbe_label_get_recolor(bvm *vm); +extern int lvbe_label_get_anim_speed(bvm *vm); +extern int lvbe_label_get_letter_pos(bvm *vm); +extern int lvbe_label_get_letter_on(bvm *vm); +extern int lvbe_label_is_char_under_pos(bvm *vm); +extern int lvbe_label_get_text_sel_start(bvm *vm); +extern int lvbe_label_get_text_sel_end(bvm *vm); +extern int lvbe_label_ins_text(bvm *vm); +extern int lvbe_label_cut_text(bvm *vm); +extern int lvbe_label_refr_text(bvm *vm); + +/* `lv_led` external functions definitions */ +extern int lvbe_led_create(bvm *vm); +extern int lvbe_led_set_bright(bvm *vm); +extern int lvbe_led_on(bvm *vm); +extern int lvbe_led_off(bvm *vm); +extern int lvbe_led_toggle(bvm *vm); +extern int lvbe_led_get_bright(bvm *vm); + +/* `lv_line` external functions definitions */ +extern int lvbe_line_create(bvm *vm); +extern int lvbe_line_set_points(bvm *vm); +extern int lvbe_line_set_auto_size(bvm *vm); +extern int lvbe_line_set_y_invert(bvm *vm); +extern int lvbe_line_get_auto_size(bvm *vm); +extern int lvbe_line_get_y_invert(bvm *vm); + +/* `lv_linemeter` external functions definitions */ +extern int lvbe_linemeter_create(bvm *vm); +extern int lvbe_linemeter_set_value(bvm *vm); +extern int lvbe_linemeter_set_range(bvm *vm); +extern int lvbe_linemeter_set_scale(bvm *vm); +extern int lvbe_linemeter_set_angle_offset(bvm *vm); +extern int lvbe_linemeter_set_mirror(bvm *vm); +extern int lvbe_linemeter_get_value(bvm *vm); +extern int lvbe_linemeter_get_min_value(bvm *vm); +extern int lvbe_linemeter_get_max_value(bvm *vm); +extern int lvbe_linemeter_get_line_count(bvm *vm); +extern int lvbe_linemeter_get_scale_angle(bvm *vm); +extern int lvbe_linemeter_get_angle_offset(bvm *vm); +extern int lvbe_linemeter_draw_scale(bvm *vm); +extern int lvbe_linemeter_get_mirror(bvm *vm); + +/* `lv_list` external functions definitions */ +extern int lvbe_list_create(bvm *vm); +extern int lvbe_list_clean(bvm *vm); +extern int lvbe_list_add_btn(bvm *vm); +extern int lvbe_list_remove(bvm *vm); +extern int lvbe_list_focus_btn(bvm *vm); +extern int lvbe_list_set_scrollbar_mode(bvm *vm); +extern int lvbe_list_set_scroll_propagation(bvm *vm); +extern int lvbe_list_set_edge_flash(bvm *vm); +extern int lvbe_list_set_anim_time(bvm *vm); +extern int lvbe_list_set_layout(bvm *vm); +extern int lvbe_list_get_btn_text(bvm *vm); +extern int lvbe_list_get_btn_label(bvm *vm); +extern int lvbe_list_get_btn_img(bvm *vm); +extern int lvbe_list_get_prev_btn(bvm *vm); +extern int lvbe_list_get_next_btn(bvm *vm); +extern int lvbe_list_get_btn_index(bvm *vm); +extern int lvbe_list_get_size(bvm *vm); +extern int lvbe_list_get_btn_selected(bvm *vm); +extern int lvbe_list_get_layout(bvm *vm); +extern int lvbe_list_get_scrollbar_mode(bvm *vm); +extern int lvbe_list_get_scroll_propagation(bvm *vm); +extern int lvbe_list_get_edge_flash(bvm *vm); +extern int lvbe_list_get_anim_time(bvm *vm); +extern int lvbe_list_up(bvm *vm); +extern int lvbe_list_down(bvm *vm); +extern int lvbe_list_focus(bvm *vm); + +/* `lv_msgbox` external functions definitions */ +extern int lvbe_msgbox_create(bvm *vm); +extern int lvbe_msgbox_add_btns(bvm *vm); +extern int lvbe_msgbox_set_text(bvm *vm); +extern int lvbe_msgbox_set_text_fmt(bvm *vm); +extern int lvbe_msgbox_set_anim_time(bvm *vm); +extern int lvbe_msgbox_start_auto_close(bvm *vm); +extern int lvbe_msgbox_stop_auto_close(bvm *vm); +extern int lvbe_msgbox_set_recolor(bvm *vm); +extern int lvbe_msgbox_get_text(bvm *vm); +extern int lvbe_msgbox_get_active_btn(bvm *vm); +extern int lvbe_msgbox_get_active_btn_text(bvm *vm); +extern int lvbe_msgbox_get_anim_time(bvm *vm); +extern int lvbe_msgbox_get_recolor(bvm *vm); +extern int lvbe_msgbox_get_btnmatrix(bvm *vm); + +/* `lv_objmask` external functions definitions */ +extern int lvbe_objmask_create(bvm *vm); +extern int lvbe_objmask_update_mask(bvm *vm); +extern int lvbe_objmask_remove_mask(bvm *vm); + +/* `lv_page` external functions definitions */ +extern int lvbe_page_create(bvm *vm); +extern int lvbe_page_clean(bvm *vm); +extern int lvbe_page_get_scrollable(bvm *vm); +extern int lvbe_page_get_anim_time(bvm *vm); +extern int lvbe_page_set_scrollbar_mode(bvm *vm); +extern int lvbe_page_set_anim_time(bvm *vm); +extern int lvbe_page_set_scroll_propagation(bvm *vm); +extern int lvbe_page_set_edge_flash(bvm *vm); +extern int lvbe_page_set_scrollable_fit2(bvm *vm); +extern int lvbe_page_set_scrollable_fit(bvm *vm); +extern int lvbe_page_set_scrl_width(bvm *vm); +extern int lvbe_page_set_scrl_height(bvm *vm); +extern int lvbe_page_set_scrl_layout(bvm *vm); +extern int lvbe_page_get_scrollbar_mode(bvm *vm); +extern int lvbe_page_get_scroll_propagation(bvm *vm); +extern int lvbe_page_get_edge_flash(bvm *vm); +extern int lvbe_page_get_width_fit(bvm *vm); +extern int lvbe_page_get_height_fit(bvm *vm); +extern int lvbe_page_get_width_grid(bvm *vm); +extern int lvbe_page_get_height_grid(bvm *vm); +extern int lvbe_page_get_scrl_width(bvm *vm); +extern int lvbe_page_get_scrl_height(bvm *vm); +extern int lvbe_page_get_scrl_layout(bvm *vm); +extern int lvbe_page_get_scrl_fit_left(bvm *vm); +extern int lvbe_page_get_scrl_fit_right(bvm *vm); +extern int lvbe_page_get_scrl_fit_top(bvm *vm); +extern int lvbe_page_get_scrl_fit_bottom(bvm *vm); +extern int lvbe_page_on_edge(bvm *vm); +extern int lvbe_page_glue_obj(bvm *vm); +extern int lvbe_page_focus(bvm *vm); +extern int lvbe_page_scroll_hor(bvm *vm); +extern int lvbe_page_scroll_ver(bvm *vm); +extern int lvbe_page_start_edge_flash(bvm *vm); + +/* `lv_roller` external functions definitions */ +extern int lvbe_roller_create(bvm *vm); +extern int lvbe_roller_set_options(bvm *vm); +extern int lvbe_roller_set_align(bvm *vm); +extern int lvbe_roller_set_selected(bvm *vm); +extern int lvbe_roller_set_visible_row_count(bvm *vm); +extern int lvbe_roller_set_auto_fit(bvm *vm); +extern int lvbe_roller_set_anim_time(bvm *vm); +extern int lvbe_roller_get_selected(bvm *vm); +extern int lvbe_roller_get_option_cnt(bvm *vm); +extern int lvbe_roller_get_selected_str(bvm *vm); +extern int lvbe_roller_get_align(bvm *vm); +extern int lvbe_roller_get_auto_fit(bvm *vm); +extern int lvbe_roller_get_options(bvm *vm); +extern int lvbe_roller_get_anim_time(bvm *vm); + +/* `lv_slider` external functions definitions */ +extern int lvbe_slider_create(bvm *vm); +extern int lvbe_slider_set_value(bvm *vm); +extern int lvbe_slider_set_left_value(bvm *vm); +extern int lvbe_slider_set_range(bvm *vm); +extern int lvbe_slider_set_anim_time(bvm *vm); +extern int lvbe_slider_set_type(bvm *vm); +extern int lvbe_slider_get_value(bvm *vm); +extern int lvbe_slider_get_left_value(bvm *vm); +extern int lvbe_slider_get_min_value(bvm *vm); +extern int lvbe_slider_get_max_value(bvm *vm); +extern int lvbe_slider_is_dragged(bvm *vm); +extern int lvbe_slider_get_anim_time(bvm *vm); +extern int lvbe_slider_get_type(bvm *vm); + +/* `lv_spinbox` external functions definitions */ +extern int lvbe_spinbox_create(bvm *vm); +extern int lvbe_spinbox_set_rollover(bvm *vm); +extern int lvbe_spinbox_set_value(bvm *vm); +extern int lvbe_spinbox_set_digit_format(bvm *vm); +extern int lvbe_spinbox_set_step(bvm *vm); +extern int lvbe_spinbox_set_range(bvm *vm); +extern int lvbe_spinbox_set_padding_left(bvm *vm); +extern int lvbe_spinbox_get_rollover(bvm *vm); +extern int lvbe_spinbox_get_value(bvm *vm); +extern int lvbe_spinbox_get_step(bvm *vm); +extern int lvbe_spinbox_step_next(bvm *vm); +extern int lvbe_spinbox_step_prev(bvm *vm); +extern int lvbe_spinbox_increment(bvm *vm); +extern int lvbe_spinbox_decrement(bvm *vm); + +/* `lv_spinner` external functions definitions */ +extern int lvbe_spinner_create(bvm *vm); +extern int lvbe_spinner_set_arc_length(bvm *vm); +extern int lvbe_spinner_set_spin_time(bvm *vm); +extern int lvbe_spinner_set_type(bvm *vm); +extern int lvbe_spinner_set_dir(bvm *vm); +extern int lvbe_spinner_get_arc_length(bvm *vm); +extern int lvbe_spinner_get_spin_time(bvm *vm); +extern int lvbe_spinner_get_type(bvm *vm); +extern int lvbe_spinner_get_dir(bvm *vm); +extern int lvbe_spinner_anim_cb(bvm *vm); + +/* `lv_switch` external functions definitions */ +extern int lvbe_switch_create(bvm *vm); +extern int lvbe_switch_on(bvm *vm); +extern int lvbe_switch_off(bvm *vm); +extern int lvbe_switch_toggle(bvm *vm); +extern int lvbe_switch_set_anim_time(bvm *vm); +extern int lvbe_switch_get_state(bvm *vm); +extern int lvbe_switch_get_anim_time(bvm *vm); + +/* `lv_table` external functions definitions */ +extern int lvbe_table_create(bvm *vm); +extern int lvbe_table_set_cell_value(bvm *vm); +extern int lvbe_table_set_cell_value_fmt(bvm *vm); +extern int lvbe_table_set_row_cnt(bvm *vm); +extern int lvbe_table_set_col_cnt(bvm *vm); +extern int lvbe_table_set_col_width(bvm *vm); +extern int lvbe_table_set_cell_align(bvm *vm); +extern int lvbe_table_set_cell_type(bvm *vm); +extern int lvbe_table_set_cell_crop(bvm *vm); +extern int lvbe_table_set_cell_merge_right(bvm *vm); +extern int lvbe_table_get_cell_value(bvm *vm); +extern int lvbe_table_get_row_cnt(bvm *vm); +extern int lvbe_table_get_col_cnt(bvm *vm); +extern int lvbe_table_get_col_width(bvm *vm); +extern int lvbe_table_get_cell_align(bvm *vm); +extern int lvbe_table_get_cell_type(bvm *vm); +extern int lvbe_table_get_cell_crop(bvm *vm); +extern int lvbe_table_get_cell_merge_right(bvm *vm); +extern int lvbe_table_get_pressed_cell(bvm *vm); + +/* `lv_tabview` external functions definitions */ +extern int lvbe_tabview_create(bvm *vm); +extern int lvbe_tabview_add_tab(bvm *vm); +extern int lvbe_tabview_clean_tab(bvm *vm); +extern int lvbe_tabview_set_tab_act(bvm *vm); +extern int lvbe_tabview_set_tab_name(bvm *vm); +extern int lvbe_tabview_set_anim_time(bvm *vm); +extern int lvbe_tabview_set_btns_pos(bvm *vm); +extern int lvbe_tabview_get_tab_act(bvm *vm); +extern int lvbe_tabview_get_tab_count(bvm *vm); +extern int lvbe_tabview_get_tab(bvm *vm); +extern int lvbe_tabview_get_anim_time(bvm *vm); +extern int lvbe_tabview_get_btns_pos(bvm *vm); + +/* `lv_textarea` external functions definitions */ +extern int lvbe_textarea_create(bvm *vm); +extern int lvbe_textarea_add_char(bvm *vm); +extern int lvbe_textarea_add_text(bvm *vm); +extern int lvbe_textarea_del_char(bvm *vm); +extern int lvbe_textarea_del_char_forward(bvm *vm); +extern int lvbe_textarea_set_text(bvm *vm); +extern int lvbe_textarea_set_placeholder_text(bvm *vm); +extern int lvbe_textarea_set_cursor_pos(bvm *vm); +extern int lvbe_textarea_set_cursor_hidden(bvm *vm); +extern int lvbe_textarea_set_cursor_click_pos(bvm *vm); +extern int lvbe_textarea_set_pwd_mode(bvm *vm); +extern int lvbe_textarea_set_one_line(bvm *vm); +extern int lvbe_textarea_set_text_align(bvm *vm); +extern int lvbe_textarea_set_accepted_chars(bvm *vm); +extern int lvbe_textarea_set_max_length(bvm *vm); +extern int lvbe_textarea_set_insert_replace(bvm *vm); +extern int lvbe_textarea_set_scrollbar_mode(bvm *vm); +extern int lvbe_textarea_set_scroll_propagation(bvm *vm); +extern int lvbe_textarea_set_edge_flash(bvm *vm); +extern int lvbe_textarea_set_text_sel(bvm *vm); +extern int lvbe_textarea_set_pwd_show_time(bvm *vm); +extern int lvbe_textarea_set_cursor_blink_time(bvm *vm); +extern int lvbe_textarea_get_text(bvm *vm); +extern int lvbe_textarea_get_placeholder_text(bvm *vm); +extern int lvbe_textarea_get_label(bvm *vm); +extern int lvbe_textarea_get_cursor_pos(bvm *vm); +extern int lvbe_textarea_get_cursor_hidden(bvm *vm); +extern int lvbe_textarea_get_cursor_click_pos(bvm *vm); +extern int lvbe_textarea_get_pwd_mode(bvm *vm); +extern int lvbe_textarea_get_one_line(bvm *vm); +extern int lvbe_textarea_get_accepted_chars(bvm *vm); +extern int lvbe_textarea_get_max_length(bvm *vm); +extern int lvbe_textarea_get_scrollbar_mode(bvm *vm); +extern int lvbe_textarea_get_scroll_propagation(bvm *vm); +extern int lvbe_textarea_get_edge_flash(bvm *vm); +extern int lvbe_textarea_text_is_selected(bvm *vm); +extern int lvbe_textarea_get_text_sel_en(bvm *vm); +extern int lvbe_textarea_get_pwd_show_time(bvm *vm); +extern int lvbe_textarea_get_cursor_blink_time(bvm *vm); +extern int lvbe_textarea_clear_selection(bvm *vm); +extern int lvbe_textarea_cursor_right(bvm *vm); +extern int lvbe_textarea_cursor_left(bvm *vm); +extern int lvbe_textarea_cursor_down(bvm *vm); +extern int lvbe_textarea_cursor_up(bvm *vm); + +/* `lv_tileview` external functions definitions */ +extern int lvbe_tileview_create(bvm *vm); +extern int lvbe_tileview_add_element(bvm *vm); +extern int lvbe_tileview_set_valid_positions(bvm *vm); +extern int lvbe_tileview_set_tile_act(bvm *vm); +extern int lvbe_tileview_set_edge_flash(bvm *vm); +extern int lvbe_tileview_set_anim_time(bvm *vm); +extern int lvbe_tileview_get_tile_act(bvm *vm); +extern int lvbe_tileview_get_edge_flash(bvm *vm); +extern int lvbe_tileview_get_anim_time(bvm *vm); + +/* `lv_win` external functions definitions */ +extern int lvbe_win_create(bvm *vm); +extern int lvbe_win_clean(bvm *vm); +extern int lvbe_win_add_btn_right(bvm *vm); +extern int lvbe_win_add_btn_left(bvm *vm); +extern int lvbe_win_close_event_cb(bvm *vm); +extern int lvbe_win_set_title(bvm *vm); +extern int lvbe_win_set_header_height(bvm *vm); +extern int lvbe_win_set_btn_width(bvm *vm); +extern int lvbe_win_set_content_size(bvm *vm); +extern int lvbe_win_set_layout(bvm *vm); +extern int lvbe_win_set_scrollbar_mode(bvm *vm); +extern int lvbe_win_set_anim_time(bvm *vm); +extern int lvbe_win_set_drag(bvm *vm); +extern int lvbe_win_title_set_alignment(bvm *vm); +extern int lvbe_win_get_title(bvm *vm); +extern int lvbe_win_get_content(bvm *vm); +extern int lvbe_win_get_header_height(bvm *vm); +extern int lvbe_win_get_btn_width(bvm *vm); +extern int lvbe_win_get_from_btn(bvm *vm); +extern int lvbe_win_get_layout(bvm *vm); +extern int lvbe_win_get_sb_mode(bvm *vm); +extern int lvbe_win_get_anim_time(bvm *vm); +extern int lvbe_win_get_width(bvm *vm); +extern int lvbe_win_get_drag(bvm *vm); +extern int lvbe_win_title_get_alignment(bvm *vm); +extern int lvbe_win_focus(bvm *vm); +extern int lvbe_win_scroll_hor(bvm *vm); +extern int lvbe_win_scroll_ver(bvm *vm); + + +#if BE_USE_PRECOMPILED_OBJECT + +#include "../generate/be_fixed_be_class_lv_img.h" +#include "../generate/be_fixed_be_class_lv_style.h" +#include "../generate/be_fixed_be_class_lv_group.h" +#include "../generate/be_fixed_be_class_lv_obj.h" +#include "../generate/be_fixed_be_class_lv_arc.h" +#include "../generate/be_fixed_be_class_lv_bar.h" +#include "../generate/be_fixed_be_class_lv_btn.h" +#include "../generate/be_fixed_be_class_lv_btnmatrix.h" +#include "../generate/be_fixed_be_class_lv_calendar.h" +#include "../generate/be_fixed_be_class_lv_canvas.h" +#include "../generate/be_fixed_be_class_lv_chart.h" +#include "../generate/be_fixed_be_class_lv_checkbox.h" +#include "../generate/be_fixed_be_class_lv_cont.h" +#include "../generate/be_fixed_be_class_lv_cpicker.h" +#include "../generate/be_fixed_be_class_lv_dropdown.h" +#include "../generate/be_fixed_be_class_lv_gauge.h" +#include "../generate/be_fixed_be_class_lv_imgbtn.h" +#include "../generate/be_fixed_be_class_lv_keyboard.h" +#include "../generate/be_fixed_be_class_lv_label.h" +#include "../generate/be_fixed_be_class_lv_led.h" +#include "../generate/be_fixed_be_class_lv_line.h" +#include "../generate/be_fixed_be_class_lv_linemeter.h" +#include "../generate/be_fixed_be_class_lv_list.h" +#include "../generate/be_fixed_be_class_lv_msgbox.h" +#include "../generate/be_fixed_be_class_lv_objmask.h" +#include "../generate/be_fixed_be_class_lv_page.h" +#include "../generate/be_fixed_be_class_lv_roller.h" +#include "../generate/be_fixed_be_class_lv_slider.h" +#include "../generate/be_fixed_be_class_lv_spinbox.h" +#include "../generate/be_fixed_be_class_lv_spinner.h" +#include "../generate/be_fixed_be_class_lv_switch.h" +#include "../generate/be_fixed_be_class_lv_table.h" +#include "../generate/be_fixed_be_class_lv_tabview.h" +#include "../generate/be_fixed_be_class_lv_textarea.h" +#include "../generate/be_fixed_be_class_lv_tileview.h" +#include "../generate/be_fixed_be_class_lv_win.h" + +#endif + + +void be_load_lv_img_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_img_create }, + { "tostring", lvx_tostring }, + + { "set_tasmota_logo", lvbe_img_set_tasmota_logo }, + { "create", lvbe_img_create }, + { "set_src", lvbe_img_set_src }, + { "set_auto_size", lvbe_img_set_auto_size }, + { "set_offset_x", lvbe_img_set_offset_x }, + { "set_offset_y", lvbe_img_set_offset_y }, + { "set_pivot", lvbe_img_set_pivot }, + { "set_angle", lvbe_img_set_angle }, + { "set_zoom", lvbe_img_set_zoom }, + { "set_antialias", lvbe_img_set_antialias }, + { "get_src", lvbe_img_get_src }, + { "get_file_name", lvbe_img_get_file_name }, + { "get_auto_size", lvbe_img_get_auto_size }, + { "get_offset_x", lvbe_img_get_offset_x }, + { "get_offset_y", lvbe_img_get_offset_y }, + { "get_angle", lvbe_img_get_angle }, + { "get_pivot", lvbe_img_get_pivot }, + { "get_zoom", lvbe_img_get_zoom }, + { "get_antialias", lvbe_img_get_antialias }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_img", members); + + be_getglobal(vm, "lv_img"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_img); + be_setglobal(vm, "lv_img"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_img (scope: global, name: lv_img, super: be_class_lv_obj) { + .p, var + init, func(lvbe_img_create) + tostring, func(lvx_tostring) + set_tasmota_logo, func(lvbe_img_set_tasmota_logo) + create, func(lvbe_img_create) + set_src, func(lvbe_img_set_src) + set_auto_size, func(lvbe_img_set_auto_size) + set_offset_x, func(lvbe_img_set_offset_x) + set_offset_y, func(lvbe_img_set_offset_y) + set_pivot, func(lvbe_img_set_pivot) + set_angle, func(lvbe_img_set_angle) + set_zoom, func(lvbe_img_set_zoom) + set_antialias, func(lvbe_img_set_antialias) + get_src, func(lvbe_img_get_src) + get_file_name, func(lvbe_img_get_file_name) + get_auto_size, func(lvbe_img_get_auto_size) + get_offset_x, func(lvbe_img_get_offset_x) + get_offset_y, func(lvbe_img_get_offset_y) + get_angle, func(lvbe_img_get_angle) + get_pivot, func(lvbe_img_get_pivot) + get_zoom, func(lvbe_img_get_zoom) + get_antialias, func(lvbe_img_get_antialias) +} +@const_object_info_end */ + +void be_load_lv_style_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvs_init }, + { "tostring", lvs_tostring }, + + { "copy", lvbe_style_copy }, + { "list_init", lvbe_style_list_init }, + { "list_copy", lvbe_style_list_copy }, + { "list_get_style", lvbe_style_list_get_style }, + { "reset", lvbe_style_reset }, + { "remove_prop", lvbe_style_remove_prop }, + { "list_get_local_style", lvbe_style_list_get_local_style }, + { "set_radius", lvbe_style_set_radius }, + { "set_clip_corner", lvbe_style_set_clip_corner }, + { "set_size", lvbe_style_set_size }, + { "set_transform_width", lvbe_style_set_transform_width }, + { "set_transform_height", lvbe_style_set_transform_height }, + { "set_transform_angle", lvbe_style_set_transform_angle }, + { "set_transform_zoom", lvbe_style_set_transform_zoom }, + { "set_opa_scale", lvbe_style_set_opa_scale }, + { "set_pad_top", lvbe_style_set_pad_top }, + { "set_pad_bottom", lvbe_style_set_pad_bottom }, + { "set_pad_left", lvbe_style_set_pad_left }, + { "set_pad_right", lvbe_style_set_pad_right }, + { "set_pad_inner", lvbe_style_set_pad_inner }, + { "set_margin_top", lvbe_style_set_margin_top }, + { "set_margin_bottom", lvbe_style_set_margin_bottom }, + { "set_margin_left", lvbe_style_set_margin_left }, + { "set_margin_right", lvbe_style_set_margin_right }, + { "set_bg_blend_mode", lvbe_style_set_bg_blend_mode }, + { "set_bg_main_stop", lvbe_style_set_bg_main_stop }, + { "set_bg_grad_stop", lvbe_style_set_bg_grad_stop }, + { "set_bg_grad_dir", lvbe_style_set_bg_grad_dir }, + { "set_bg_color", lvbe_style_set_bg_color }, + { "set_bg_grad_color", lvbe_style_set_bg_grad_color }, + { "set_bg_opa", lvbe_style_set_bg_opa }, + { "set_border_width", lvbe_style_set_border_width }, + { "set_border_side", lvbe_style_set_border_side }, + { "set_border_blend_mode", lvbe_style_set_border_blend_mode }, + { "set_border_post", lvbe_style_set_border_post }, + { "set_border_color", lvbe_style_set_border_color }, + { "set_border_opa", lvbe_style_set_border_opa }, + { "set_outline_width", lvbe_style_set_outline_width }, + { "set_outline_pad", lvbe_style_set_outline_pad }, + { "set_outline_blend_mode", lvbe_style_set_outline_blend_mode }, + { "set_outline_color", lvbe_style_set_outline_color }, + { "set_outline_opa", lvbe_style_set_outline_opa }, + { "set_shadow_width", lvbe_style_set_shadow_width }, + { "set_shadow_ofs_x", lvbe_style_set_shadow_ofs_x }, + { "set_shadow_ofs_y", lvbe_style_set_shadow_ofs_y }, + { "set_shadow_spread", lvbe_style_set_shadow_spread }, + { "set_shadow_blend_mode", lvbe_style_set_shadow_blend_mode }, + { "set_shadow_color", lvbe_style_set_shadow_color }, + { "set_shadow_opa", lvbe_style_set_shadow_opa }, + { "set_pattern_repeat", lvbe_style_set_pattern_repeat }, + { "set_pattern_blend_mode", lvbe_style_set_pattern_blend_mode }, + { "set_pattern_recolor", lvbe_style_set_pattern_recolor }, + { "set_pattern_opa", lvbe_style_set_pattern_opa }, + { "set_pattern_recolor_opa", lvbe_style_set_pattern_recolor_opa }, + { "set_pattern_image", lvbe_style_set_pattern_image }, + { "set_value_letter_space", lvbe_style_set_value_letter_space }, + { "set_value_line_space", lvbe_style_set_value_line_space }, + { "set_value_blend_mode", lvbe_style_set_value_blend_mode }, + { "set_value_ofs_x", lvbe_style_set_value_ofs_x }, + { "set_value_ofs_y", lvbe_style_set_value_ofs_y }, + { "set_value_align", lvbe_style_set_value_align }, + { "set_value_color", lvbe_style_set_value_color }, + { "set_value_opa", lvbe_style_set_value_opa }, + { "set_value_font", lvbe_style_set_value_font }, + { "set_value_str", lvbe_style_set_value_str }, + { "set_text_letter_space", lvbe_style_set_text_letter_space }, + { "set_text_line_space", lvbe_style_set_text_line_space }, + { "set_text_decor", lvbe_style_set_text_decor }, + { "set_text_blend_mode", lvbe_style_set_text_blend_mode }, + { "set_text_color", lvbe_style_set_text_color }, + { "set_text_sel_color", lvbe_style_set_text_sel_color }, + { "set_text_sel_bg_color", lvbe_style_set_text_sel_bg_color }, + { "set_text_opa", lvbe_style_set_text_opa }, + { "set_text_font", lvbe_style_set_text_font }, + { "set_line_width", lvbe_style_set_line_width }, + { "set_line_blend_mode", lvbe_style_set_line_blend_mode }, + { "set_line_dash_width", lvbe_style_set_line_dash_width }, + { "set_line_dash_gap", lvbe_style_set_line_dash_gap }, + { "set_line_rounded", lvbe_style_set_line_rounded }, + { "set_line_color", lvbe_style_set_line_color }, + { "set_line_opa", lvbe_style_set_line_opa }, + { "set_image_blend_mode", lvbe_style_set_image_blend_mode }, + { "set_image_recolor", lvbe_style_set_image_recolor }, + { "set_image_opa", lvbe_style_set_image_opa }, + { "set_image_recolor_opa", lvbe_style_set_image_recolor_opa }, + { "set_transition_time", lvbe_style_set_transition_time }, + { "set_transition_delay", lvbe_style_set_transition_delay }, + { "set_transition_prop_1", lvbe_style_set_transition_prop_1 }, + { "set_transition_prop_2", lvbe_style_set_transition_prop_2 }, + { "set_transition_prop_3", lvbe_style_set_transition_prop_3 }, + { "set_transition_prop_4", lvbe_style_set_transition_prop_4 }, + { "set_transition_prop_5", lvbe_style_set_transition_prop_5 }, + { "set_transition_prop_6", lvbe_style_set_transition_prop_6 }, + { "set_transition_path", lvbe_style_set_transition_path }, + { "set_scale_width", lvbe_style_set_scale_width }, + { "set_scale_border_width", lvbe_style_set_scale_border_width }, + { "set_scale_end_border_width", lvbe_style_set_scale_end_border_width }, + { "set_scale_end_line_width", lvbe_style_set_scale_end_line_width }, + { "set_scale_grad_color", lvbe_style_set_scale_grad_color }, + { "set_scale_end_color", lvbe_style_set_scale_end_color }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_style", members); + + be_getglobal(vm, "lv_style"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_style); + be_setglobal(vm, "lv_style"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_style (scope: global, name: lv_style, super: be_class_lv_obj) { + .p, var + init, func(lvs_init) + tostring, func(lvs_tostring) + copy, func(lvbe_style_copy) + list_init, func(lvbe_style_list_init) + list_copy, func(lvbe_style_list_copy) + list_get_style, func(lvbe_style_list_get_style) + reset, func(lvbe_style_reset) + remove_prop, func(lvbe_style_remove_prop) + list_get_local_style, func(lvbe_style_list_get_local_style) + set_radius, func(lvbe_style_set_radius) + set_clip_corner, func(lvbe_style_set_clip_corner) + set_size, func(lvbe_style_set_size) + set_transform_width, func(lvbe_style_set_transform_width) + set_transform_height, func(lvbe_style_set_transform_height) + set_transform_angle, func(lvbe_style_set_transform_angle) + set_transform_zoom, func(lvbe_style_set_transform_zoom) + set_opa_scale, func(lvbe_style_set_opa_scale) + set_pad_top, func(lvbe_style_set_pad_top) + set_pad_bottom, func(lvbe_style_set_pad_bottom) + set_pad_left, func(lvbe_style_set_pad_left) + set_pad_right, func(lvbe_style_set_pad_right) + set_pad_inner, func(lvbe_style_set_pad_inner) + set_margin_top, func(lvbe_style_set_margin_top) + set_margin_bottom, func(lvbe_style_set_margin_bottom) + set_margin_left, func(lvbe_style_set_margin_left) + set_margin_right, func(lvbe_style_set_margin_right) + set_bg_blend_mode, func(lvbe_style_set_bg_blend_mode) + set_bg_main_stop, func(lvbe_style_set_bg_main_stop) + set_bg_grad_stop, func(lvbe_style_set_bg_grad_stop) + set_bg_grad_dir, func(lvbe_style_set_bg_grad_dir) + set_bg_color, func(lvbe_style_set_bg_color) + set_bg_grad_color, func(lvbe_style_set_bg_grad_color) + set_bg_opa, func(lvbe_style_set_bg_opa) + set_border_width, func(lvbe_style_set_border_width) + set_border_side, func(lvbe_style_set_border_side) + set_border_blend_mode, func(lvbe_style_set_border_blend_mode) + set_border_post, func(lvbe_style_set_border_post) + set_border_color, func(lvbe_style_set_border_color) + set_border_opa, func(lvbe_style_set_border_opa) + set_outline_width, func(lvbe_style_set_outline_width) + set_outline_pad, func(lvbe_style_set_outline_pad) + set_outline_blend_mode, func(lvbe_style_set_outline_blend_mode) + set_outline_color, func(lvbe_style_set_outline_color) + set_outline_opa, func(lvbe_style_set_outline_opa) + set_shadow_width, func(lvbe_style_set_shadow_width) + set_shadow_ofs_x, func(lvbe_style_set_shadow_ofs_x) + set_shadow_ofs_y, func(lvbe_style_set_shadow_ofs_y) + set_shadow_spread, func(lvbe_style_set_shadow_spread) + set_shadow_blend_mode, func(lvbe_style_set_shadow_blend_mode) + set_shadow_color, func(lvbe_style_set_shadow_color) + set_shadow_opa, func(lvbe_style_set_shadow_opa) + set_pattern_repeat, func(lvbe_style_set_pattern_repeat) + set_pattern_blend_mode, func(lvbe_style_set_pattern_blend_mode) + set_pattern_recolor, func(lvbe_style_set_pattern_recolor) + set_pattern_opa, func(lvbe_style_set_pattern_opa) + set_pattern_recolor_opa, func(lvbe_style_set_pattern_recolor_opa) + set_pattern_image, func(lvbe_style_set_pattern_image) + set_value_letter_space, func(lvbe_style_set_value_letter_space) + set_value_line_space, func(lvbe_style_set_value_line_space) + set_value_blend_mode, func(lvbe_style_set_value_blend_mode) + set_value_ofs_x, func(lvbe_style_set_value_ofs_x) + set_value_ofs_y, func(lvbe_style_set_value_ofs_y) + set_value_align, func(lvbe_style_set_value_align) + set_value_color, func(lvbe_style_set_value_color) + set_value_opa, func(lvbe_style_set_value_opa) + set_value_font, func(lvbe_style_set_value_font) + set_value_str, func(lvbe_style_set_value_str) + set_text_letter_space, func(lvbe_style_set_text_letter_space) + set_text_line_space, func(lvbe_style_set_text_line_space) + set_text_decor, func(lvbe_style_set_text_decor) + set_text_blend_mode, func(lvbe_style_set_text_blend_mode) + set_text_color, func(lvbe_style_set_text_color) + set_text_sel_color, func(lvbe_style_set_text_sel_color) + set_text_sel_bg_color, func(lvbe_style_set_text_sel_bg_color) + set_text_opa, func(lvbe_style_set_text_opa) + set_text_font, func(lvbe_style_set_text_font) + set_line_width, func(lvbe_style_set_line_width) + set_line_blend_mode, func(lvbe_style_set_line_blend_mode) + set_line_dash_width, func(lvbe_style_set_line_dash_width) + set_line_dash_gap, func(lvbe_style_set_line_dash_gap) + set_line_rounded, func(lvbe_style_set_line_rounded) + set_line_color, func(lvbe_style_set_line_color) + set_line_opa, func(lvbe_style_set_line_opa) + set_image_blend_mode, func(lvbe_style_set_image_blend_mode) + set_image_recolor, func(lvbe_style_set_image_recolor) + set_image_opa, func(lvbe_style_set_image_opa) + set_image_recolor_opa, func(lvbe_style_set_image_recolor_opa) + set_transition_time, func(lvbe_style_set_transition_time) + set_transition_delay, func(lvbe_style_set_transition_delay) + set_transition_prop_1, func(lvbe_style_set_transition_prop_1) + set_transition_prop_2, func(lvbe_style_set_transition_prop_2) + set_transition_prop_3, func(lvbe_style_set_transition_prop_3) + set_transition_prop_4, func(lvbe_style_set_transition_prop_4) + set_transition_prop_5, func(lvbe_style_set_transition_prop_5) + set_transition_prop_6, func(lvbe_style_set_transition_prop_6) + set_transition_path, func(lvbe_style_set_transition_path) + set_scale_width, func(lvbe_style_set_scale_width) + set_scale_border_width, func(lvbe_style_set_scale_border_width) + set_scale_end_border_width, func(lvbe_style_set_scale_end_border_width) + set_scale_end_line_width, func(lvbe_style_set_scale_end_line_width) + set_scale_grad_color, func(lvbe_style_set_scale_grad_color) + set_scale_end_color, func(lvbe_style_set_scale_end_color) +} +@const_object_info_end */ + +void be_load_lv_group_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_group_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_group_create }, + { "del", lvbe_group_del }, + { "add_obj", lvbe_group_add_obj }, + { "remove_obj", lvbe_group_remove_obj }, + { "remove_all_objs", lvbe_group_remove_all_objs }, + { "focus_obj", lvbe_group_focus_obj }, + { "focus_next", lvbe_group_focus_next }, + { "focus_prev", lvbe_group_focus_prev }, + { "focus_freeze", lvbe_group_focus_freeze }, + { "send_data", lvbe_group_send_data }, + { "set_focus_cb", lvbe_group_set_focus_cb }, + { "set_refocus_policy", lvbe_group_set_refocus_policy }, + { "set_editing", lvbe_group_set_editing }, + { "set_click_focus", lvbe_group_set_click_focus }, + { "set_wrap", lvbe_group_set_wrap }, + { "get_focused", lvbe_group_get_focused }, + { "get_focus_cb", lvbe_group_get_focus_cb }, + { "get_editing", lvbe_group_get_editing }, + { "get_click_focus", lvbe_group_get_click_focus }, + { "get_wrap", lvbe_group_get_wrap }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_group", members); +#else + be_pushntvclass(vm, &be_class_lv_group); + be_setglobal(vm, "lv_group"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_group (scope: global, name: lv_group) { + .p, var + init, func(lvbe_group_create) + tostring, func(lvx_tostring) + create, func(lvbe_group_create) + del, func(lvbe_group_del) + add_obj, func(lvbe_group_add_obj) + remove_obj, func(lvbe_group_remove_obj) + remove_all_objs, func(lvbe_group_remove_all_objs) + focus_obj, func(lvbe_group_focus_obj) + focus_next, func(lvbe_group_focus_next) + focus_prev, func(lvbe_group_focus_prev) + focus_freeze, func(lvbe_group_focus_freeze) + send_data, func(lvbe_group_send_data) + set_focus_cb, func(lvbe_group_set_focus_cb) + set_refocus_policy, func(lvbe_group_set_refocus_policy) + set_editing, func(lvbe_group_set_editing) + set_click_focus, func(lvbe_group_set_click_focus) + set_wrap, func(lvbe_group_set_wrap) + get_focused, func(lvbe_group_get_focused) + get_focus_cb, func(lvbe_group_get_focus_cb) + get_editing, func(lvbe_group_get_editing) + get_click_focus, func(lvbe_group_get_click_focus) + get_wrap, func(lvbe_group_get_wrap) +} +@const_object_info_end */ + +void be_load_lv_obj_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_obj_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_obj_create }, + { "del", lvbe_obj_del }, + { "del_anim_ready_cb", lvbe_obj_del_anim_ready_cb }, + { "del_async", lvbe_obj_del_async }, + { "clean", lvbe_obj_clean }, + { "invalidate_area", lvbe_obj_invalidate_area }, + { "invalidate", lvbe_obj_invalidate }, + { "area_is_visible", lvbe_obj_area_is_visible }, + { "is_visible", lvbe_obj_is_visible }, + { "set_parent", lvbe_obj_set_parent }, + { "move_foreground", lvbe_obj_move_foreground }, + { "move_background", lvbe_obj_move_background }, + { "set_pos", lvbe_obj_set_pos }, + { "set_x", lvbe_obj_set_x }, + { "set_y", lvbe_obj_set_y }, + { "set_size", lvbe_obj_set_size }, + { "set_width", lvbe_obj_set_width }, + { "set_height", lvbe_obj_set_height }, + { "set_width_fit", lvbe_obj_set_width_fit }, + { "set_height_fit", lvbe_obj_set_height_fit }, + { "set_width_margin", lvbe_obj_set_width_margin }, + { "set_height_margin", lvbe_obj_set_height_margin }, + { "align", lvbe_obj_align }, + { "align_x", lvbe_obj_align_x }, + { "align_y", lvbe_obj_align_y }, + { "align_mid", lvbe_obj_align_mid }, + { "align_mid_x", lvbe_obj_align_mid_x }, + { "align_mid_y", lvbe_obj_align_mid_y }, + { "realign", lvbe_obj_realign }, + { "set_auto_realign", lvbe_obj_set_auto_realign }, + { "set_ext_click_area", lvbe_obj_set_ext_click_area }, + { "add_style", lvbe_obj_add_style }, + { "remove_style", lvbe_obj_remove_style }, + { "clean_style_list", lvbe_obj_clean_style_list }, + { "reset_style_list", lvbe_obj_reset_style_list }, + { "refresh_style", lvbe_obj_refresh_style }, + { "report_style_mod", lvbe_obj_report_style_mod }, + { "remove_style_local_prop", lvbe_obj_remove_style_local_prop }, + { "set_hidden", lvbe_obj_set_hidden }, + { "set_adv_hittest", lvbe_obj_set_adv_hittest }, + { "set_click", lvbe_obj_set_click }, + { "set_top", lvbe_obj_set_top }, + { "set_drag", lvbe_obj_set_drag }, + { "set_drag_dir", lvbe_obj_set_drag_dir }, + { "set_drag_throw", lvbe_obj_set_drag_throw }, + { "set_drag_parent", lvbe_obj_set_drag_parent }, + { "set_focus_parent", lvbe_obj_set_focus_parent }, + { "set_gesture_parent", lvbe_obj_set_gesture_parent }, + { "set_parent_event", lvbe_obj_set_parent_event }, + { "set_base_dir", lvbe_obj_set_base_dir }, + { "add_protect", lvbe_obj_add_protect }, + { "clear_protect", lvbe_obj_clear_protect }, + { "set_state", lvbe_obj_set_state }, + { "add_state", lvbe_obj_add_state }, + { "clear_state", lvbe_obj_clear_state }, + { "finish_transitions", lvbe_obj_finish_transitions }, + { "set_event_cb", lvbe_obj_set_event_cb }, + { "set_signal_cb", lvbe_obj_set_signal_cb }, + { "set_design_cb", lvbe_obj_set_design_cb }, + { "allocate_ext_attr", lvbe_obj_allocate_ext_attr }, + { "refresh_ext_draw_pad", lvbe_obj_refresh_ext_draw_pad }, + { "get_screen", lvbe_obj_get_screen }, + { "get_parent", lvbe_obj_get_parent }, + { "get_child", lvbe_obj_get_child }, + { "get_child_back", lvbe_obj_get_child_back }, + { "count_children", lvbe_obj_count_children }, + { "count_children_recursive", lvbe_obj_count_children_recursive }, + { "get_coords", lvbe_obj_get_coords }, + { "get_inner_coords", lvbe_obj_get_inner_coords }, + { "get_x", lvbe_obj_get_x }, + { "get_y", lvbe_obj_get_y }, + { "get_width", lvbe_obj_get_width }, + { "get_height", lvbe_obj_get_height }, + { "get_width_fit", lvbe_obj_get_width_fit }, + { "get_height_fit", lvbe_obj_get_height_fit }, + { "get_height_margin", lvbe_obj_get_height_margin }, + { "get_width_margin", lvbe_obj_get_width_margin }, + { "get_width_grid", lvbe_obj_get_width_grid }, + { "get_height_grid", lvbe_obj_get_height_grid }, + { "get_auto_realign", lvbe_obj_get_auto_realign }, + { "get_ext_click_pad_left", lvbe_obj_get_ext_click_pad_left }, + { "get_ext_click_pad_right", lvbe_obj_get_ext_click_pad_right }, + { "get_ext_click_pad_top", lvbe_obj_get_ext_click_pad_top }, + { "get_ext_click_pad_bottom", lvbe_obj_get_ext_click_pad_bottom }, + { "get_ext_draw_pad", lvbe_obj_get_ext_draw_pad }, + { "get_local_style", lvbe_obj_get_local_style }, + { "get_hidden", lvbe_obj_get_hidden }, + { "get_adv_hittest", lvbe_obj_get_adv_hittest }, + { "get_click", lvbe_obj_get_click }, + { "get_top", lvbe_obj_get_top }, + { "get_drag", lvbe_obj_get_drag }, + { "get_drag_dir", lvbe_obj_get_drag_dir }, + { "get_drag_throw", lvbe_obj_get_drag_throw }, + { "get_drag_parent", lvbe_obj_get_drag_parent }, + { "get_focus_parent", lvbe_obj_get_focus_parent }, + { "get_parent_event", lvbe_obj_get_parent_event }, + { "get_gesture_parent", lvbe_obj_get_gesture_parent }, + { "get_base_dir", lvbe_obj_get_base_dir }, + { "get_protect", lvbe_obj_get_protect }, + { "is_protected", lvbe_obj_is_protected }, + { "get_state", lvbe_obj_get_state }, + { "is_point_on_coords", lvbe_obj_is_point_on_coords }, + { "hittest", lvbe_obj_hittest }, + { "get_ext_attr", lvbe_obj_get_ext_attr }, + { "get_type", lvbe_obj_get_type }, + { "get_user_data", lvbe_obj_get_user_data }, + { "set_user_data", lvbe_obj_set_user_data }, + { "get_group", lvbe_obj_get_group }, + { "is_focused", lvbe_obj_is_focused }, + { "get_focused_obj", lvbe_obj_get_focused_obj }, + { "handle_get_type_signal", lvbe_obj_handle_get_type_signal }, + { "init_draw_rect_dsc", lvbe_obj_init_draw_rect_dsc }, + { "init_draw_label_dsc", lvbe_obj_init_draw_label_dsc }, + { "init_draw_img_dsc", lvbe_obj_init_draw_img_dsc }, + { "init_draw_line_dsc", lvbe_obj_init_draw_line_dsc }, + { "get_draw_rect_ext_pad_size", lvbe_obj_get_draw_rect_ext_pad_size }, + { "fade_in", lvbe_obj_fade_in }, + { "fade_out", lvbe_obj_fade_out }, + { "get_style_radius", lvbe_obj_get_style_radius }, + { "set_style_local_radius", lvbe_obj_set_style_local_radius }, + { "get_style_clip_corner", lvbe_obj_get_style_clip_corner }, + { "set_style_local_clip_corner", lvbe_obj_set_style_local_clip_corner }, + { "get_style_size", lvbe_obj_get_style_size }, + { "set_style_local_size", lvbe_obj_set_style_local_size }, + { "get_style_transform_width", lvbe_obj_get_style_transform_width }, + { "set_style_local_transform_width", lvbe_obj_set_style_local_transform_width }, + { "get_style_transform_height", lvbe_obj_get_style_transform_height }, + { "set_style_local_transform_height", lvbe_obj_set_style_local_transform_height }, + { "get_style_transform_angle", lvbe_obj_get_style_transform_angle }, + { "set_style_local_transform_angle", lvbe_obj_set_style_local_transform_angle }, + { "get_style_transform_zoom", lvbe_obj_get_style_transform_zoom }, + { "set_style_local_transform_zoom", lvbe_obj_set_style_local_transform_zoom }, + { "get_style_opa_scale", lvbe_obj_get_style_opa_scale }, + { "set_style_local_opa_scale", lvbe_obj_set_style_local_opa_scale }, + { "get_style_pad_top", lvbe_obj_get_style_pad_top }, + { "set_style_local_pad_top", lvbe_obj_set_style_local_pad_top }, + { "get_style_pad_bottom", lvbe_obj_get_style_pad_bottom }, + { "set_style_local_pad_bottom", lvbe_obj_set_style_local_pad_bottom }, + { "get_style_pad_left", lvbe_obj_get_style_pad_left }, + { "set_style_local_pad_left", lvbe_obj_set_style_local_pad_left }, + { "get_style_pad_right", lvbe_obj_get_style_pad_right }, + { "set_style_local_pad_right", lvbe_obj_set_style_local_pad_right }, + { "get_style_pad_inner", lvbe_obj_get_style_pad_inner }, + { "set_style_local_pad_inner", lvbe_obj_set_style_local_pad_inner }, + { "get_style_margin_top", lvbe_obj_get_style_margin_top }, + { "set_style_local_margin_top", lvbe_obj_set_style_local_margin_top }, + { "get_style_margin_bottom", lvbe_obj_get_style_margin_bottom }, + { "set_style_local_margin_bottom", lvbe_obj_set_style_local_margin_bottom }, + { "get_style_margin_left", lvbe_obj_get_style_margin_left }, + { "set_style_local_margin_left", lvbe_obj_set_style_local_margin_left }, + { "get_style_margin_right", lvbe_obj_get_style_margin_right }, + { "set_style_local_margin_right", lvbe_obj_set_style_local_margin_right }, + { "set_style_local_bg_blend_mode", lvbe_obj_set_style_local_bg_blend_mode }, + { "get_style_bg_main_stop", lvbe_obj_get_style_bg_main_stop }, + { "set_style_local_bg_main_stop", lvbe_obj_set_style_local_bg_main_stop }, + { "get_style_bg_grad_stop", lvbe_obj_get_style_bg_grad_stop }, + { "set_style_local_bg_grad_stop", lvbe_obj_set_style_local_bg_grad_stop }, + { "set_style_local_bg_grad_dir", lvbe_obj_set_style_local_bg_grad_dir }, + { "get_style_bg_color", lvbe_obj_get_style_bg_color }, + { "set_style_local_bg_color", lvbe_obj_set_style_local_bg_color }, + { "get_style_bg_grad_color", lvbe_obj_get_style_bg_grad_color }, + { "set_style_local_bg_grad_color", lvbe_obj_set_style_local_bg_grad_color }, + { "get_style_bg_opa", lvbe_obj_get_style_bg_opa }, + { "set_style_local_bg_opa", lvbe_obj_set_style_local_bg_opa }, + { "get_style_border_width", lvbe_obj_get_style_border_width }, + { "set_style_local_border_width", lvbe_obj_set_style_local_border_width }, + { "set_style_local_border_side", lvbe_obj_set_style_local_border_side }, + { "set_style_local_border_blend_mode", lvbe_obj_set_style_local_border_blend_mode }, + { "get_style_border_post", lvbe_obj_get_style_border_post }, + { "set_style_local_border_post", lvbe_obj_set_style_local_border_post }, + { "get_style_border_color", lvbe_obj_get_style_border_color }, + { "set_style_local_border_color", lvbe_obj_set_style_local_border_color }, + { "get_style_border_opa", lvbe_obj_get_style_border_opa }, + { "set_style_local_border_opa", lvbe_obj_set_style_local_border_opa }, + { "get_style_outline_width", lvbe_obj_get_style_outline_width }, + { "set_style_local_outline_width", lvbe_obj_set_style_local_outline_width }, + { "get_style_outline_pad", lvbe_obj_get_style_outline_pad }, + { "set_style_local_outline_pad", lvbe_obj_set_style_local_outline_pad }, + { "set_style_local_outline_blend_mode", lvbe_obj_set_style_local_outline_blend_mode }, + { "get_style_outline_color", lvbe_obj_get_style_outline_color }, + { "set_style_local_outline_color", lvbe_obj_set_style_local_outline_color }, + { "get_style_outline_opa", lvbe_obj_get_style_outline_opa }, + { "set_style_local_outline_opa", lvbe_obj_set_style_local_outline_opa }, + { "get_style_shadow_width", lvbe_obj_get_style_shadow_width }, + { "set_style_local_shadow_width", lvbe_obj_set_style_local_shadow_width }, + { "get_style_shadow_ofs_x", lvbe_obj_get_style_shadow_ofs_x }, + { "set_style_local_shadow_ofs_x", lvbe_obj_set_style_local_shadow_ofs_x }, + { "get_style_shadow_ofs_y", lvbe_obj_get_style_shadow_ofs_y }, + { "set_style_local_shadow_ofs_y", lvbe_obj_set_style_local_shadow_ofs_y }, + { "get_style_shadow_spread", lvbe_obj_get_style_shadow_spread }, + { "set_style_local_shadow_spread", lvbe_obj_set_style_local_shadow_spread }, + { "set_style_local_shadow_blend_mode", lvbe_obj_set_style_local_shadow_blend_mode }, + { "get_style_shadow_color", lvbe_obj_get_style_shadow_color }, + { "set_style_local_shadow_color", lvbe_obj_set_style_local_shadow_color }, + { "get_style_shadow_opa", lvbe_obj_get_style_shadow_opa }, + { "set_style_local_shadow_opa", lvbe_obj_set_style_local_shadow_opa }, + { "get_style_pattern_repeat", lvbe_obj_get_style_pattern_repeat }, + { "set_style_local_pattern_repeat", lvbe_obj_set_style_local_pattern_repeat }, + { "set_style_local_pattern_blend_mode", lvbe_obj_set_style_local_pattern_blend_mode }, + { "get_style_pattern_recolor", lvbe_obj_get_style_pattern_recolor }, + { "set_style_local_pattern_recolor", lvbe_obj_set_style_local_pattern_recolor }, + { "get_style_pattern_opa", lvbe_obj_get_style_pattern_opa }, + { "set_style_local_pattern_opa", lvbe_obj_set_style_local_pattern_opa }, + { "get_style_pattern_recolor_opa", lvbe_obj_get_style_pattern_recolor_opa }, + { "set_style_local_pattern_recolor_opa", lvbe_obj_set_style_local_pattern_recolor_opa }, + { "get_style_pattern_image", lvbe_obj_get_style_pattern_image }, + { "set_style_local_pattern_image", lvbe_obj_set_style_local_pattern_image }, + { "get_style_value_letter_space", lvbe_obj_get_style_value_letter_space }, + { "set_style_local_value_letter_space", lvbe_obj_set_style_local_value_letter_space }, + { "get_style_value_line_space", lvbe_obj_get_style_value_line_space }, + { "set_style_local_value_line_space", lvbe_obj_set_style_local_value_line_space }, + { "set_style_local_value_blend_mode", lvbe_obj_set_style_local_value_blend_mode }, + { "get_style_value_ofs_x", lvbe_obj_get_style_value_ofs_x }, + { "set_style_local_value_ofs_x", lvbe_obj_set_style_local_value_ofs_x }, + { "get_style_value_ofs_y", lvbe_obj_get_style_value_ofs_y }, + { "set_style_local_value_ofs_y", lvbe_obj_set_style_local_value_ofs_y }, + { "set_style_local_value_align", lvbe_obj_set_style_local_value_align }, + { "get_style_value_color", lvbe_obj_get_style_value_color }, + { "set_style_local_value_color", lvbe_obj_set_style_local_value_color }, + { "get_style_value_opa", lvbe_obj_get_style_value_opa }, + { "set_style_local_value_opa", lvbe_obj_set_style_local_value_opa }, + { "set_style_local_value_font", lvbe_obj_set_style_local_value_font }, + { "get_style_value_str", lvbe_obj_get_style_value_str }, + { "set_style_local_value_str", lvbe_obj_set_style_local_value_str }, + { "get_style_text_letter_space", lvbe_obj_get_style_text_letter_space }, + { "set_style_local_text_letter_space", lvbe_obj_set_style_local_text_letter_space }, + { "get_style_text_line_space", lvbe_obj_get_style_text_line_space }, + { "set_style_local_text_line_space", lvbe_obj_set_style_local_text_line_space }, + { "set_style_local_text_decor", lvbe_obj_set_style_local_text_decor }, + { "set_style_local_text_blend_mode", lvbe_obj_set_style_local_text_blend_mode }, + { "get_style_text_color", lvbe_obj_get_style_text_color }, + { "set_style_local_text_color", lvbe_obj_set_style_local_text_color }, + { "get_style_text_sel_color", lvbe_obj_get_style_text_sel_color }, + { "set_style_local_text_sel_color", lvbe_obj_set_style_local_text_sel_color }, + { "get_style_text_sel_bg_color", lvbe_obj_get_style_text_sel_bg_color }, + { "set_style_local_text_sel_bg_color", lvbe_obj_set_style_local_text_sel_bg_color }, + { "get_style_text_opa", lvbe_obj_get_style_text_opa }, + { "set_style_local_text_opa", lvbe_obj_set_style_local_text_opa }, + { "set_style_local_text_font", lvbe_obj_set_style_local_text_font }, + { "get_style_line_width", lvbe_obj_get_style_line_width }, + { "set_style_local_line_width", lvbe_obj_set_style_local_line_width }, + { "set_style_local_line_blend_mode", lvbe_obj_set_style_local_line_blend_mode }, + { "get_style_line_dash_width", lvbe_obj_get_style_line_dash_width }, + { "set_style_local_line_dash_width", lvbe_obj_set_style_local_line_dash_width }, + { "get_style_line_dash_gap", lvbe_obj_get_style_line_dash_gap }, + { "set_style_local_line_dash_gap", lvbe_obj_set_style_local_line_dash_gap }, + { "get_style_line_rounded", lvbe_obj_get_style_line_rounded }, + { "set_style_local_line_rounded", lvbe_obj_set_style_local_line_rounded }, + { "get_style_line_color", lvbe_obj_get_style_line_color }, + { "set_style_local_line_color", lvbe_obj_set_style_local_line_color }, + { "get_style_line_opa", lvbe_obj_get_style_line_opa }, + { "set_style_local_line_opa", lvbe_obj_set_style_local_line_opa }, + { "set_style_local_image_blend_mode", lvbe_obj_set_style_local_image_blend_mode }, + { "get_style_image_recolor", lvbe_obj_get_style_image_recolor }, + { "set_style_local_image_recolor", lvbe_obj_set_style_local_image_recolor }, + { "get_style_image_opa", lvbe_obj_get_style_image_opa }, + { "set_style_local_image_opa", lvbe_obj_set_style_local_image_opa }, + { "get_style_image_recolor_opa", lvbe_obj_get_style_image_recolor_opa }, + { "set_style_local_image_recolor_opa", lvbe_obj_set_style_local_image_recolor_opa }, + { "get_style_transition_time", lvbe_obj_get_style_transition_time }, + { "set_style_local_transition_time", lvbe_obj_set_style_local_transition_time }, + { "get_style_transition_delay", lvbe_obj_get_style_transition_delay }, + { "set_style_local_transition_delay", lvbe_obj_set_style_local_transition_delay }, + { "get_style_transition_prop_1", lvbe_obj_get_style_transition_prop_1 }, + { "set_style_local_transition_prop_1", lvbe_obj_set_style_local_transition_prop_1 }, + { "get_style_transition_prop_2", lvbe_obj_get_style_transition_prop_2 }, + { "set_style_local_transition_prop_2", lvbe_obj_set_style_local_transition_prop_2 }, + { "get_style_transition_prop_3", lvbe_obj_get_style_transition_prop_3 }, + { "set_style_local_transition_prop_3", lvbe_obj_set_style_local_transition_prop_3 }, + { "get_style_transition_prop_4", lvbe_obj_get_style_transition_prop_4 }, + { "set_style_local_transition_prop_4", lvbe_obj_set_style_local_transition_prop_4 }, + { "get_style_transition_prop_5", lvbe_obj_get_style_transition_prop_5 }, + { "set_style_local_transition_prop_5", lvbe_obj_set_style_local_transition_prop_5 }, + { "get_style_transition_prop_6", lvbe_obj_get_style_transition_prop_6 }, + { "set_style_local_transition_prop_6", lvbe_obj_set_style_local_transition_prop_6 }, + { "set_style_local_transition_path", lvbe_obj_set_style_local_transition_path }, + { "get_style_scale_width", lvbe_obj_get_style_scale_width }, + { "set_style_local_scale_width", lvbe_obj_set_style_local_scale_width }, + { "get_style_scale_border_width", lvbe_obj_get_style_scale_border_width }, + { "set_style_local_scale_border_width", lvbe_obj_set_style_local_scale_border_width }, + { "get_style_scale_end_border_width", lvbe_obj_get_style_scale_end_border_width }, + { "set_style_local_scale_end_border_width", lvbe_obj_set_style_local_scale_end_border_width }, + { "get_style_scale_end_line_width", lvbe_obj_get_style_scale_end_line_width }, + { "set_style_local_scale_end_line_width", lvbe_obj_set_style_local_scale_end_line_width }, + { "get_style_scale_grad_color", lvbe_obj_get_style_scale_grad_color }, + { "set_style_local_scale_grad_color", lvbe_obj_set_style_local_scale_grad_color }, + { "get_style_scale_end_color", lvbe_obj_get_style_scale_end_color }, + { "set_style_local_scale_end_color", lvbe_obj_set_style_local_scale_end_color }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_obj", members); +#else + be_pushntvclass(vm, &be_class_lv_obj); + be_setglobal(vm, "lv_obj"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_obj (scope: global, name: lv_obj) { + .p, var + init, func(lvbe_obj_create) + tostring, func(lvx_tostring) + create, func(lvbe_obj_create) + del, func(lvbe_obj_del) + del_anim_ready_cb, func(lvbe_obj_del_anim_ready_cb) + del_async, func(lvbe_obj_del_async) + clean, func(lvbe_obj_clean) + invalidate_area, func(lvbe_obj_invalidate_area) + invalidate, func(lvbe_obj_invalidate) + area_is_visible, func(lvbe_obj_area_is_visible) + is_visible, func(lvbe_obj_is_visible) + set_parent, func(lvbe_obj_set_parent) + move_foreground, func(lvbe_obj_move_foreground) + move_background, func(lvbe_obj_move_background) + set_pos, func(lvbe_obj_set_pos) + set_x, func(lvbe_obj_set_x) + set_y, func(lvbe_obj_set_y) + set_size, func(lvbe_obj_set_size) + set_width, func(lvbe_obj_set_width) + set_height, func(lvbe_obj_set_height) + set_width_fit, func(lvbe_obj_set_width_fit) + set_height_fit, func(lvbe_obj_set_height_fit) + set_width_margin, func(lvbe_obj_set_width_margin) + set_height_margin, func(lvbe_obj_set_height_margin) + align, func(lvbe_obj_align) + align_x, func(lvbe_obj_align_x) + align_y, func(lvbe_obj_align_y) + align_mid, func(lvbe_obj_align_mid) + align_mid_x, func(lvbe_obj_align_mid_x) + align_mid_y, func(lvbe_obj_align_mid_y) + realign, func(lvbe_obj_realign) + set_auto_realign, func(lvbe_obj_set_auto_realign) + set_ext_click_area, func(lvbe_obj_set_ext_click_area) + add_style, func(lvbe_obj_add_style) + remove_style, func(lvbe_obj_remove_style) + clean_style_list, func(lvbe_obj_clean_style_list) + reset_style_list, func(lvbe_obj_reset_style_list) + refresh_style, func(lvbe_obj_refresh_style) + report_style_mod, func(lvbe_obj_report_style_mod) + remove_style_local_prop, func(lvbe_obj_remove_style_local_prop) + set_hidden, func(lvbe_obj_set_hidden) + set_adv_hittest, func(lvbe_obj_set_adv_hittest) + set_click, func(lvbe_obj_set_click) + set_top, func(lvbe_obj_set_top) + set_drag, func(lvbe_obj_set_drag) + set_drag_dir, func(lvbe_obj_set_drag_dir) + set_drag_throw, func(lvbe_obj_set_drag_throw) + set_drag_parent, func(lvbe_obj_set_drag_parent) + set_focus_parent, func(lvbe_obj_set_focus_parent) + set_gesture_parent, func(lvbe_obj_set_gesture_parent) + set_parent_event, func(lvbe_obj_set_parent_event) + set_base_dir, func(lvbe_obj_set_base_dir) + add_protect, func(lvbe_obj_add_protect) + clear_protect, func(lvbe_obj_clear_protect) + set_state, func(lvbe_obj_set_state) + add_state, func(lvbe_obj_add_state) + clear_state, func(lvbe_obj_clear_state) + finish_transitions, func(lvbe_obj_finish_transitions) + set_event_cb, func(lvbe_obj_set_event_cb) + set_signal_cb, func(lvbe_obj_set_signal_cb) + set_design_cb, func(lvbe_obj_set_design_cb) + allocate_ext_attr, func(lvbe_obj_allocate_ext_attr) + refresh_ext_draw_pad, func(lvbe_obj_refresh_ext_draw_pad) + get_screen, func(lvbe_obj_get_screen) + get_parent, func(lvbe_obj_get_parent) + get_child, func(lvbe_obj_get_child) + get_child_back, func(lvbe_obj_get_child_back) + count_children, func(lvbe_obj_count_children) + count_children_recursive, func(lvbe_obj_count_children_recursive) + get_coords, func(lvbe_obj_get_coords) + get_inner_coords, func(lvbe_obj_get_inner_coords) + get_x, func(lvbe_obj_get_x) + get_y, func(lvbe_obj_get_y) + get_width, func(lvbe_obj_get_width) + get_height, func(lvbe_obj_get_height) + get_width_fit, func(lvbe_obj_get_width_fit) + get_height_fit, func(lvbe_obj_get_height_fit) + get_height_margin, func(lvbe_obj_get_height_margin) + get_width_margin, func(lvbe_obj_get_width_margin) + get_width_grid, func(lvbe_obj_get_width_grid) + get_height_grid, func(lvbe_obj_get_height_grid) + get_auto_realign, func(lvbe_obj_get_auto_realign) + get_ext_click_pad_left, func(lvbe_obj_get_ext_click_pad_left) + get_ext_click_pad_right, func(lvbe_obj_get_ext_click_pad_right) + get_ext_click_pad_top, func(lvbe_obj_get_ext_click_pad_top) + get_ext_click_pad_bottom, func(lvbe_obj_get_ext_click_pad_bottom) + get_ext_draw_pad, func(lvbe_obj_get_ext_draw_pad) + get_local_style, func(lvbe_obj_get_local_style) + get_hidden, func(lvbe_obj_get_hidden) + get_adv_hittest, func(lvbe_obj_get_adv_hittest) + get_click, func(lvbe_obj_get_click) + get_top, func(lvbe_obj_get_top) + get_drag, func(lvbe_obj_get_drag) + get_drag_dir, func(lvbe_obj_get_drag_dir) + get_drag_throw, func(lvbe_obj_get_drag_throw) + get_drag_parent, func(lvbe_obj_get_drag_parent) + get_focus_parent, func(lvbe_obj_get_focus_parent) + get_parent_event, func(lvbe_obj_get_parent_event) + get_gesture_parent, func(lvbe_obj_get_gesture_parent) + get_base_dir, func(lvbe_obj_get_base_dir) + get_protect, func(lvbe_obj_get_protect) + is_protected, func(lvbe_obj_is_protected) + get_state, func(lvbe_obj_get_state) + is_point_on_coords, func(lvbe_obj_is_point_on_coords) + hittest, func(lvbe_obj_hittest) + get_ext_attr, func(lvbe_obj_get_ext_attr) + get_type, func(lvbe_obj_get_type) + get_user_data, func(lvbe_obj_get_user_data) + set_user_data, func(lvbe_obj_set_user_data) + get_group, func(lvbe_obj_get_group) + is_focused, func(lvbe_obj_is_focused) + get_focused_obj, func(lvbe_obj_get_focused_obj) + handle_get_type_signal, func(lvbe_obj_handle_get_type_signal) + init_draw_rect_dsc, func(lvbe_obj_init_draw_rect_dsc) + init_draw_label_dsc, func(lvbe_obj_init_draw_label_dsc) + init_draw_img_dsc, func(lvbe_obj_init_draw_img_dsc) + init_draw_line_dsc, func(lvbe_obj_init_draw_line_dsc) + get_draw_rect_ext_pad_size, func(lvbe_obj_get_draw_rect_ext_pad_size) + fade_in, func(lvbe_obj_fade_in) + fade_out, func(lvbe_obj_fade_out) + get_style_radius, func(lvbe_obj_get_style_radius) + set_style_local_radius, func(lvbe_obj_set_style_local_radius) + get_style_clip_corner, func(lvbe_obj_get_style_clip_corner) + set_style_local_clip_corner, func(lvbe_obj_set_style_local_clip_corner) + get_style_size, func(lvbe_obj_get_style_size) + set_style_local_size, func(lvbe_obj_set_style_local_size) + get_style_transform_width, func(lvbe_obj_get_style_transform_width) + set_style_local_transform_width, func(lvbe_obj_set_style_local_transform_width) + get_style_transform_height, func(lvbe_obj_get_style_transform_height) + set_style_local_transform_height, func(lvbe_obj_set_style_local_transform_height) + get_style_transform_angle, func(lvbe_obj_get_style_transform_angle) + set_style_local_transform_angle, func(lvbe_obj_set_style_local_transform_angle) + get_style_transform_zoom, func(lvbe_obj_get_style_transform_zoom) + set_style_local_transform_zoom, func(lvbe_obj_set_style_local_transform_zoom) + get_style_opa_scale, func(lvbe_obj_get_style_opa_scale) + set_style_local_opa_scale, func(lvbe_obj_set_style_local_opa_scale) + get_style_pad_top, func(lvbe_obj_get_style_pad_top) + set_style_local_pad_top, func(lvbe_obj_set_style_local_pad_top) + get_style_pad_bottom, func(lvbe_obj_get_style_pad_bottom) + set_style_local_pad_bottom, func(lvbe_obj_set_style_local_pad_bottom) + get_style_pad_left, func(lvbe_obj_get_style_pad_left) + set_style_local_pad_left, func(lvbe_obj_set_style_local_pad_left) + get_style_pad_right, func(lvbe_obj_get_style_pad_right) + set_style_local_pad_right, func(lvbe_obj_set_style_local_pad_right) + get_style_pad_inner, func(lvbe_obj_get_style_pad_inner) + set_style_local_pad_inner, func(lvbe_obj_set_style_local_pad_inner) + get_style_margin_top, func(lvbe_obj_get_style_margin_top) + set_style_local_margin_top, func(lvbe_obj_set_style_local_margin_top) + get_style_margin_bottom, func(lvbe_obj_get_style_margin_bottom) + set_style_local_margin_bottom, func(lvbe_obj_set_style_local_margin_bottom) + get_style_margin_left, func(lvbe_obj_get_style_margin_left) + set_style_local_margin_left, func(lvbe_obj_set_style_local_margin_left) + get_style_margin_right, func(lvbe_obj_get_style_margin_right) + set_style_local_margin_right, func(lvbe_obj_set_style_local_margin_right) + set_style_local_bg_blend_mode, func(lvbe_obj_set_style_local_bg_blend_mode) + get_style_bg_main_stop, func(lvbe_obj_get_style_bg_main_stop) + set_style_local_bg_main_stop, func(lvbe_obj_set_style_local_bg_main_stop) + get_style_bg_grad_stop, func(lvbe_obj_get_style_bg_grad_stop) + set_style_local_bg_grad_stop, func(lvbe_obj_set_style_local_bg_grad_stop) + set_style_local_bg_grad_dir, func(lvbe_obj_set_style_local_bg_grad_dir) + get_style_bg_color, func(lvbe_obj_get_style_bg_color) + set_style_local_bg_color, func(lvbe_obj_set_style_local_bg_color) + get_style_bg_grad_color, func(lvbe_obj_get_style_bg_grad_color) + set_style_local_bg_grad_color, func(lvbe_obj_set_style_local_bg_grad_color) + get_style_bg_opa, func(lvbe_obj_get_style_bg_opa) + set_style_local_bg_opa, func(lvbe_obj_set_style_local_bg_opa) + get_style_border_width, func(lvbe_obj_get_style_border_width) + set_style_local_border_width, func(lvbe_obj_set_style_local_border_width) + set_style_local_border_side, func(lvbe_obj_set_style_local_border_side) + set_style_local_border_blend_mode, func(lvbe_obj_set_style_local_border_blend_mode) + get_style_border_post, func(lvbe_obj_get_style_border_post) + set_style_local_border_post, func(lvbe_obj_set_style_local_border_post) + get_style_border_color, func(lvbe_obj_get_style_border_color) + set_style_local_border_color, func(lvbe_obj_set_style_local_border_color) + get_style_border_opa, func(lvbe_obj_get_style_border_opa) + set_style_local_border_opa, func(lvbe_obj_set_style_local_border_opa) + get_style_outline_width, func(lvbe_obj_get_style_outline_width) + set_style_local_outline_width, func(lvbe_obj_set_style_local_outline_width) + get_style_outline_pad, func(lvbe_obj_get_style_outline_pad) + set_style_local_outline_pad, func(lvbe_obj_set_style_local_outline_pad) + set_style_local_outline_blend_mode, func(lvbe_obj_set_style_local_outline_blend_mode) + get_style_outline_color, func(lvbe_obj_get_style_outline_color) + set_style_local_outline_color, func(lvbe_obj_set_style_local_outline_color) + get_style_outline_opa, func(lvbe_obj_get_style_outline_opa) + set_style_local_outline_opa, func(lvbe_obj_set_style_local_outline_opa) + get_style_shadow_width, func(lvbe_obj_get_style_shadow_width) + set_style_local_shadow_width, func(lvbe_obj_set_style_local_shadow_width) + get_style_shadow_ofs_x, func(lvbe_obj_get_style_shadow_ofs_x) + set_style_local_shadow_ofs_x, func(lvbe_obj_set_style_local_shadow_ofs_x) + get_style_shadow_ofs_y, func(lvbe_obj_get_style_shadow_ofs_y) + set_style_local_shadow_ofs_y, func(lvbe_obj_set_style_local_shadow_ofs_y) + get_style_shadow_spread, func(lvbe_obj_get_style_shadow_spread) + set_style_local_shadow_spread, func(lvbe_obj_set_style_local_shadow_spread) + set_style_local_shadow_blend_mode, func(lvbe_obj_set_style_local_shadow_blend_mode) + get_style_shadow_color, func(lvbe_obj_get_style_shadow_color) + set_style_local_shadow_color, func(lvbe_obj_set_style_local_shadow_color) + get_style_shadow_opa, func(lvbe_obj_get_style_shadow_opa) + set_style_local_shadow_opa, func(lvbe_obj_set_style_local_shadow_opa) + get_style_pattern_repeat, func(lvbe_obj_get_style_pattern_repeat) + set_style_local_pattern_repeat, func(lvbe_obj_set_style_local_pattern_repeat) + set_style_local_pattern_blend_mode, func(lvbe_obj_set_style_local_pattern_blend_mode) + get_style_pattern_recolor, func(lvbe_obj_get_style_pattern_recolor) + set_style_local_pattern_recolor, func(lvbe_obj_set_style_local_pattern_recolor) + get_style_pattern_opa, func(lvbe_obj_get_style_pattern_opa) + set_style_local_pattern_opa, func(lvbe_obj_set_style_local_pattern_opa) + get_style_pattern_recolor_opa, func(lvbe_obj_get_style_pattern_recolor_opa) + set_style_local_pattern_recolor_opa, func(lvbe_obj_set_style_local_pattern_recolor_opa) + get_style_pattern_image, func(lvbe_obj_get_style_pattern_image) + set_style_local_pattern_image, func(lvbe_obj_set_style_local_pattern_image) + get_style_value_letter_space, func(lvbe_obj_get_style_value_letter_space) + set_style_local_value_letter_space, func(lvbe_obj_set_style_local_value_letter_space) + get_style_value_line_space, func(lvbe_obj_get_style_value_line_space) + set_style_local_value_line_space, func(lvbe_obj_set_style_local_value_line_space) + set_style_local_value_blend_mode, func(lvbe_obj_set_style_local_value_blend_mode) + get_style_value_ofs_x, func(lvbe_obj_get_style_value_ofs_x) + set_style_local_value_ofs_x, func(lvbe_obj_set_style_local_value_ofs_x) + get_style_value_ofs_y, func(lvbe_obj_get_style_value_ofs_y) + set_style_local_value_ofs_y, func(lvbe_obj_set_style_local_value_ofs_y) + set_style_local_value_align, func(lvbe_obj_set_style_local_value_align) + get_style_value_color, func(lvbe_obj_get_style_value_color) + set_style_local_value_color, func(lvbe_obj_set_style_local_value_color) + get_style_value_opa, func(lvbe_obj_get_style_value_opa) + set_style_local_value_opa, func(lvbe_obj_set_style_local_value_opa) + set_style_local_value_font, func(lvbe_obj_set_style_local_value_font) + get_style_value_str, func(lvbe_obj_get_style_value_str) + set_style_local_value_str, func(lvbe_obj_set_style_local_value_str) + get_style_text_letter_space, func(lvbe_obj_get_style_text_letter_space) + set_style_local_text_letter_space, func(lvbe_obj_set_style_local_text_letter_space) + get_style_text_line_space, func(lvbe_obj_get_style_text_line_space) + set_style_local_text_line_space, func(lvbe_obj_set_style_local_text_line_space) + set_style_local_text_decor, func(lvbe_obj_set_style_local_text_decor) + set_style_local_text_blend_mode, func(lvbe_obj_set_style_local_text_blend_mode) + get_style_text_color, func(lvbe_obj_get_style_text_color) + set_style_local_text_color, func(lvbe_obj_set_style_local_text_color) + get_style_text_sel_color, func(lvbe_obj_get_style_text_sel_color) + set_style_local_text_sel_color, func(lvbe_obj_set_style_local_text_sel_color) + get_style_text_sel_bg_color, func(lvbe_obj_get_style_text_sel_bg_color) + set_style_local_text_sel_bg_color, func(lvbe_obj_set_style_local_text_sel_bg_color) + get_style_text_opa, func(lvbe_obj_get_style_text_opa) + set_style_local_text_opa, func(lvbe_obj_set_style_local_text_opa) + set_style_local_text_font, func(lvbe_obj_set_style_local_text_font) + get_style_line_width, func(lvbe_obj_get_style_line_width) + set_style_local_line_width, func(lvbe_obj_set_style_local_line_width) + set_style_local_line_blend_mode, func(lvbe_obj_set_style_local_line_blend_mode) + get_style_line_dash_width, func(lvbe_obj_get_style_line_dash_width) + set_style_local_line_dash_width, func(lvbe_obj_set_style_local_line_dash_width) + get_style_line_dash_gap, func(lvbe_obj_get_style_line_dash_gap) + set_style_local_line_dash_gap, func(lvbe_obj_set_style_local_line_dash_gap) + get_style_line_rounded, func(lvbe_obj_get_style_line_rounded) + set_style_local_line_rounded, func(lvbe_obj_set_style_local_line_rounded) + get_style_line_color, func(lvbe_obj_get_style_line_color) + set_style_local_line_color, func(lvbe_obj_set_style_local_line_color) + get_style_line_opa, func(lvbe_obj_get_style_line_opa) + set_style_local_line_opa, func(lvbe_obj_set_style_local_line_opa) + set_style_local_image_blend_mode, func(lvbe_obj_set_style_local_image_blend_mode) + get_style_image_recolor, func(lvbe_obj_get_style_image_recolor) + set_style_local_image_recolor, func(lvbe_obj_set_style_local_image_recolor) + get_style_image_opa, func(lvbe_obj_get_style_image_opa) + set_style_local_image_opa, func(lvbe_obj_set_style_local_image_opa) + get_style_image_recolor_opa, func(lvbe_obj_get_style_image_recolor_opa) + set_style_local_image_recolor_opa, func(lvbe_obj_set_style_local_image_recolor_opa) + get_style_transition_time, func(lvbe_obj_get_style_transition_time) + set_style_local_transition_time, func(lvbe_obj_set_style_local_transition_time) + get_style_transition_delay, func(lvbe_obj_get_style_transition_delay) + set_style_local_transition_delay, func(lvbe_obj_set_style_local_transition_delay) + get_style_transition_prop_1, func(lvbe_obj_get_style_transition_prop_1) + set_style_local_transition_prop_1, func(lvbe_obj_set_style_local_transition_prop_1) + get_style_transition_prop_2, func(lvbe_obj_get_style_transition_prop_2) + set_style_local_transition_prop_2, func(lvbe_obj_set_style_local_transition_prop_2) + get_style_transition_prop_3, func(lvbe_obj_get_style_transition_prop_3) + set_style_local_transition_prop_3, func(lvbe_obj_set_style_local_transition_prop_3) + get_style_transition_prop_4, func(lvbe_obj_get_style_transition_prop_4) + set_style_local_transition_prop_4, func(lvbe_obj_set_style_local_transition_prop_4) + get_style_transition_prop_5, func(lvbe_obj_get_style_transition_prop_5) + set_style_local_transition_prop_5, func(lvbe_obj_set_style_local_transition_prop_5) + get_style_transition_prop_6, func(lvbe_obj_get_style_transition_prop_6) + set_style_local_transition_prop_6, func(lvbe_obj_set_style_local_transition_prop_6) + set_style_local_transition_path, func(lvbe_obj_set_style_local_transition_path) + get_style_scale_width, func(lvbe_obj_get_style_scale_width) + set_style_local_scale_width, func(lvbe_obj_set_style_local_scale_width) + get_style_scale_border_width, func(lvbe_obj_get_style_scale_border_width) + set_style_local_scale_border_width, func(lvbe_obj_set_style_local_scale_border_width) + get_style_scale_end_border_width, func(lvbe_obj_get_style_scale_end_border_width) + set_style_local_scale_end_border_width, func(lvbe_obj_set_style_local_scale_end_border_width) + get_style_scale_end_line_width, func(lvbe_obj_get_style_scale_end_line_width) + set_style_local_scale_end_line_width, func(lvbe_obj_set_style_local_scale_end_line_width) + get_style_scale_grad_color, func(lvbe_obj_get_style_scale_grad_color) + set_style_local_scale_grad_color, func(lvbe_obj_set_style_local_scale_grad_color) + get_style_scale_end_color, func(lvbe_obj_get_style_scale_end_color) + set_style_local_scale_end_color, func(lvbe_obj_set_style_local_scale_end_color) +} +@const_object_info_end */ + +void be_load_lv_arc_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_arc_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_arc_create }, + { "set_start_angle", lvbe_arc_set_start_angle }, + { "set_end_angle", lvbe_arc_set_end_angle }, + { "set_angles", lvbe_arc_set_angles }, + { "set_bg_start_angle", lvbe_arc_set_bg_start_angle }, + { "set_bg_end_angle", lvbe_arc_set_bg_end_angle }, + { "set_bg_angles", lvbe_arc_set_bg_angles }, + { "set_rotation", lvbe_arc_set_rotation }, + { "set_type", lvbe_arc_set_type }, + { "set_value", lvbe_arc_set_value }, + { "set_range", lvbe_arc_set_range }, + { "set_chg_rate", lvbe_arc_set_chg_rate }, + { "set_adjustable", lvbe_arc_set_adjustable }, + { "get_angle_start", lvbe_arc_get_angle_start }, + { "get_angle_end", lvbe_arc_get_angle_end }, + { "get_bg_angle_start", lvbe_arc_get_bg_angle_start }, + { "get_bg_angle_end", lvbe_arc_get_bg_angle_end }, + { "get_type", lvbe_arc_get_type }, + { "get_value", lvbe_arc_get_value }, + { "get_min_value", lvbe_arc_get_min_value }, + { "get_max_value", lvbe_arc_get_max_value }, + { "is_dragged", lvbe_arc_is_dragged }, + { "get_adjustable", lvbe_arc_get_adjustable }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_arc", members); + + be_getglobal(vm, "lv_arc"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_arc); + be_setglobal(vm, "lv_arc"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_arc (scope: global, name: lv_arc, super: be_class_lv_obj) { + .p, var + init, func(lvbe_arc_create) + tostring, func(lvx_tostring) + create, func(lvbe_arc_create) + set_start_angle, func(lvbe_arc_set_start_angle) + set_end_angle, func(lvbe_arc_set_end_angle) + set_angles, func(lvbe_arc_set_angles) + set_bg_start_angle, func(lvbe_arc_set_bg_start_angle) + set_bg_end_angle, func(lvbe_arc_set_bg_end_angle) + set_bg_angles, func(lvbe_arc_set_bg_angles) + set_rotation, func(lvbe_arc_set_rotation) + set_type, func(lvbe_arc_set_type) + set_value, func(lvbe_arc_set_value) + set_range, func(lvbe_arc_set_range) + set_chg_rate, func(lvbe_arc_set_chg_rate) + set_adjustable, func(lvbe_arc_set_adjustable) + get_angle_start, func(lvbe_arc_get_angle_start) + get_angle_end, func(lvbe_arc_get_angle_end) + get_bg_angle_start, func(lvbe_arc_get_bg_angle_start) + get_bg_angle_end, func(lvbe_arc_get_bg_angle_end) + get_type, func(lvbe_arc_get_type) + get_value, func(lvbe_arc_get_value) + get_min_value, func(lvbe_arc_get_min_value) + get_max_value, func(lvbe_arc_get_max_value) + is_dragged, func(lvbe_arc_is_dragged) + get_adjustable, func(lvbe_arc_get_adjustable) +} +@const_object_info_end */ + +void be_load_lv_bar_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_bar_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_bar_create }, + { "set_value", lvbe_bar_set_value }, + { "set_start_value", lvbe_bar_set_start_value }, + { "set_range", lvbe_bar_set_range }, + { "set_type", lvbe_bar_set_type }, + { "set_anim_time", lvbe_bar_set_anim_time }, + { "get_value", lvbe_bar_get_value }, + { "get_start_value", lvbe_bar_get_start_value }, + { "get_min_value", lvbe_bar_get_min_value }, + { "get_max_value", lvbe_bar_get_max_value }, + { "get_type", lvbe_bar_get_type }, + { "get_anim_time", lvbe_bar_get_anim_time }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_bar", members); + + be_getglobal(vm, "lv_bar"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_bar); + be_setglobal(vm, "lv_bar"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_bar (scope: global, name: lv_bar, super: be_class_lv_obj) { + .p, var + init, func(lvbe_bar_create) + tostring, func(lvx_tostring) + create, func(lvbe_bar_create) + set_value, func(lvbe_bar_set_value) + set_start_value, func(lvbe_bar_set_start_value) + set_range, func(lvbe_bar_set_range) + set_type, func(lvbe_bar_set_type) + set_anim_time, func(lvbe_bar_set_anim_time) + get_value, func(lvbe_bar_get_value) + get_start_value, func(lvbe_bar_get_start_value) + get_min_value, func(lvbe_bar_get_min_value) + get_max_value, func(lvbe_bar_get_max_value) + get_type, func(lvbe_bar_get_type) + get_anim_time, func(lvbe_bar_get_anim_time) +} +@const_object_info_end */ + +void be_load_lv_btn_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_btn_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_btn_create }, + { "set_checkable", lvbe_btn_set_checkable }, + { "set_state", lvbe_btn_set_state }, + { "toggle", lvbe_btn_toggle }, + { "set_layout", lvbe_btn_set_layout }, + { "set_fit4", lvbe_btn_set_fit4 }, + { "set_fit2", lvbe_btn_set_fit2 }, + { "set_fit", lvbe_btn_set_fit }, + { "get_state", lvbe_btn_get_state }, + { "get_checkable", lvbe_btn_get_checkable }, + { "get_layout", lvbe_btn_get_layout }, + { "get_fit_left", lvbe_btn_get_fit_left }, + { "get_fit_right", lvbe_btn_get_fit_right }, + { "get_fit_top", lvbe_btn_get_fit_top }, + { "get_fit_bottom", lvbe_btn_get_fit_bottom }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_btn", members); + + be_getglobal(vm, "lv_btn"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_btn); + be_setglobal(vm, "lv_btn"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_btn (scope: global, name: lv_btn, super: be_class_lv_obj) { + .p, var + init, func(lvbe_btn_create) + tostring, func(lvx_tostring) + create, func(lvbe_btn_create) + set_checkable, func(lvbe_btn_set_checkable) + set_state, func(lvbe_btn_set_state) + toggle, func(lvbe_btn_toggle) + set_layout, func(lvbe_btn_set_layout) + set_fit4, func(lvbe_btn_set_fit4) + set_fit2, func(lvbe_btn_set_fit2) + set_fit, func(lvbe_btn_set_fit) + get_state, func(lvbe_btn_get_state) + get_checkable, func(lvbe_btn_get_checkable) + get_layout, func(lvbe_btn_get_layout) + get_fit_left, func(lvbe_btn_get_fit_left) + get_fit_right, func(lvbe_btn_get_fit_right) + get_fit_top, func(lvbe_btn_get_fit_top) + get_fit_bottom, func(lvbe_btn_get_fit_bottom) +} +@const_object_info_end */ + +void be_load_lv_btnmatrix_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_btnmatrix_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_btnmatrix_create }, + { "set_map", lvbe_btnmatrix_set_map }, + { "set_ctrl_map", lvbe_btnmatrix_set_ctrl_map }, + { "set_focused_btn", lvbe_btnmatrix_set_focused_btn }, + { "set_recolor", lvbe_btnmatrix_set_recolor }, + { "set_btn_ctrl", lvbe_btnmatrix_set_btn_ctrl }, + { "clear_btn_ctrl", lvbe_btnmatrix_clear_btn_ctrl }, + { "set_btn_ctrl_all", lvbe_btnmatrix_set_btn_ctrl_all }, + { "clear_btn_ctrl_all", lvbe_btnmatrix_clear_btn_ctrl_all }, + { "set_btn_width", lvbe_btnmatrix_set_btn_width }, + { "set_one_check", lvbe_btnmatrix_set_one_check }, + { "set_align", lvbe_btnmatrix_set_align }, + { "get_recolor", lvbe_btnmatrix_get_recolor }, + { "get_active_btn", lvbe_btnmatrix_get_active_btn }, + { "get_active_btn_text", lvbe_btnmatrix_get_active_btn_text }, + { "get_focused_btn", lvbe_btnmatrix_get_focused_btn }, + { "get_btn_text", lvbe_btnmatrix_get_btn_text }, + { "get_btn_ctrl", lvbe_btnmatrix_get_btn_ctrl }, + { "get_one_check", lvbe_btnmatrix_get_one_check }, + { "get_align", lvbe_btnmatrix_get_align }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_btnmatrix", members); + + be_getglobal(vm, "lv_btnmatrix"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_btnmatrix); + be_setglobal(vm, "lv_btnmatrix"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_btnmatrix (scope: global, name: lv_btnmatrix, super: be_class_lv_obj) { + .p, var + init, func(lvbe_btnmatrix_create) + tostring, func(lvx_tostring) + create, func(lvbe_btnmatrix_create) + set_map, func(lvbe_btnmatrix_set_map) + set_ctrl_map, func(lvbe_btnmatrix_set_ctrl_map) + set_focused_btn, func(lvbe_btnmatrix_set_focused_btn) + set_recolor, func(lvbe_btnmatrix_set_recolor) + set_btn_ctrl, func(lvbe_btnmatrix_set_btn_ctrl) + clear_btn_ctrl, func(lvbe_btnmatrix_clear_btn_ctrl) + set_btn_ctrl_all, func(lvbe_btnmatrix_set_btn_ctrl_all) + clear_btn_ctrl_all, func(lvbe_btnmatrix_clear_btn_ctrl_all) + set_btn_width, func(lvbe_btnmatrix_set_btn_width) + set_one_check, func(lvbe_btnmatrix_set_one_check) + set_align, func(lvbe_btnmatrix_set_align) + get_recolor, func(lvbe_btnmatrix_get_recolor) + get_active_btn, func(lvbe_btnmatrix_get_active_btn) + get_active_btn_text, func(lvbe_btnmatrix_get_active_btn_text) + get_focused_btn, func(lvbe_btnmatrix_get_focused_btn) + get_btn_text, func(lvbe_btnmatrix_get_btn_text) + get_btn_ctrl, func(lvbe_btnmatrix_get_btn_ctrl) + get_one_check, func(lvbe_btnmatrix_get_one_check) + get_align, func(lvbe_btnmatrix_get_align) +} +@const_object_info_end */ + +void be_load_lv_calendar_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_calendar_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_calendar_create }, + { "set_today_date", lvbe_calendar_set_today_date }, + { "set_showed_date", lvbe_calendar_set_showed_date }, + { "set_highlighted_dates", lvbe_calendar_set_highlighted_dates }, + { "set_day_names", lvbe_calendar_set_day_names }, + { "set_month_names", lvbe_calendar_set_month_names }, + { "get_highlighted_dates_num", lvbe_calendar_get_highlighted_dates_num }, + { "get_day_of_week", lvbe_calendar_get_day_of_week }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_calendar", members); + + be_getglobal(vm, "lv_calendar"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_calendar); + be_setglobal(vm, "lv_calendar"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_calendar (scope: global, name: lv_calendar, super: be_class_lv_obj) { + .p, var + init, func(lvbe_calendar_create) + tostring, func(lvx_tostring) + create, func(lvbe_calendar_create) + set_today_date, func(lvbe_calendar_set_today_date) + set_showed_date, func(lvbe_calendar_set_showed_date) + set_highlighted_dates, func(lvbe_calendar_set_highlighted_dates) + set_day_names, func(lvbe_calendar_set_day_names) + set_month_names, func(lvbe_calendar_set_month_names) + get_highlighted_dates_num, func(lvbe_calendar_get_highlighted_dates_num) + get_day_of_week, func(lvbe_calendar_get_day_of_week) +} +@const_object_info_end */ + +void be_load_lv_canvas_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_canvas_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_canvas_create }, + { "set_buffer", lvbe_canvas_set_buffer }, + { "set_px", lvbe_canvas_set_px }, + { "set_palette", lvbe_canvas_set_palette }, + { "get_px", lvbe_canvas_get_px }, + { "copy_buf", lvbe_canvas_copy_buf }, + { "transform", lvbe_canvas_transform }, + { "blur_hor", lvbe_canvas_blur_hor }, + { "blur_ver", lvbe_canvas_blur_ver }, + { "fill_bg", lvbe_canvas_fill_bg }, + { "draw_rect", lvbe_canvas_draw_rect }, + { "draw_text", lvbe_canvas_draw_text }, + { "draw_img", lvbe_canvas_draw_img }, + { "draw_line", lvbe_canvas_draw_line }, + { "draw_polygon", lvbe_canvas_draw_polygon }, + { "draw_arc", lvbe_canvas_draw_arc }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_canvas", members); + + be_getglobal(vm, "lv_canvas"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_canvas); + be_setglobal(vm, "lv_canvas"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_canvas (scope: global, name: lv_canvas, super: be_class_lv_obj) { + .p, var + init, func(lvbe_canvas_create) + tostring, func(lvx_tostring) + create, func(lvbe_canvas_create) + set_buffer, func(lvbe_canvas_set_buffer) + set_px, func(lvbe_canvas_set_px) + set_palette, func(lvbe_canvas_set_palette) + get_px, func(lvbe_canvas_get_px) + copy_buf, func(lvbe_canvas_copy_buf) + transform, func(lvbe_canvas_transform) + blur_hor, func(lvbe_canvas_blur_hor) + blur_ver, func(lvbe_canvas_blur_ver) + fill_bg, func(lvbe_canvas_fill_bg) + draw_rect, func(lvbe_canvas_draw_rect) + draw_text, func(lvbe_canvas_draw_text) + draw_img, func(lvbe_canvas_draw_img) + draw_line, func(lvbe_canvas_draw_line) + draw_polygon, func(lvbe_canvas_draw_polygon) + draw_arc, func(lvbe_canvas_draw_arc) +} +@const_object_info_end */ + +void be_load_lv_chart_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_chart_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_chart_create }, + { "remove_series", lvbe_chart_remove_series }, + { "clear_series", lvbe_chart_clear_series }, + { "hide_series", lvbe_chart_hide_series }, + { "set_div_line_count", lvbe_chart_set_div_line_count }, + { "set_y_range", lvbe_chart_set_y_range }, + { "set_type", lvbe_chart_set_type }, + { "set_point_count", lvbe_chart_set_point_count }, + { "init_points", lvbe_chart_init_points }, + { "set_points", lvbe_chart_set_points }, + { "set_next", lvbe_chart_set_next }, + { "set_update_mode", lvbe_chart_set_update_mode }, + { "set_x_tick_length", lvbe_chart_set_x_tick_length }, + { "set_y_tick_length", lvbe_chart_set_y_tick_length }, + { "set_secondary_y_tick_length", lvbe_chart_set_secondary_y_tick_length }, + { "set_x_tick_texts", lvbe_chart_set_x_tick_texts }, + { "set_secondary_y_tick_texts", lvbe_chart_set_secondary_y_tick_texts }, + { "set_y_tick_texts", lvbe_chart_set_y_tick_texts }, + { "set_x_start_point", lvbe_chart_set_x_start_point }, + { "set_ext_array", lvbe_chart_set_ext_array }, + { "set_point_id", lvbe_chart_set_point_id }, + { "set_series_axis", lvbe_chart_set_series_axis }, + { "set_cursor_point", lvbe_chart_set_cursor_point }, + { "get_type", lvbe_chart_get_type }, + { "get_point_count", lvbe_chart_get_point_count }, + { "get_x_start_point", lvbe_chart_get_x_start_point }, + { "get_point_id", lvbe_chart_get_point_id }, + { "get_series_axis", lvbe_chart_get_series_axis }, + { "get_series_area", lvbe_chart_get_series_area }, + { "get_cursor_point", lvbe_chart_get_cursor_point }, + { "get_nearest_index_from_coord", lvbe_chart_get_nearest_index_from_coord }, + { "get_x_from_index", lvbe_chart_get_x_from_index }, + { "get_y_from_index", lvbe_chart_get_y_from_index }, + { "refresh", lvbe_chart_refresh }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_chart", members); + + be_getglobal(vm, "lv_chart"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_chart); + be_setglobal(vm, "lv_chart"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_chart (scope: global, name: lv_chart, super: be_class_lv_obj) { + .p, var + init, func(lvbe_chart_create) + tostring, func(lvx_tostring) + create, func(lvbe_chart_create) + remove_series, func(lvbe_chart_remove_series) + clear_series, func(lvbe_chart_clear_series) + hide_series, func(lvbe_chart_hide_series) + set_div_line_count, func(lvbe_chart_set_div_line_count) + set_y_range, func(lvbe_chart_set_y_range) + set_type, func(lvbe_chart_set_type) + set_point_count, func(lvbe_chart_set_point_count) + init_points, func(lvbe_chart_init_points) + set_points, func(lvbe_chart_set_points) + set_next, func(lvbe_chart_set_next) + set_update_mode, func(lvbe_chart_set_update_mode) + set_x_tick_length, func(lvbe_chart_set_x_tick_length) + set_y_tick_length, func(lvbe_chart_set_y_tick_length) + set_secondary_y_tick_length, func(lvbe_chart_set_secondary_y_tick_length) + set_x_tick_texts, func(lvbe_chart_set_x_tick_texts) + set_secondary_y_tick_texts, func(lvbe_chart_set_secondary_y_tick_texts) + set_y_tick_texts, func(lvbe_chart_set_y_tick_texts) + set_x_start_point, func(lvbe_chart_set_x_start_point) + set_ext_array, func(lvbe_chart_set_ext_array) + set_point_id, func(lvbe_chart_set_point_id) + set_series_axis, func(lvbe_chart_set_series_axis) + set_cursor_point, func(lvbe_chart_set_cursor_point) + get_type, func(lvbe_chart_get_type) + get_point_count, func(lvbe_chart_get_point_count) + get_x_start_point, func(lvbe_chart_get_x_start_point) + get_point_id, func(lvbe_chart_get_point_id) + get_series_axis, func(lvbe_chart_get_series_axis) + get_series_area, func(lvbe_chart_get_series_area) + get_cursor_point, func(lvbe_chart_get_cursor_point) + get_nearest_index_from_coord, func(lvbe_chart_get_nearest_index_from_coord) + get_x_from_index, func(lvbe_chart_get_x_from_index) + get_y_from_index, func(lvbe_chart_get_y_from_index) + refresh, func(lvbe_chart_refresh) +} +@const_object_info_end */ + +void be_load_lv_checkbox_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_checkbox_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_checkbox_create }, + { "set_text", lvbe_checkbox_set_text }, + { "set_text_static", lvbe_checkbox_set_text_static }, + { "set_checked", lvbe_checkbox_set_checked }, + { "set_disabled", lvbe_checkbox_set_disabled }, + { "set_state", lvbe_checkbox_set_state }, + { "get_text", lvbe_checkbox_get_text }, + { "is_checked", lvbe_checkbox_is_checked }, + { "is_inactive", lvbe_checkbox_is_inactive }, + { "get_state", lvbe_checkbox_get_state }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_checkbox", members); + + be_getglobal(vm, "lv_checkbox"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_checkbox); + be_setglobal(vm, "lv_checkbox"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_checkbox (scope: global, name: lv_checkbox, super: be_class_lv_obj) { + .p, var + init, func(lvbe_checkbox_create) + tostring, func(lvx_tostring) + create, func(lvbe_checkbox_create) + set_text, func(lvbe_checkbox_set_text) + set_text_static, func(lvbe_checkbox_set_text_static) + set_checked, func(lvbe_checkbox_set_checked) + set_disabled, func(lvbe_checkbox_set_disabled) + set_state, func(lvbe_checkbox_set_state) + get_text, func(lvbe_checkbox_get_text) + is_checked, func(lvbe_checkbox_is_checked) + is_inactive, func(lvbe_checkbox_is_inactive) + get_state, func(lvbe_checkbox_get_state) +} +@const_object_info_end */ + +void be_load_lv_cont_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_cont_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_cont_create }, + { "set_layout", lvbe_cont_set_layout }, + { "set_fit4", lvbe_cont_set_fit4 }, + { "set_fit2", lvbe_cont_set_fit2 }, + { "set_fit", lvbe_cont_set_fit }, + { "get_layout", lvbe_cont_get_layout }, + { "get_fit_left", lvbe_cont_get_fit_left }, + { "get_fit_right", lvbe_cont_get_fit_right }, + { "get_fit_top", lvbe_cont_get_fit_top }, + { "get_fit_bottom", lvbe_cont_get_fit_bottom }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_cont", members); + + be_getglobal(vm, "lv_cont"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_cont); + be_setglobal(vm, "lv_cont"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_cont (scope: global, name: lv_cont, super: be_class_lv_obj) { + .p, var + init, func(lvbe_cont_create) + tostring, func(lvx_tostring) + create, func(lvbe_cont_create) + set_layout, func(lvbe_cont_set_layout) + set_fit4, func(lvbe_cont_set_fit4) + set_fit2, func(lvbe_cont_set_fit2) + set_fit, func(lvbe_cont_set_fit) + get_layout, func(lvbe_cont_get_layout) + get_fit_left, func(lvbe_cont_get_fit_left) + get_fit_right, func(lvbe_cont_get_fit_right) + get_fit_top, func(lvbe_cont_get_fit_top) + get_fit_bottom, func(lvbe_cont_get_fit_bottom) +} +@const_object_info_end */ + +void be_load_lv_cpicker_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_cpicker_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_cpicker_create }, + { "set_type", lvbe_cpicker_set_type }, + { "set_hue", lvbe_cpicker_set_hue }, + { "set_saturation", lvbe_cpicker_set_saturation }, + { "set_value", lvbe_cpicker_set_value }, + { "set_hsv", lvbe_cpicker_set_hsv }, + { "set_color", lvbe_cpicker_set_color }, + { "set_color_mode", lvbe_cpicker_set_color_mode }, + { "set_color_mode_fixed", lvbe_cpicker_set_color_mode_fixed }, + { "set_knob_colored", lvbe_cpicker_set_knob_colored }, + { "get_color_mode", lvbe_cpicker_get_color_mode }, + { "get_color_mode_fixed", lvbe_cpicker_get_color_mode_fixed }, + { "get_hue", lvbe_cpicker_get_hue }, + { "get_saturation", lvbe_cpicker_get_saturation }, + { "get_value", lvbe_cpicker_get_value }, + { "get_hsv", lvbe_cpicker_get_hsv }, + { "get_color", lvbe_cpicker_get_color }, + { "get_knob_colored", lvbe_cpicker_get_knob_colored }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_cpicker", members); + + be_getglobal(vm, "lv_cpicker"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_cpicker); + be_setglobal(vm, "lv_cpicker"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_cpicker (scope: global, name: lv_cpicker, super: be_class_lv_obj) { + .p, var + init, func(lvbe_cpicker_create) + tostring, func(lvx_tostring) + create, func(lvbe_cpicker_create) + set_type, func(lvbe_cpicker_set_type) + set_hue, func(lvbe_cpicker_set_hue) + set_saturation, func(lvbe_cpicker_set_saturation) + set_value, func(lvbe_cpicker_set_value) + set_hsv, func(lvbe_cpicker_set_hsv) + set_color, func(lvbe_cpicker_set_color) + set_color_mode, func(lvbe_cpicker_set_color_mode) + set_color_mode_fixed, func(lvbe_cpicker_set_color_mode_fixed) + set_knob_colored, func(lvbe_cpicker_set_knob_colored) + get_color_mode, func(lvbe_cpicker_get_color_mode) + get_color_mode_fixed, func(lvbe_cpicker_get_color_mode_fixed) + get_hue, func(lvbe_cpicker_get_hue) + get_saturation, func(lvbe_cpicker_get_saturation) + get_value, func(lvbe_cpicker_get_value) + get_hsv, func(lvbe_cpicker_get_hsv) + get_color, func(lvbe_cpicker_get_color) + get_knob_colored, func(lvbe_cpicker_get_knob_colored) +} +@const_object_info_end */ + +void be_load_lv_dropdown_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_dropdown_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_dropdown_create }, + { "set_text", lvbe_dropdown_set_text }, + { "clear_options", lvbe_dropdown_clear_options }, + { "set_options", lvbe_dropdown_set_options }, + { "set_options_static", lvbe_dropdown_set_options_static }, + { "add_option", lvbe_dropdown_add_option }, + { "set_selected", lvbe_dropdown_set_selected }, + { "set_dir", lvbe_dropdown_set_dir }, + { "set_max_height", lvbe_dropdown_set_max_height }, + { "set_symbol", lvbe_dropdown_set_symbol }, + { "set_show_selected", lvbe_dropdown_set_show_selected }, + { "get_text", lvbe_dropdown_get_text }, + { "get_options", lvbe_dropdown_get_options }, + { "get_selected", lvbe_dropdown_get_selected }, + { "get_option_cnt", lvbe_dropdown_get_option_cnt }, + { "get_selected_str", lvbe_dropdown_get_selected_str }, + { "get_max_height", lvbe_dropdown_get_max_height }, + { "get_symbol", lvbe_dropdown_get_symbol }, + { "get_dir", lvbe_dropdown_get_dir }, + { "get_show_selected", lvbe_dropdown_get_show_selected }, + { "open", lvbe_dropdown_open }, + { "close", lvbe_dropdown_close }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_dropdown", members); + + be_getglobal(vm, "lv_dropdown"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_dropdown); + be_setglobal(vm, "lv_dropdown"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_dropdown (scope: global, name: lv_dropdown, super: be_class_lv_obj) { + .p, var + init, func(lvbe_dropdown_create) + tostring, func(lvx_tostring) + create, func(lvbe_dropdown_create) + set_text, func(lvbe_dropdown_set_text) + clear_options, func(lvbe_dropdown_clear_options) + set_options, func(lvbe_dropdown_set_options) + set_options_static, func(lvbe_dropdown_set_options_static) + add_option, func(lvbe_dropdown_add_option) + set_selected, func(lvbe_dropdown_set_selected) + set_dir, func(lvbe_dropdown_set_dir) + set_max_height, func(lvbe_dropdown_set_max_height) + set_symbol, func(lvbe_dropdown_set_symbol) + set_show_selected, func(lvbe_dropdown_set_show_selected) + get_text, func(lvbe_dropdown_get_text) + get_options, func(lvbe_dropdown_get_options) + get_selected, func(lvbe_dropdown_get_selected) + get_option_cnt, func(lvbe_dropdown_get_option_cnt) + get_selected_str, func(lvbe_dropdown_get_selected_str) + get_max_height, func(lvbe_dropdown_get_max_height) + get_symbol, func(lvbe_dropdown_get_symbol) + get_dir, func(lvbe_dropdown_get_dir) + get_show_selected, func(lvbe_dropdown_get_show_selected) + open, func(lvbe_dropdown_open) + close, func(lvbe_dropdown_close) +} +@const_object_info_end */ + +void be_load_lv_gauge_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_gauge_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_gauge_create }, + { "set_needle_count", lvbe_gauge_set_needle_count }, + { "set_value", lvbe_gauge_set_value }, + { "set_range", lvbe_gauge_set_range }, + { "set_critical_value", lvbe_gauge_set_critical_value }, + { "set_scale", lvbe_gauge_set_scale }, + { "set_angle_offset", lvbe_gauge_set_angle_offset }, + { "set_needle_img", lvbe_gauge_set_needle_img }, + { "set_formatter_cb", lvbe_gauge_set_formatter_cb }, + { "get_value", lvbe_gauge_get_value }, + { "get_needle_count", lvbe_gauge_get_needle_count }, + { "get_min_value", lvbe_gauge_get_min_value }, + { "get_max_value", lvbe_gauge_get_max_value }, + { "get_critical_value", lvbe_gauge_get_critical_value }, + { "get_label_count", lvbe_gauge_get_label_count }, + { "get_line_count", lvbe_gauge_get_line_count }, + { "get_scale_angle", lvbe_gauge_get_scale_angle }, + { "get_angle_offset", lvbe_gauge_get_angle_offset }, + { "get_needle_img", lvbe_gauge_get_needle_img }, + { "get_needle_img_pivot_x", lvbe_gauge_get_needle_img_pivot_x }, + { "get_needle_img_pivot_y", lvbe_gauge_get_needle_img_pivot_y }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_gauge", members); + + be_getglobal(vm, "lv_gauge"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_gauge); + be_setglobal(vm, "lv_gauge"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_gauge (scope: global, name: lv_gauge, super: be_class_lv_obj) { + .p, var + init, func(lvbe_gauge_create) + tostring, func(lvx_tostring) + create, func(lvbe_gauge_create) + set_needle_count, func(lvbe_gauge_set_needle_count) + set_value, func(lvbe_gauge_set_value) + set_range, func(lvbe_gauge_set_range) + set_critical_value, func(lvbe_gauge_set_critical_value) + set_scale, func(lvbe_gauge_set_scale) + set_angle_offset, func(lvbe_gauge_set_angle_offset) + set_needle_img, func(lvbe_gauge_set_needle_img) + set_formatter_cb, func(lvbe_gauge_set_formatter_cb) + get_value, func(lvbe_gauge_get_value) + get_needle_count, func(lvbe_gauge_get_needle_count) + get_min_value, func(lvbe_gauge_get_min_value) + get_max_value, func(lvbe_gauge_get_max_value) + get_critical_value, func(lvbe_gauge_get_critical_value) + get_label_count, func(lvbe_gauge_get_label_count) + get_line_count, func(lvbe_gauge_get_line_count) + get_scale_angle, func(lvbe_gauge_get_scale_angle) + get_angle_offset, func(lvbe_gauge_get_angle_offset) + get_needle_img, func(lvbe_gauge_get_needle_img) + get_needle_img_pivot_x, func(lvbe_gauge_get_needle_img_pivot_x) + get_needle_img_pivot_y, func(lvbe_gauge_get_needle_img_pivot_y) +} +@const_object_info_end */ + +void be_load_lv_imgbtn_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_imgbtn_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_imgbtn_create }, + { "set_src", lvbe_imgbtn_set_src }, + { "set_state", lvbe_imgbtn_set_state }, + { "toggle", lvbe_imgbtn_toggle }, + { "set_checkable", lvbe_imgbtn_set_checkable }, + { "get_src", lvbe_imgbtn_get_src }, + { "get_state", lvbe_imgbtn_get_state }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_imgbtn", members); + + be_getglobal(vm, "lv_imgbtn"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_imgbtn); + be_setglobal(vm, "lv_imgbtn"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_imgbtn (scope: global, name: lv_imgbtn, super: be_class_lv_obj) { + .p, var + init, func(lvbe_imgbtn_create) + tostring, func(lvx_tostring) + create, func(lvbe_imgbtn_create) + set_src, func(lvbe_imgbtn_set_src) + set_state, func(lvbe_imgbtn_set_state) + toggle, func(lvbe_imgbtn_toggle) + set_checkable, func(lvbe_imgbtn_set_checkable) + get_src, func(lvbe_imgbtn_get_src) + get_state, func(lvbe_imgbtn_get_state) +} +@const_object_info_end */ + +void be_load_lv_keyboard_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_keyboard_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_keyboard_create }, + { "set_textarea", lvbe_keyboard_set_textarea }, + { "set_mode", lvbe_keyboard_set_mode }, + { "set_cursor_manage", lvbe_keyboard_set_cursor_manage }, + { "set_map", lvbe_keyboard_set_map }, + { "set_ctrl_map", lvbe_keyboard_set_ctrl_map }, + { "get_textarea", lvbe_keyboard_get_textarea }, + { "get_cursor_manage", lvbe_keyboard_get_cursor_manage }, + { "def_event_cb", lvbe_keyboard_def_event_cb }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_keyboard", members); + + be_getglobal(vm, "lv_keyboard"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_keyboard); + be_setglobal(vm, "lv_keyboard"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_keyboard (scope: global, name: lv_keyboard, super: be_class_lv_obj) { + .p, var + init, func(lvbe_keyboard_create) + tostring, func(lvx_tostring) + create, func(lvbe_keyboard_create) + set_textarea, func(lvbe_keyboard_set_textarea) + set_mode, func(lvbe_keyboard_set_mode) + set_cursor_manage, func(lvbe_keyboard_set_cursor_manage) + set_map, func(lvbe_keyboard_set_map) + set_ctrl_map, func(lvbe_keyboard_set_ctrl_map) + get_textarea, func(lvbe_keyboard_get_textarea) + get_cursor_manage, func(lvbe_keyboard_get_cursor_manage) + def_event_cb, func(lvbe_keyboard_def_event_cb) +} +@const_object_info_end */ + +void be_load_lv_label_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_label_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_label_create }, + { "set_text", lvbe_label_set_text }, + { "set_text_fmt", lvbe_label_set_text_fmt }, + { "set_text_static", lvbe_label_set_text_static }, + { "set_long_mode", lvbe_label_set_long_mode }, + { "set_align", lvbe_label_set_align }, + { "set_recolor", lvbe_label_set_recolor }, + { "set_anim_speed", lvbe_label_set_anim_speed }, + { "set_text_sel_start", lvbe_label_set_text_sel_start }, + { "set_text_sel_end", lvbe_label_set_text_sel_end }, + { "get_text", lvbe_label_get_text }, + { "get_long_mode", lvbe_label_get_long_mode }, + { "get_align", lvbe_label_get_align }, + { "get_recolor", lvbe_label_get_recolor }, + { "get_anim_speed", lvbe_label_get_anim_speed }, + { "get_letter_pos", lvbe_label_get_letter_pos }, + { "get_letter_on", lvbe_label_get_letter_on }, + { "is_char_under_pos", lvbe_label_is_char_under_pos }, + { "get_text_sel_start", lvbe_label_get_text_sel_start }, + { "get_text_sel_end", lvbe_label_get_text_sel_end }, + { "ins_text", lvbe_label_ins_text }, + { "cut_text", lvbe_label_cut_text }, + { "refr_text", lvbe_label_refr_text }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_label", members); + + be_getglobal(vm, "lv_label"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_label); + be_setglobal(vm, "lv_label"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_label (scope: global, name: lv_label, super: be_class_lv_obj) { + .p, var + init, func(lvbe_label_create) + tostring, func(lvx_tostring) + create, func(lvbe_label_create) + set_text, func(lvbe_label_set_text) + set_text_fmt, func(lvbe_label_set_text_fmt) + set_text_static, func(lvbe_label_set_text_static) + set_long_mode, func(lvbe_label_set_long_mode) + set_align, func(lvbe_label_set_align) + set_recolor, func(lvbe_label_set_recolor) + set_anim_speed, func(lvbe_label_set_anim_speed) + set_text_sel_start, func(lvbe_label_set_text_sel_start) + set_text_sel_end, func(lvbe_label_set_text_sel_end) + get_text, func(lvbe_label_get_text) + get_long_mode, func(lvbe_label_get_long_mode) + get_align, func(lvbe_label_get_align) + get_recolor, func(lvbe_label_get_recolor) + get_anim_speed, func(lvbe_label_get_anim_speed) + get_letter_pos, func(lvbe_label_get_letter_pos) + get_letter_on, func(lvbe_label_get_letter_on) + is_char_under_pos, func(lvbe_label_is_char_under_pos) + get_text_sel_start, func(lvbe_label_get_text_sel_start) + get_text_sel_end, func(lvbe_label_get_text_sel_end) + ins_text, func(lvbe_label_ins_text) + cut_text, func(lvbe_label_cut_text) + refr_text, func(lvbe_label_refr_text) +} +@const_object_info_end */ + +void be_load_lv_led_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_led_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_led_create }, + { "set_bright", lvbe_led_set_bright }, + { "on", lvbe_led_on }, + { "off", lvbe_led_off }, + { "toggle", lvbe_led_toggle }, + { "get_bright", lvbe_led_get_bright }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_led", members); + + be_getglobal(vm, "lv_led"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_led); + be_setglobal(vm, "lv_led"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_led (scope: global, name: lv_led, super: be_class_lv_obj) { + .p, var + init, func(lvbe_led_create) + tostring, func(lvx_tostring) + create, func(lvbe_led_create) + set_bright, func(lvbe_led_set_bright) + on, func(lvbe_led_on) + off, func(lvbe_led_off) + toggle, func(lvbe_led_toggle) + get_bright, func(lvbe_led_get_bright) +} +@const_object_info_end */ + +void be_load_lv_line_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_line_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_line_create }, + { "set_points", lvbe_line_set_points }, + { "set_auto_size", lvbe_line_set_auto_size }, + { "set_y_invert", lvbe_line_set_y_invert }, + { "get_auto_size", lvbe_line_get_auto_size }, + { "get_y_invert", lvbe_line_get_y_invert }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_line", members); + + be_getglobal(vm, "lv_line"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_line); + be_setglobal(vm, "lv_line"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_line (scope: global, name: lv_line, super: be_class_lv_obj) { + .p, var + init, func(lvbe_line_create) + tostring, func(lvx_tostring) + create, func(lvbe_line_create) + set_points, func(lvbe_line_set_points) + set_auto_size, func(lvbe_line_set_auto_size) + set_y_invert, func(lvbe_line_set_y_invert) + get_auto_size, func(lvbe_line_get_auto_size) + get_y_invert, func(lvbe_line_get_y_invert) +} +@const_object_info_end */ + +void be_load_lv_linemeter_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_linemeter_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_linemeter_create }, + { "set_value", lvbe_linemeter_set_value }, + { "set_range", lvbe_linemeter_set_range }, + { "set_scale", lvbe_linemeter_set_scale }, + { "set_angle_offset", lvbe_linemeter_set_angle_offset }, + { "set_mirror", lvbe_linemeter_set_mirror }, + { "get_value", lvbe_linemeter_get_value }, + { "get_min_value", lvbe_linemeter_get_min_value }, + { "get_max_value", lvbe_linemeter_get_max_value }, + { "get_line_count", lvbe_linemeter_get_line_count }, + { "get_scale_angle", lvbe_linemeter_get_scale_angle }, + { "get_angle_offset", lvbe_linemeter_get_angle_offset }, + { "draw_scale", lvbe_linemeter_draw_scale }, + { "get_mirror", lvbe_linemeter_get_mirror }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_linemeter", members); + + be_getglobal(vm, "lv_linemeter"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_linemeter); + be_setglobal(vm, "lv_linemeter"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_linemeter (scope: global, name: lv_linemeter, super: be_class_lv_obj) { + .p, var + init, func(lvbe_linemeter_create) + tostring, func(lvx_tostring) + create, func(lvbe_linemeter_create) + set_value, func(lvbe_linemeter_set_value) + set_range, func(lvbe_linemeter_set_range) + set_scale, func(lvbe_linemeter_set_scale) + set_angle_offset, func(lvbe_linemeter_set_angle_offset) + set_mirror, func(lvbe_linemeter_set_mirror) + get_value, func(lvbe_linemeter_get_value) + get_min_value, func(lvbe_linemeter_get_min_value) + get_max_value, func(lvbe_linemeter_get_max_value) + get_line_count, func(lvbe_linemeter_get_line_count) + get_scale_angle, func(lvbe_linemeter_get_scale_angle) + get_angle_offset, func(lvbe_linemeter_get_angle_offset) + draw_scale, func(lvbe_linemeter_draw_scale) + get_mirror, func(lvbe_linemeter_get_mirror) +} +@const_object_info_end */ + +void be_load_lv_list_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_list_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_list_create }, + { "clean", lvbe_list_clean }, + { "add_btn", lvbe_list_add_btn }, + { "remove", lvbe_list_remove }, + { "focus_btn", lvbe_list_focus_btn }, + { "set_scrollbar_mode", lvbe_list_set_scrollbar_mode }, + { "set_scroll_propagation", lvbe_list_set_scroll_propagation }, + { "set_edge_flash", lvbe_list_set_edge_flash }, + { "set_anim_time", lvbe_list_set_anim_time }, + { "set_layout", lvbe_list_set_layout }, + { "get_btn_text", lvbe_list_get_btn_text }, + { "get_btn_label", lvbe_list_get_btn_label }, + { "get_btn_img", lvbe_list_get_btn_img }, + { "get_prev_btn", lvbe_list_get_prev_btn }, + { "get_next_btn", lvbe_list_get_next_btn }, + { "get_btn_index", lvbe_list_get_btn_index }, + { "get_size", lvbe_list_get_size }, + { "get_btn_selected", lvbe_list_get_btn_selected }, + { "get_layout", lvbe_list_get_layout }, + { "get_scrollbar_mode", lvbe_list_get_scrollbar_mode }, + { "get_scroll_propagation", lvbe_list_get_scroll_propagation }, + { "get_edge_flash", lvbe_list_get_edge_flash }, + { "get_anim_time", lvbe_list_get_anim_time }, + { "up", lvbe_list_up }, + { "down", lvbe_list_down }, + { "focus", lvbe_list_focus }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_list", members); + + be_getglobal(vm, "lv_list"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_list); + be_setglobal(vm, "lv_list"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_list (scope: global, name: lv_list, super: be_class_lv_obj) { + .p, var + init, func(lvbe_list_create) + tostring, func(lvx_tostring) + create, func(lvbe_list_create) + clean, func(lvbe_list_clean) + add_btn, func(lvbe_list_add_btn) + remove, func(lvbe_list_remove) + focus_btn, func(lvbe_list_focus_btn) + set_scrollbar_mode, func(lvbe_list_set_scrollbar_mode) + set_scroll_propagation, func(lvbe_list_set_scroll_propagation) + set_edge_flash, func(lvbe_list_set_edge_flash) + set_anim_time, func(lvbe_list_set_anim_time) + set_layout, func(lvbe_list_set_layout) + get_btn_text, func(lvbe_list_get_btn_text) + get_btn_label, func(lvbe_list_get_btn_label) + get_btn_img, func(lvbe_list_get_btn_img) + get_prev_btn, func(lvbe_list_get_prev_btn) + get_next_btn, func(lvbe_list_get_next_btn) + get_btn_index, func(lvbe_list_get_btn_index) + get_size, func(lvbe_list_get_size) + get_btn_selected, func(lvbe_list_get_btn_selected) + get_layout, func(lvbe_list_get_layout) + get_scrollbar_mode, func(lvbe_list_get_scrollbar_mode) + get_scroll_propagation, func(lvbe_list_get_scroll_propagation) + get_edge_flash, func(lvbe_list_get_edge_flash) + get_anim_time, func(lvbe_list_get_anim_time) + up, func(lvbe_list_up) + down, func(lvbe_list_down) + focus, func(lvbe_list_focus) +} +@const_object_info_end */ + +void be_load_lv_msgbox_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_msgbox_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_msgbox_create }, + { "add_btns", lvbe_msgbox_add_btns }, + { "set_text", lvbe_msgbox_set_text }, + { "set_text_fmt", lvbe_msgbox_set_text_fmt }, + { "set_anim_time", lvbe_msgbox_set_anim_time }, + { "start_auto_close", lvbe_msgbox_start_auto_close }, + { "stop_auto_close", lvbe_msgbox_stop_auto_close }, + { "set_recolor", lvbe_msgbox_set_recolor }, + { "get_text", lvbe_msgbox_get_text }, + { "get_active_btn", lvbe_msgbox_get_active_btn }, + { "get_active_btn_text", lvbe_msgbox_get_active_btn_text }, + { "get_anim_time", lvbe_msgbox_get_anim_time }, + { "get_recolor", lvbe_msgbox_get_recolor }, + { "get_btnmatrix", lvbe_msgbox_get_btnmatrix }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_msgbox", members); + + be_getglobal(vm, "lv_msgbox"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_msgbox); + be_setglobal(vm, "lv_msgbox"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_msgbox (scope: global, name: lv_msgbox, super: be_class_lv_obj) { + .p, var + init, func(lvbe_msgbox_create) + tostring, func(lvx_tostring) + create, func(lvbe_msgbox_create) + add_btns, func(lvbe_msgbox_add_btns) + set_text, func(lvbe_msgbox_set_text) + set_text_fmt, func(lvbe_msgbox_set_text_fmt) + set_anim_time, func(lvbe_msgbox_set_anim_time) + start_auto_close, func(lvbe_msgbox_start_auto_close) + stop_auto_close, func(lvbe_msgbox_stop_auto_close) + set_recolor, func(lvbe_msgbox_set_recolor) + get_text, func(lvbe_msgbox_get_text) + get_active_btn, func(lvbe_msgbox_get_active_btn) + get_active_btn_text, func(lvbe_msgbox_get_active_btn_text) + get_anim_time, func(lvbe_msgbox_get_anim_time) + get_recolor, func(lvbe_msgbox_get_recolor) + get_btnmatrix, func(lvbe_msgbox_get_btnmatrix) +} +@const_object_info_end */ + +void be_load_lv_objmask_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_objmask_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_objmask_create }, + { "update_mask", lvbe_objmask_update_mask }, + { "remove_mask", lvbe_objmask_remove_mask }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_objmask", members); + + be_getglobal(vm, "lv_objmask"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_objmask); + be_setglobal(vm, "lv_objmask"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_objmask (scope: global, name: lv_objmask, super: be_class_lv_obj) { + .p, var + init, func(lvbe_objmask_create) + tostring, func(lvx_tostring) + create, func(lvbe_objmask_create) + update_mask, func(lvbe_objmask_update_mask) + remove_mask, func(lvbe_objmask_remove_mask) +} +@const_object_info_end */ + +void be_load_lv_page_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_page_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_page_create }, + { "clean", lvbe_page_clean }, + { "get_scrollable", lvbe_page_get_scrollable }, + { "get_anim_time", lvbe_page_get_anim_time }, + { "set_scrollbar_mode", lvbe_page_set_scrollbar_mode }, + { "set_anim_time", lvbe_page_set_anim_time }, + { "set_scroll_propagation", lvbe_page_set_scroll_propagation }, + { "set_edge_flash", lvbe_page_set_edge_flash }, + { "set_scrollable_fit2", lvbe_page_set_scrollable_fit2 }, + { "set_scrollable_fit", lvbe_page_set_scrollable_fit }, + { "set_scrl_width", lvbe_page_set_scrl_width }, + { "set_scrl_height", lvbe_page_set_scrl_height }, + { "set_scrl_layout", lvbe_page_set_scrl_layout }, + { "get_scrollbar_mode", lvbe_page_get_scrollbar_mode }, + { "get_scroll_propagation", lvbe_page_get_scroll_propagation }, + { "get_edge_flash", lvbe_page_get_edge_flash }, + { "get_width_fit", lvbe_page_get_width_fit }, + { "get_height_fit", lvbe_page_get_height_fit }, + { "get_width_grid", lvbe_page_get_width_grid }, + { "get_height_grid", lvbe_page_get_height_grid }, + { "get_scrl_width", lvbe_page_get_scrl_width }, + { "get_scrl_height", lvbe_page_get_scrl_height }, + { "get_scrl_layout", lvbe_page_get_scrl_layout }, + { "get_scrl_fit_left", lvbe_page_get_scrl_fit_left }, + { "get_scrl_fit_right", lvbe_page_get_scrl_fit_right }, + { "get_scrl_fit_top", lvbe_page_get_scrl_fit_top }, + { "get_scrl_fit_bottom", lvbe_page_get_scrl_fit_bottom }, + { "on_edge", lvbe_page_on_edge }, + { "glue_obj", lvbe_page_glue_obj }, + { "focus", lvbe_page_focus }, + { "scroll_hor", lvbe_page_scroll_hor }, + { "scroll_ver", lvbe_page_scroll_ver }, + { "start_edge_flash", lvbe_page_start_edge_flash }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_page", members); + + be_getglobal(vm, "lv_page"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_page); + be_setglobal(vm, "lv_page"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_page (scope: global, name: lv_page, super: be_class_lv_obj) { + .p, var + init, func(lvbe_page_create) + tostring, func(lvx_tostring) + create, func(lvbe_page_create) + clean, func(lvbe_page_clean) + get_scrollable, func(lvbe_page_get_scrollable) + get_anim_time, func(lvbe_page_get_anim_time) + set_scrollbar_mode, func(lvbe_page_set_scrollbar_mode) + set_anim_time, func(lvbe_page_set_anim_time) + set_scroll_propagation, func(lvbe_page_set_scroll_propagation) + set_edge_flash, func(lvbe_page_set_edge_flash) + set_scrollable_fit2, func(lvbe_page_set_scrollable_fit2) + set_scrollable_fit, func(lvbe_page_set_scrollable_fit) + set_scrl_width, func(lvbe_page_set_scrl_width) + set_scrl_height, func(lvbe_page_set_scrl_height) + set_scrl_layout, func(lvbe_page_set_scrl_layout) + get_scrollbar_mode, func(lvbe_page_get_scrollbar_mode) + get_scroll_propagation, func(lvbe_page_get_scroll_propagation) + get_edge_flash, func(lvbe_page_get_edge_flash) + get_width_fit, func(lvbe_page_get_width_fit) + get_height_fit, func(lvbe_page_get_height_fit) + get_width_grid, func(lvbe_page_get_width_grid) + get_height_grid, func(lvbe_page_get_height_grid) + get_scrl_width, func(lvbe_page_get_scrl_width) + get_scrl_height, func(lvbe_page_get_scrl_height) + get_scrl_layout, func(lvbe_page_get_scrl_layout) + get_scrl_fit_left, func(lvbe_page_get_scrl_fit_left) + get_scrl_fit_right, func(lvbe_page_get_scrl_fit_right) + get_scrl_fit_top, func(lvbe_page_get_scrl_fit_top) + get_scrl_fit_bottom, func(lvbe_page_get_scrl_fit_bottom) + on_edge, func(lvbe_page_on_edge) + glue_obj, func(lvbe_page_glue_obj) + focus, func(lvbe_page_focus) + scroll_hor, func(lvbe_page_scroll_hor) + scroll_ver, func(lvbe_page_scroll_ver) + start_edge_flash, func(lvbe_page_start_edge_flash) +} +@const_object_info_end */ + +void be_load_lv_roller_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_roller_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_roller_create }, + { "set_options", lvbe_roller_set_options }, + { "set_align", lvbe_roller_set_align }, + { "set_selected", lvbe_roller_set_selected }, + { "set_visible_row_count", lvbe_roller_set_visible_row_count }, + { "set_auto_fit", lvbe_roller_set_auto_fit }, + { "set_anim_time", lvbe_roller_set_anim_time }, + { "get_selected", lvbe_roller_get_selected }, + { "get_option_cnt", lvbe_roller_get_option_cnt }, + { "get_selected_str", lvbe_roller_get_selected_str }, + { "get_align", lvbe_roller_get_align }, + { "get_auto_fit", lvbe_roller_get_auto_fit }, + { "get_options", lvbe_roller_get_options }, + { "get_anim_time", lvbe_roller_get_anim_time }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_roller", members); + + be_getglobal(vm, "lv_roller"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_roller); + be_setglobal(vm, "lv_roller"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_roller (scope: global, name: lv_roller, super: be_class_lv_obj) { + .p, var + init, func(lvbe_roller_create) + tostring, func(lvx_tostring) + create, func(lvbe_roller_create) + set_options, func(lvbe_roller_set_options) + set_align, func(lvbe_roller_set_align) + set_selected, func(lvbe_roller_set_selected) + set_visible_row_count, func(lvbe_roller_set_visible_row_count) + set_auto_fit, func(lvbe_roller_set_auto_fit) + set_anim_time, func(lvbe_roller_set_anim_time) + get_selected, func(lvbe_roller_get_selected) + get_option_cnt, func(lvbe_roller_get_option_cnt) + get_selected_str, func(lvbe_roller_get_selected_str) + get_align, func(lvbe_roller_get_align) + get_auto_fit, func(lvbe_roller_get_auto_fit) + get_options, func(lvbe_roller_get_options) + get_anim_time, func(lvbe_roller_get_anim_time) +} +@const_object_info_end */ + +void be_load_lv_slider_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_slider_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_slider_create }, + { "set_value", lvbe_slider_set_value }, + { "set_left_value", lvbe_slider_set_left_value }, + { "set_range", lvbe_slider_set_range }, + { "set_anim_time", lvbe_slider_set_anim_time }, + { "set_type", lvbe_slider_set_type }, + { "get_value", lvbe_slider_get_value }, + { "get_left_value", lvbe_slider_get_left_value }, + { "get_min_value", lvbe_slider_get_min_value }, + { "get_max_value", lvbe_slider_get_max_value }, + { "is_dragged", lvbe_slider_is_dragged }, + { "get_anim_time", lvbe_slider_get_anim_time }, + { "get_type", lvbe_slider_get_type }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_slider", members); + + be_getglobal(vm, "lv_slider"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_slider); + be_setglobal(vm, "lv_slider"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_slider (scope: global, name: lv_slider, super: be_class_lv_obj) { + .p, var + init, func(lvbe_slider_create) + tostring, func(lvx_tostring) + create, func(lvbe_slider_create) + set_value, func(lvbe_slider_set_value) + set_left_value, func(lvbe_slider_set_left_value) + set_range, func(lvbe_slider_set_range) + set_anim_time, func(lvbe_slider_set_anim_time) + set_type, func(lvbe_slider_set_type) + get_value, func(lvbe_slider_get_value) + get_left_value, func(lvbe_slider_get_left_value) + get_min_value, func(lvbe_slider_get_min_value) + get_max_value, func(lvbe_slider_get_max_value) + is_dragged, func(lvbe_slider_is_dragged) + get_anim_time, func(lvbe_slider_get_anim_time) + get_type, func(lvbe_slider_get_type) +} +@const_object_info_end */ + +void be_load_lv_spinbox_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_spinbox_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_spinbox_create }, + { "set_rollover", lvbe_spinbox_set_rollover }, + { "set_value", lvbe_spinbox_set_value }, + { "set_digit_format", lvbe_spinbox_set_digit_format }, + { "set_step", lvbe_spinbox_set_step }, + { "set_range", lvbe_spinbox_set_range }, + { "set_padding_left", lvbe_spinbox_set_padding_left }, + { "get_rollover", lvbe_spinbox_get_rollover }, + { "get_value", lvbe_spinbox_get_value }, + { "get_step", lvbe_spinbox_get_step }, + { "step_next", lvbe_spinbox_step_next }, + { "step_prev", lvbe_spinbox_step_prev }, + { "increment", lvbe_spinbox_increment }, + { "decrement", lvbe_spinbox_decrement }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_spinbox", members); + + be_getglobal(vm, "lv_spinbox"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_spinbox); + be_setglobal(vm, "lv_spinbox"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_spinbox (scope: global, name: lv_spinbox, super: be_class_lv_obj) { + .p, var + init, func(lvbe_spinbox_create) + tostring, func(lvx_tostring) + create, func(lvbe_spinbox_create) + set_rollover, func(lvbe_spinbox_set_rollover) + set_value, func(lvbe_spinbox_set_value) + set_digit_format, func(lvbe_spinbox_set_digit_format) + set_step, func(lvbe_spinbox_set_step) + set_range, func(lvbe_spinbox_set_range) + set_padding_left, func(lvbe_spinbox_set_padding_left) + get_rollover, func(lvbe_spinbox_get_rollover) + get_value, func(lvbe_spinbox_get_value) + get_step, func(lvbe_spinbox_get_step) + step_next, func(lvbe_spinbox_step_next) + step_prev, func(lvbe_spinbox_step_prev) + increment, func(lvbe_spinbox_increment) + decrement, func(lvbe_spinbox_decrement) +} +@const_object_info_end */ + +void be_load_lv_spinner_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_spinner_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_spinner_create }, + { "set_arc_length", lvbe_spinner_set_arc_length }, + { "set_spin_time", lvbe_spinner_set_spin_time }, + { "set_type", lvbe_spinner_set_type }, + { "set_dir", lvbe_spinner_set_dir }, + { "get_arc_length", lvbe_spinner_get_arc_length }, + { "get_spin_time", lvbe_spinner_get_spin_time }, + { "get_type", lvbe_spinner_get_type }, + { "get_dir", lvbe_spinner_get_dir }, + { "anim_cb", lvbe_spinner_anim_cb }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_spinner", members); + + be_getglobal(vm, "lv_spinner"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_spinner); + be_setglobal(vm, "lv_spinner"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_spinner (scope: global, name: lv_spinner, super: be_class_lv_obj) { + .p, var + init, func(lvbe_spinner_create) + tostring, func(lvx_tostring) + create, func(lvbe_spinner_create) + set_arc_length, func(lvbe_spinner_set_arc_length) + set_spin_time, func(lvbe_spinner_set_spin_time) + set_type, func(lvbe_spinner_set_type) + set_dir, func(lvbe_spinner_set_dir) + get_arc_length, func(lvbe_spinner_get_arc_length) + get_spin_time, func(lvbe_spinner_get_spin_time) + get_type, func(lvbe_spinner_get_type) + get_dir, func(lvbe_spinner_get_dir) + anim_cb, func(lvbe_spinner_anim_cb) +} +@const_object_info_end */ + +void be_load_lv_switch_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_switch_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_switch_create }, + { "on", lvbe_switch_on }, + { "off", lvbe_switch_off }, + { "toggle", lvbe_switch_toggle }, + { "set_anim_time", lvbe_switch_set_anim_time }, + { "get_state", lvbe_switch_get_state }, + { "get_anim_time", lvbe_switch_get_anim_time }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_switch", members); + + be_getglobal(vm, "lv_switch"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_switch); + be_setglobal(vm, "lv_switch"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_switch (scope: global, name: lv_switch, super: be_class_lv_obj) { + .p, var + init, func(lvbe_switch_create) + tostring, func(lvx_tostring) + create, func(lvbe_switch_create) + on, func(lvbe_switch_on) + off, func(lvbe_switch_off) + toggle, func(lvbe_switch_toggle) + set_anim_time, func(lvbe_switch_set_anim_time) + get_state, func(lvbe_switch_get_state) + get_anim_time, func(lvbe_switch_get_anim_time) +} +@const_object_info_end */ + +void be_load_lv_table_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_table_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_table_create }, + { "set_cell_value", lvbe_table_set_cell_value }, + { "set_cell_value_fmt", lvbe_table_set_cell_value_fmt }, + { "set_row_cnt", lvbe_table_set_row_cnt }, + { "set_col_cnt", lvbe_table_set_col_cnt }, + { "set_col_width", lvbe_table_set_col_width }, + { "set_cell_align", lvbe_table_set_cell_align }, + { "set_cell_type", lvbe_table_set_cell_type }, + { "set_cell_crop", lvbe_table_set_cell_crop }, + { "set_cell_merge_right", lvbe_table_set_cell_merge_right }, + { "get_cell_value", lvbe_table_get_cell_value }, + { "get_row_cnt", lvbe_table_get_row_cnt }, + { "get_col_cnt", lvbe_table_get_col_cnt }, + { "get_col_width", lvbe_table_get_col_width }, + { "get_cell_align", lvbe_table_get_cell_align }, + { "get_cell_type", lvbe_table_get_cell_type }, + { "get_cell_crop", lvbe_table_get_cell_crop }, + { "get_cell_merge_right", lvbe_table_get_cell_merge_right }, + { "get_pressed_cell", lvbe_table_get_pressed_cell }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_table", members); + + be_getglobal(vm, "lv_table"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_table); + be_setglobal(vm, "lv_table"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_table (scope: global, name: lv_table, super: be_class_lv_obj) { + .p, var + init, func(lvbe_table_create) + tostring, func(lvx_tostring) + create, func(lvbe_table_create) + set_cell_value, func(lvbe_table_set_cell_value) + set_cell_value_fmt, func(lvbe_table_set_cell_value_fmt) + set_row_cnt, func(lvbe_table_set_row_cnt) + set_col_cnt, func(lvbe_table_set_col_cnt) + set_col_width, func(lvbe_table_set_col_width) + set_cell_align, func(lvbe_table_set_cell_align) + set_cell_type, func(lvbe_table_set_cell_type) + set_cell_crop, func(lvbe_table_set_cell_crop) + set_cell_merge_right, func(lvbe_table_set_cell_merge_right) + get_cell_value, func(lvbe_table_get_cell_value) + get_row_cnt, func(lvbe_table_get_row_cnt) + get_col_cnt, func(lvbe_table_get_col_cnt) + get_col_width, func(lvbe_table_get_col_width) + get_cell_align, func(lvbe_table_get_cell_align) + get_cell_type, func(lvbe_table_get_cell_type) + get_cell_crop, func(lvbe_table_get_cell_crop) + get_cell_merge_right, func(lvbe_table_get_cell_merge_right) + get_pressed_cell, func(lvbe_table_get_pressed_cell) +} +@const_object_info_end */ + +void be_load_lv_tabview_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_tabview_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_tabview_create }, + { "add_tab", lvbe_tabview_add_tab }, + { "clean_tab", lvbe_tabview_clean_tab }, + { "set_tab_act", lvbe_tabview_set_tab_act }, + { "set_tab_name", lvbe_tabview_set_tab_name }, + { "set_anim_time", lvbe_tabview_set_anim_time }, + { "set_btns_pos", lvbe_tabview_set_btns_pos }, + { "get_tab_act", lvbe_tabview_get_tab_act }, + { "get_tab_count", lvbe_tabview_get_tab_count }, + { "get_tab", lvbe_tabview_get_tab }, + { "get_anim_time", lvbe_tabview_get_anim_time }, + { "get_btns_pos", lvbe_tabview_get_btns_pos }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_tabview", members); + + be_getglobal(vm, "lv_tabview"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_tabview); + be_setglobal(vm, "lv_tabview"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_tabview (scope: global, name: lv_tabview, super: be_class_lv_obj) { + .p, var + init, func(lvbe_tabview_create) + tostring, func(lvx_tostring) + create, func(lvbe_tabview_create) + add_tab, func(lvbe_tabview_add_tab) + clean_tab, func(lvbe_tabview_clean_tab) + set_tab_act, func(lvbe_tabview_set_tab_act) + set_tab_name, func(lvbe_tabview_set_tab_name) + set_anim_time, func(lvbe_tabview_set_anim_time) + set_btns_pos, func(lvbe_tabview_set_btns_pos) + get_tab_act, func(lvbe_tabview_get_tab_act) + get_tab_count, func(lvbe_tabview_get_tab_count) + get_tab, func(lvbe_tabview_get_tab) + get_anim_time, func(lvbe_tabview_get_anim_time) + get_btns_pos, func(lvbe_tabview_get_btns_pos) +} +@const_object_info_end */ + +void be_load_lv_textarea_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_textarea_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_textarea_create }, + { "add_char", lvbe_textarea_add_char }, + { "add_text", lvbe_textarea_add_text }, + { "del_char", lvbe_textarea_del_char }, + { "del_char_forward", lvbe_textarea_del_char_forward }, + { "set_text", lvbe_textarea_set_text }, + { "set_placeholder_text", lvbe_textarea_set_placeholder_text }, + { "set_cursor_pos", lvbe_textarea_set_cursor_pos }, + { "set_cursor_hidden", lvbe_textarea_set_cursor_hidden }, + { "set_cursor_click_pos", lvbe_textarea_set_cursor_click_pos }, + { "set_pwd_mode", lvbe_textarea_set_pwd_mode }, + { "set_one_line", lvbe_textarea_set_one_line }, + { "set_text_align", lvbe_textarea_set_text_align }, + { "set_accepted_chars", lvbe_textarea_set_accepted_chars }, + { "set_max_length", lvbe_textarea_set_max_length }, + { "set_insert_replace", lvbe_textarea_set_insert_replace }, + { "set_scrollbar_mode", lvbe_textarea_set_scrollbar_mode }, + { "set_scroll_propagation", lvbe_textarea_set_scroll_propagation }, + { "set_edge_flash", lvbe_textarea_set_edge_flash }, + { "set_text_sel", lvbe_textarea_set_text_sel }, + { "set_pwd_show_time", lvbe_textarea_set_pwd_show_time }, + { "set_cursor_blink_time", lvbe_textarea_set_cursor_blink_time }, + { "get_text", lvbe_textarea_get_text }, + { "get_placeholder_text", lvbe_textarea_get_placeholder_text }, + { "get_label", lvbe_textarea_get_label }, + { "get_cursor_pos", lvbe_textarea_get_cursor_pos }, + { "get_cursor_hidden", lvbe_textarea_get_cursor_hidden }, + { "get_cursor_click_pos", lvbe_textarea_get_cursor_click_pos }, + { "get_pwd_mode", lvbe_textarea_get_pwd_mode }, + { "get_one_line", lvbe_textarea_get_one_line }, + { "get_accepted_chars", lvbe_textarea_get_accepted_chars }, + { "get_max_length", lvbe_textarea_get_max_length }, + { "get_scrollbar_mode", lvbe_textarea_get_scrollbar_mode }, + { "get_scroll_propagation", lvbe_textarea_get_scroll_propagation }, + { "get_edge_flash", lvbe_textarea_get_edge_flash }, + { "text_is_selected", lvbe_textarea_text_is_selected }, + { "get_text_sel_en", lvbe_textarea_get_text_sel_en }, + { "get_pwd_show_time", lvbe_textarea_get_pwd_show_time }, + { "get_cursor_blink_time", lvbe_textarea_get_cursor_blink_time }, + { "clear_selection", lvbe_textarea_clear_selection }, + { "cursor_right", lvbe_textarea_cursor_right }, + { "cursor_left", lvbe_textarea_cursor_left }, + { "cursor_down", lvbe_textarea_cursor_down }, + { "cursor_up", lvbe_textarea_cursor_up }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_textarea", members); + + be_getglobal(vm, "lv_textarea"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_textarea); + be_setglobal(vm, "lv_textarea"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_textarea (scope: global, name: lv_textarea, super: be_class_lv_obj) { + .p, var + init, func(lvbe_textarea_create) + tostring, func(lvx_tostring) + create, func(lvbe_textarea_create) + add_char, func(lvbe_textarea_add_char) + add_text, func(lvbe_textarea_add_text) + del_char, func(lvbe_textarea_del_char) + del_char_forward, func(lvbe_textarea_del_char_forward) + set_text, func(lvbe_textarea_set_text) + set_placeholder_text, func(lvbe_textarea_set_placeholder_text) + set_cursor_pos, func(lvbe_textarea_set_cursor_pos) + set_cursor_hidden, func(lvbe_textarea_set_cursor_hidden) + set_cursor_click_pos, func(lvbe_textarea_set_cursor_click_pos) + set_pwd_mode, func(lvbe_textarea_set_pwd_mode) + set_one_line, func(lvbe_textarea_set_one_line) + set_text_align, func(lvbe_textarea_set_text_align) + set_accepted_chars, func(lvbe_textarea_set_accepted_chars) + set_max_length, func(lvbe_textarea_set_max_length) + set_insert_replace, func(lvbe_textarea_set_insert_replace) + set_scrollbar_mode, func(lvbe_textarea_set_scrollbar_mode) + set_scroll_propagation, func(lvbe_textarea_set_scroll_propagation) + set_edge_flash, func(lvbe_textarea_set_edge_flash) + set_text_sel, func(lvbe_textarea_set_text_sel) + set_pwd_show_time, func(lvbe_textarea_set_pwd_show_time) + set_cursor_blink_time, func(lvbe_textarea_set_cursor_blink_time) + get_text, func(lvbe_textarea_get_text) + get_placeholder_text, func(lvbe_textarea_get_placeholder_text) + get_label, func(lvbe_textarea_get_label) + get_cursor_pos, func(lvbe_textarea_get_cursor_pos) + get_cursor_hidden, func(lvbe_textarea_get_cursor_hidden) + get_cursor_click_pos, func(lvbe_textarea_get_cursor_click_pos) + get_pwd_mode, func(lvbe_textarea_get_pwd_mode) + get_one_line, func(lvbe_textarea_get_one_line) + get_accepted_chars, func(lvbe_textarea_get_accepted_chars) + get_max_length, func(lvbe_textarea_get_max_length) + get_scrollbar_mode, func(lvbe_textarea_get_scrollbar_mode) + get_scroll_propagation, func(lvbe_textarea_get_scroll_propagation) + get_edge_flash, func(lvbe_textarea_get_edge_flash) + text_is_selected, func(lvbe_textarea_text_is_selected) + get_text_sel_en, func(lvbe_textarea_get_text_sel_en) + get_pwd_show_time, func(lvbe_textarea_get_pwd_show_time) + get_cursor_blink_time, func(lvbe_textarea_get_cursor_blink_time) + clear_selection, func(lvbe_textarea_clear_selection) + cursor_right, func(lvbe_textarea_cursor_right) + cursor_left, func(lvbe_textarea_cursor_left) + cursor_down, func(lvbe_textarea_cursor_down) + cursor_up, func(lvbe_textarea_cursor_up) +} +@const_object_info_end */ + +void be_load_lv_tileview_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_tileview_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_tileview_create }, + { "add_element", lvbe_tileview_add_element }, + { "set_valid_positions", lvbe_tileview_set_valid_positions }, + { "set_tile_act", lvbe_tileview_set_tile_act }, + { "set_edge_flash", lvbe_tileview_set_edge_flash }, + { "set_anim_time", lvbe_tileview_set_anim_time }, + { "get_tile_act", lvbe_tileview_get_tile_act }, + { "get_edge_flash", lvbe_tileview_get_edge_flash }, + { "get_anim_time", lvbe_tileview_get_anim_time }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_tileview", members); + + be_getglobal(vm, "lv_tileview"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_tileview); + be_setglobal(vm, "lv_tileview"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_tileview (scope: global, name: lv_tileview, super: be_class_lv_obj) { + .p, var + init, func(lvbe_tileview_create) + tostring, func(lvx_tostring) + create, func(lvbe_tileview_create) + add_element, func(lvbe_tileview_add_element) + set_valid_positions, func(lvbe_tileview_set_valid_positions) + set_tile_act, func(lvbe_tileview_set_tile_act) + set_edge_flash, func(lvbe_tileview_set_edge_flash) + set_anim_time, func(lvbe_tileview_set_anim_time) + get_tile_act, func(lvbe_tileview_get_tile_act) + get_edge_flash, func(lvbe_tileview_get_edge_flash) + get_anim_time, func(lvbe_tileview_get_anim_time) +} +@const_object_info_end */ + +void be_load_lv_win_lib(bvm *vm) { +#if !BE_USE_PRECOMPILED_OBJECT + static const bnfuncinfo members[] = { + { ".p", NULL }, + { "init", lvbe_win_create }, + { "tostring", lvx_tostring }, + + { "create", lvbe_win_create }, + { "clean", lvbe_win_clean }, + { "add_btn_right", lvbe_win_add_btn_right }, + { "add_btn_left", lvbe_win_add_btn_left }, + { "close_event_cb", lvbe_win_close_event_cb }, + { "set_title", lvbe_win_set_title }, + { "set_header_height", lvbe_win_set_header_height }, + { "set_btn_width", lvbe_win_set_btn_width }, + { "set_content_size", lvbe_win_set_content_size }, + { "set_layout", lvbe_win_set_layout }, + { "set_scrollbar_mode", lvbe_win_set_scrollbar_mode }, + { "set_anim_time", lvbe_win_set_anim_time }, + { "set_drag", lvbe_win_set_drag }, + { "title_set_alignment", lvbe_win_title_set_alignment }, + { "get_title", lvbe_win_get_title }, + { "get_content", lvbe_win_get_content }, + { "get_header_height", lvbe_win_get_header_height }, + { "get_btn_width", lvbe_win_get_btn_width }, + { "get_from_btn", lvbe_win_get_from_btn }, + { "get_layout", lvbe_win_get_layout }, + { "get_sb_mode", lvbe_win_get_sb_mode }, + { "get_anim_time", lvbe_win_get_anim_time }, + { "get_width", lvbe_win_get_width }, + { "get_drag", lvbe_win_get_drag }, + { "title_get_alignment", lvbe_win_title_get_alignment }, + { "focus", lvbe_win_focus }, + { "scroll_hor", lvbe_win_scroll_hor }, + { "scroll_ver", lvbe_win_scroll_ver }, + + // { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */ + + { NULL, NULL } + }; + be_regclass(vm, "lv_win", members); + + be_getglobal(vm, "lv_win"); + be_getglobal(vm, "lv_obj"); + be_setsuper(vm, -2); + be_pop(vm, 2); +#else + be_pushntvclass(vm, &be_class_lv_win); + be_setglobal(vm, "lv_win"); + be_pop(vm, 1); +#endif +}; + +/* @const_object_info_begin +class be_class_lv_win (scope: global, name: lv_win, super: be_class_lv_obj) { + .p, var + init, func(lvbe_win_create) + tostring, func(lvx_tostring) + create, func(lvbe_win_create) + clean, func(lvbe_win_clean) + add_btn_right, func(lvbe_win_add_btn_right) + add_btn_left, func(lvbe_win_add_btn_left) + close_event_cb, func(lvbe_win_close_event_cb) + set_title, func(lvbe_win_set_title) + set_header_height, func(lvbe_win_set_header_height) + set_btn_width, func(lvbe_win_set_btn_width) + set_content_size, func(lvbe_win_set_content_size) + set_layout, func(lvbe_win_set_layout) + set_scrollbar_mode, func(lvbe_win_set_scrollbar_mode) + set_anim_time, func(lvbe_win_set_anim_time) + set_drag, func(lvbe_win_set_drag) + title_set_alignment, func(lvbe_win_title_set_alignment) + get_title, func(lvbe_win_get_title) + get_content, func(lvbe_win_get_content) + get_header_height, func(lvbe_win_get_header_height) + get_btn_width, func(lvbe_win_get_btn_width) + get_from_btn, func(lvbe_win_get_from_btn) + get_layout, func(lvbe_win_get_layout) + get_sb_mode, func(lvbe_win_get_sb_mode) + get_anim_time, func(lvbe_win_get_anim_time) + get_width, func(lvbe_win_get_width) + get_drag, func(lvbe_win_get_drag) + title_get_alignment, func(lvbe_win_title_get_alignment) + focus, func(lvbe_win_focus) + scroll_hor, func(lvbe_win_scroll_hor) + scroll_ver, func(lvbe_win_scroll_ver) +} +@const_object_info_end */ + + +#endif // USE_LVGL + diff --git a/lib/libesp32/Berry/default/be_modtab.c b/lib/libesp32/Berry/default/be_modtab.c index 18f8658e1..0ae689955 100644 --- a/lib/libesp32/Berry/default/be_modtab.c +++ b/lib/libesp32/Berry/default/be_modtab.c @@ -24,6 +24,9 @@ be_extern_native_module(solidify); be_extern_native_module(light); be_extern_native_module(gpio); be_extern_native_module(energy); +#ifdef USE_LVGL +be_extern_native_module(lvgl); +#endif // USE_LVGL /* user-defined modules declare start */ @@ -60,13 +63,15 @@ BERRY_LOCAL const bntvmodule* const be_module_table[] = { &be_native_module(solidify), #endif /* user-defined modules register start */ -// #ifdef ESP32 #if BE_USE_TASMOTA &be_native_module(gpio), &be_native_module(light), -#endif + +#ifdef USE_LVGL + &be_native_module(lvgl), +#endif // USE_LVGL &be_native_module(energy), -// #endif // ESP32 +#endif /* user-defined modules register end */ NULL /* do not remove */ @@ -77,6 +82,12 @@ extern void be_load_tasmota_ntvlib(bvm *vm); extern void be_load_wirelib(bvm *vm); extern void be_load_driverlib(bvm *vm); +#ifdef USE_LVGL +extern void be_load_lvgl_color_lib(bvm *vm); +extern void be_load_lvgl_font_lib(bvm *vm); +extern void be_load_lv_all_lib(bvm *vm); +#endif// USE_LVGL + /* this code loads the native class definitions */ BERRY_API void be_load_custom_libs(bvm *vm) { @@ -89,5 +100,12 @@ BERRY_API void be_load_custom_libs(bvm *vm) be_load_tasmota_ntvlib(vm); be_load_wirelib(vm); be_load_driverlib(vm); +#ifdef USE_LVGL + // LVGL + be_load_lvgl_color_lib(vm); + be_load_lvgl_font_lib(vm); + + be_load_lv_all_lib(vm); +#endif // USE_LVGL } #endif diff --git a/lib/libesp32/Berry/default/berry_conf.h b/lib/libesp32/Berry/default/berry_conf.h index dc31e6a6e..a92588f4a 100644 --- a/lib/libesp32/Berry/default/berry_conf.h +++ b/lib/libesp32/Berry/default/berry_conf.h @@ -10,6 +10,11 @@ #include +#ifdef COMPILE_BERRY_LIB + #include "my_user_config.h" + #include "tasmota_configurations.h" +#endif + /* Macro: BE_DEBUG * Berry interpreter debug switch. * Default: 0 @@ -41,11 +46,7 @@ * runtime. Enable this macro can greatly optimize RAM usage. * Default: 1 // **/ -// #ifdef ESP8266 -// #define BE_USE_PRECOMPILED_OBJECT 0 -// #else -#define BE_USE_PRECOMPILED_OBJECT 1 // will enable later when stabilized -// #endif +#define BE_USE_PRECOMPILED_OBJECT 1 /* Macro: BE_DEBUG_RUNTIME_INFO * Set runtime error debugging information. diff --git a/lib/libesp32/Berry/generate/be_const_strtab.h b/lib/libesp32/Berry/generate/be_const_strtab.h index fe6db3850..10677a827 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab.h +++ b/lib/libesp32/Berry/generate/be_const_strtab.h @@ -1,373 +1,1624 @@ -extern const bcstring be_const_str_ADC_TEMP; -extern const bcstring be_const_str_CSE7761_RX; +extern const bcstring be_const_str_AZ_TXD; +extern const bcstring be_const_str_STYLE_PATTERN_RECOLOR; +extern const bcstring be_const_str_get_cursor_hidden; +extern const bcstring be_const_str_lv_line; +extern const bcstring be_const_str_SYMBOL_BULLET; +extern const bcstring be_const_str_get_hue; +extern const bcstring be_const_str_set_bg_grad_stop; +extern const bcstring be_const_str_STYLE_TRANSFORM_ZOOM; +extern const bcstring be_const_str_ETH_PHY_POWER; +extern const bcstring be_const_str_set_margin_right; +extern const bcstring be_const_str_set_style_local_value_font; +extern const bcstring be_const_str_LMT01; +extern const bcstring be_const_str_PAGE_EDGE_LEFT; +extern const bcstring be_const_str_lv_slider; +extern const bcstring be_const_str_CHART_PART_SERIES_BG; +extern const bcstring be_const_str_set_max_height; +extern const bcstring be_const_str_set_offset_y; +extern const bcstring be_const_str_set_style_local_border_blend_mode; +extern const bcstring be_const_str_OPA_40; +extern const bcstring be_const_str_del_char; +extern const bcstring be_const_str_SYMBOL_LIST; +extern const bcstring be_const_str_get_ext_click_pad_right; +extern const bcstring be_const_str_set_fit2; +extern const bcstring be_const_str_set_rollover; +extern const bcstring be_const_str_var; +extern const bcstring be_const_str_DSB_OUT; +extern const bcstring be_const_str_STYLE_PAD_LEFT; +extern const bcstring be_const_str_WEBCAM_HSD; +extern const bcstring be_const_str_get_style_pattern_repeat; +extern const bcstring be_const_str_up; +extern const bcstring be_const_str_FIT_TIGHT; +extern const bcstring be_const_str_STYLE_SCALE_GRAD_COLOR; +extern const bcstring be_const_str_TX2X_TXD_BLACK; +extern const bcstring be_const_str_get_style_transform_width; +extern const bcstring be_const_str_get_width_grid; +extern const bcstring be_const_str_floor; +extern const bcstring be_const_str_set_value_ofs_x; +extern const bcstring be_const_str_CHART_CURSOR_LEFT; +extern const bcstring be_const_str_get_focused_btn; +extern const bcstring be_const_str_get_style_transition_prop_6; +extern const bcstring be_const_str_get_type; +extern const bcstring be_const_str_SYMBOL_LEFT; +extern const bcstring be_const_str_EVENT_DRAG_THROW_BEGIN; +extern const bcstring be_const_str_STYLE_TRANSITION_PROP_1; +extern const bcstring be_const_str_get_style_line_opa; +extern const bcstring be_const_str_BORDER_SIDE_TOP; +extern const bcstring be_const_str_KEY1_INV_NP; +extern const bcstring be_const_str_set_anim_time; +extern const bcstring be_const_str_set_text_sel_end; +extern const bcstring be_const_str_sqrt; +extern const bcstring be_const_str_WEBCAM_PWDN; +extern const bcstring be_const_str_hide_series; +extern const bcstring be_const_str_set_insert_replace; +extern const bcstring be_const_str_DISP_ROT_90; +extern const bcstring be_const_str_KEYBOARD_PART_BG; +extern const bcstring be_const_str_RA8876_CS; +extern const bcstring be_const_str_STYLE_PATTERN_BLEND_MODE; +extern const bcstring be_const_str_get_cell_crop; +extern const bcstring be_const_str_setrange; +extern const bcstring be_const_str_set_pos; +extern const bcstring be_const_str_set_value_blend_mode; +extern const bcstring be_const_str_ROLLER_MODE_NORMAL; +extern const bcstring be_const_str_SM2135_DAT; +extern const bcstring be_const_str_set_style_local_opa_scale; extern const bcstring be_const_str_HPMA_TX; -extern const bcstring be_const_str_SWT1; +extern const bcstring be_const_str_set_range; +extern const bcstring be_const_str_blur_ver; +extern const bcstring be_const_str_set_content_size; +extern const bcstring be_const_str_lv_arc; +extern const bcstring be_const_str_set_auto_realign; +extern const bcstring be_const_str_set_adv_hittest; +extern const bcstring be_const_str_HX711_SCK; +extern const bcstring be_const_str_RF_SENSOR; +extern const bcstring be_const_str_scr_act; +extern const bcstring be_const_str_elif; +extern const bcstring be_const_str_PROTECT_POS; +extern const bcstring be_const_str_A4988_MS1; +extern const bcstring be_const_str_ADC_LIGHT; +extern const bcstring be_const_str_get_style_shadow_ofs_x; +extern const bcstring be_const_str_get_scrl_width; +extern const bcstring be_const_str_get_style_line_width; +extern const bcstring be_const_str_set_checked; +extern const bcstring be_const_str_set_style_local_margin_bottom; +extern const bcstring be_const_str_add_btn_left; +extern const bcstring be_const_str_set_value_opa; +extern const bcstring be_const_str_on_edge; +extern const bcstring be_const_str_PROTECT_EVENT_TO_DISABLED; +extern const bcstring be_const_str_set_transform_width; +extern const bcstring be_const_str_GAUGE_PART_MAJOR; +extern const bcstring be_const_str_STYLE_OUTLINE_WIDTH; +extern const bcstring be_const_str_set_bg_main_stop; +extern const bcstring be_const_str_set_style_local_outline_pad; +extern const bcstring be_const_str_concat; +extern const bcstring be_const_str_get_top; +extern const bcstring be_const_str_lv_list; +extern const bcstring be_const_str_get_fit_left; +extern const bcstring be_const_str_get_group; +extern const bcstring be_const_str_get_style_scale_border_width; +extern const bcstring be_const_str_get_style_scale_width; +extern const bcstring be_const_str_SILVER; +extern const bcstring be_const_str_focus_next; +extern const bcstring be_const_str_set_style_local_text_blend_mode; +extern const bcstring be_const_str_STYLE_SCALE_END_COLOR; +extern const bcstring be_const_str_anim_cb; +extern const bcstring be_const_str_down; +extern const bcstring be_const_str_set_drag_dir; +extern const bcstring be_const_str_set_fit; +extern const bcstring be_const_str_STYLE_OUTLINE_PAD; +extern const bcstring be_const_str_set_clip_corner; +extern const bcstring be_const_str_SSPI; +extern const bcstring be_const_str_set_style_local_border_opa; +extern const bcstring be_const_str_DDS2382_TX; +extern const bcstring be_const_str_FS_RES_DENIED; +extern const bcstring be_const_str_SYMBOL_PREV; +extern const bcstring be_const_str_get_tile_act; +extern const bcstring be_const_str_init_draw_rect_dsc; +extern const bcstring be_const_str_report_style_mod; +extern const bcstring be_const_str_set_focus_parent; +extern const bcstring be_const_str_MAROON; +extern const bcstring be_const_str_NONE; +extern const bcstring be_const_str_ARIRFSEL; +extern const bcstring be_const_str_get_ext_click_pad_bottom; +extern const bcstring be_const_str_set_bg_start_angle; +extern const bcstring be_const_str_set_pattern_image; +extern const bcstring be_const_str_ARC_TYPE_NORMAL; +extern const bcstring be_const_str_get_text_sel_start; +extern const bcstring be_const_str_SM2135_CLK; +extern const bcstring be_const_str_get_knob_colored; +extern const bcstring be_const_str_get_width; +extern const bcstring be_const_str_GESTURE_DIR_LEFT; +extern const bcstring be_const_str_CHART_AXIS_DRAW_LAST_TICK; +extern const bcstring be_const_str_GREEN; +extern const bcstring be_const_str_NRF24_CS; +extern const bcstring be_const_str_STYLE_PAD_BOTTOM; +extern const bcstring be_const_str_set_scrollable_fit2; +extern const bcstring be_const_str_set_signal_cb; +extern const bcstring be_const_str_GPS_RX; +extern const bcstring be_const_str_clear_options; +extern const bcstring be_const_str_get_style_line_color; +extern const bcstring be_const_str_get_style_text_letter_space; +extern const bcstring be_const_str_set_text_sel_color; +extern const bcstring be_const_str_FTC532; +extern const bcstring be_const_str_close; +extern const bcstring be_const_str_set_options_static; +extern const bcstring be_const_str_get_scrollbar_mode; +extern const bcstring be_const_str_set_auto_size; +extern const bcstring be_const_str_ADC_INPUT; +extern const bcstring be_const_str_SLIDER_TYPE_SYMMETRICAL; +extern const bcstring be_const_str_STYLE_CLIP_CORNER; +extern const bcstring be_const_str_get_show_selected; +extern const bcstring be_const_str_set_parent; +extern const bcstring be_const_str_SDM630_RX; +extern const bcstring be_const_str_get_one_line; +extern const bcstring be_const_str_set_outline_width; +extern const bcstring be_const_str_ALIGN_OUT_BOTTOM_MID; +extern const bcstring be_const_str_get_letter_on; +extern const bcstring be_const_str_set_style_local_scale_end_border_width; +extern const bcstring be_const_str_set_width_fit; +extern const bcstring be_const_str_KEY_DEL; +extern const bcstring be_const_str_SYMBOL_SD_CARD; +extern const bcstring be_const_str_set_style_local_value_ofs_x; +extern const bcstring be_const_str_ARC_PART_INDIC; +extern const bcstring be_const_str_get_active_btn_text; +extern const bcstring be_const_str_set_pivot; +extern const bcstring be_const_str_I2C_SCL; +extern const bcstring be_const_str_get_style_line_dash_width; +extern const bcstring be_const_str_get_style_transform_zoom; +extern const bcstring be_const_str_set_cursor_manage; +extern const bcstring be_const_str_LAYOUT_OFF; +extern const bcstring be_const_str_byte; +extern const bcstring be_const_str_reverse; +extern const bcstring be_const_str_TABVIEW_TAB_POS_NONE; +extern const bcstring be_const_str_get_step; +extern const bcstring be_const_str_set_style_local_image_opa; +extern const bcstring be_const_str_FALLING; +extern const bcstring be_const_str_set_style_local_shadow_blend_mode; +extern const bcstring be_const_str_set_text_blend_mode; +extern const bcstring be_const_str_set_valid_positions; +extern const bcstring be_const_str_do; +extern const bcstring be_const_str_BLACK; +extern const bcstring be_const_str_SSPI_CS; +extern const bcstring be_const_str_STYLE_IMAGE_RECOLOR_OPA; +extern const bcstring be_const_str_SYMBOL_WIFI; +extern const bcstring be_const_str_BORDER_SIDE_INTERNAL; +extern const bcstring be_const_str_set_checkable; +extern const bcstring be_const_str_set_cursor_pos; +extern const bcstring be_const_str_STYLE_PATTERN_RECOLOR_OPA; +extern const bcstring be_const_str_get_cursor_manage; +extern const bcstring be_const_str_set_pad_bottom; +extern const bcstring be_const_str_FS_RES_HW_ERR; +extern const bcstring be_const_str_LAYOUT_ROW_TOP; +extern const bcstring be_const_str_SYMBOL_BATTERY_3; +extern const bcstring be_const_str_real; +extern const bcstring be_const_str_set_style_local_transition_path; +extern const bcstring be_const_str_TXT_FLAG_NONE; +extern const bcstring be_const_str_get_color_mode_fixed; +extern const bcstring be_const_str_get_needle_count; +extern const bcstring be_const_str_MP3_DFR562; +extern const bcstring be_const_str_number; +extern const bcstring be_const_str_set_one_check; +extern const bcstring be_const_str_set_style_local_value_letter_space; +extern const bcstring be_const_str_BLUE; +extern const bcstring be_const_str_KEY_UP; +extern const bcstring be_const_str_LIST_PART_BG; +extern const bcstring be_const_str_STYLE_PATTERN_OPA; +extern const bcstring be_const_str_TEXT_DECOR_STRIKETHROUGH; +extern const bcstring be_const_str_add_protect; +extern const bcstring be_const_str_MHZ_TXD; +extern const bcstring be_const_str_STYLE_BORDER_SIDE; +extern const bcstring be_const_str_clear_btn_ctrl; +extern const bcstring be_const_str_PROTECT_FOLLOW; +extern const bcstring be_const_str_deinit; +extern const bcstring be_const_str_set_transition_prop_1; +extern const bcstring be_const_str_log10; +extern const bcstring be_const_str_ANIM_ON; +extern const bcstring be_const_str_DROPDOWN_PART_MAIN; +extern const bcstring be_const_str_DROPDOWN_PART_SELECTED; +extern const bcstring be_const_str_STYLE_RADIUS; +extern const bcstring be_const_str_allocate_ext_attr; +extern const bcstring be_const_str_lv_page; +extern const bcstring be_const_str_STYLE_VALUE_LINE_SPACE; +extern const bcstring be_const_str_EVENT_FOCUSED; +extern const bcstring be_const_str_set_style_local_text_line_space; +extern const bcstring be_const_str_CHECKBOX_PART_BG; +extern const bcstring be_const_str_get_series_axis; +extern const bcstring be_const_str_get_btn_label; +extern const bcstring be_const_str_BTN_STATE_CHECKED_RELEASED; +extern const bcstring be_const_str_set_style_local_line_rounded; +extern const bcstring be_const_str_set_transition_path; +extern const bcstring be_const_str_blur_hor; +extern const bcstring be_const_str_set_style_local_margin_left; +extern const bcstring be_const_str_open; +extern const bcstring be_const_str_size; +extern const bcstring be_const_str_CHART_TYPE_COLUMN; +extern const bcstring be_const_str_get_style_transition_time; +extern const bcstring be_const_str_set_mirror; +extern const bcstring be_const_str_ETH_PHY_MDIO; +extern const bcstring be_const_str_get_mirror; +extern const bcstring be_const_str_get_adjustable; +extern const bcstring be_const_str_get_pwd_show_time; +extern const bcstring be_const_str_get_max_value; +extern const bcstring be_const_str_list_get_style; +extern const bcstring be_const_str_SPI_MISO; +extern const bcstring be_const_str_add_text; +extern const bcstring be_const_str_get_style_pad_right; +extern const bcstring be_const_str_set_ext_click_area; +extern const bcstring be_const_str_DCKI; +extern const bcstring be_const_str_LAYOUT_COLUMN_LEFT; +extern const bcstring be_const_str_break; +extern const bcstring be_const_str_HSPI; +extern const bcstring be_const_str_count_children; +extern const bcstring be_const_str_lv_msgbox; +extern const bcstring be_const_str_set_btn_ctrl; +extern const bcstring be_const_str_set_scrl_width; +extern const bcstring be_const_str_LAYOUT_ROW_BOTTOM; +extern const bcstring be_const_str_tolower; +extern const bcstring be_const_str_STYLE_TRANSFORM_HEIGHT; +extern const bcstring be_const_str_set_scale_width; +extern const bcstring be_const_str_update_mask; +extern const bcstring be_const_str_set_text_opa; +extern const bcstring be_const_str_get_label_count; +extern const bcstring be_const_str_set_row_cnt; +extern const bcstring be_const_str_SR04_ECHO; +extern const bcstring be_const_str_remove_series; +extern const bcstring be_const_str_set_pad_right; +extern const bcstring be_const_str_set_col_width; +extern const bcstring be_const_str_set_offset_x; +extern const bcstring be_const_str_WEBCAM_DATA; +extern const bcstring be_const_str_ELECTRIQ_MOODL_TX; +extern const bcstring be_const_str_set_style_local_pad_right; +extern const bcstring be_const_str_BACKLIGHT; +extern const bcstring be_const_str_SPINNER_TYPE_CONSTANT_ARC; +extern const bcstring be_const_str_SOLAXX1_RX; +extern const bcstring be_const_str_SOLAXX1_TX; +extern const bcstring be_const_str_SYMBOL_BACKSPACE; +extern const bcstring be_const_str_set_style_local_shadow_ofs_y; +extern const bcstring be_const_str_is_checked; +extern const bcstring be_const_str_set_today_date; +extern const bcstring be_const_str_get_screen; +extern const bcstring be_const_str_item; +extern const bcstring be_const_str_try; +extern const bcstring be_const_str_get_style_transform_angle; +extern const bcstring be_const_str_EVENT_KEY; +extern const bcstring be_const_str_get_style_border_post; +extern const bcstring be_const_str_title_get_alignment; +extern const bcstring be_const_str_IRRECV; +extern const bcstring be_const_str_set_value_ofs_y; +extern const bcstring be_const_str_SSD1331_DC; +extern const bcstring be_const_str_get_style_transition_prop_5; +extern const bcstring be_const_str_set_layout; +extern const bcstring be_const_str_tanh; +extern const bcstring be_const_str_STATE_PRESSED; +extern const bcstring be_const_str_SYMBOL_CLOSE; +extern const bcstring be_const_str_get_fit_top; +extern const bcstring be_const_str_rad; +extern const bcstring be_const_str_LAYOUT_GRID; +extern const bcstring be_const_str_SSPI_MOSI; +extern const bcstring be_const_str_SCROLLBAR_MODE_UNHIDE; +extern const bcstring be_const_str_get_hidden; +extern const bcstring be_const_str_super; +extern const bcstring be_const_str_SYMBOL_REFRESH; +extern const bcstring be_const_str_set_style_local_shadow_opa; +extern const bcstring be_const_str_SYMBOL_BELL; +extern const bcstring be_const_str_cursor_left; +extern const bcstring be_const_str_set_src; +extern const bcstring be_const_str_KEY_HOME; +extern const bcstring be_const_str_SYMBOL_LOOP; +extern const bcstring be_const_str_cosh; +extern const bcstring be_const_str_set_border_width; +extern const bcstring be_const_str_get_base_dir; +extern const bcstring be_const_str_get_inner_coords; +extern const bcstring be_const_str_clean_tab; +extern const bcstring be_const_str_get_draw_rect_ext_pad_size; +extern const bcstring be_const_str_get_long_mode; +extern const bcstring be_const_str_set_shadow_width; +extern const bcstring be_const_str_get_local_style; +extern const bcstring be_const_str_WEBCAM_VSYNC; +extern const bcstring be_const_str_STYLE_MARGIN_RIGHT; +extern const bcstring be_const_str_set_radius; extern const bcstring be_const_str_AS3935; -extern const bcstring be_const_str_PMS5003_RX; -extern const bcstring be_const_str_WS2812; -extern const bcstring be_const_str_RC522_RST; -extern const bcstring be_const_str___upper__; +extern const bcstring be_const_str_LABEL_LONG_SROLL; +extern const bcstring be_const_str_STYLE_PATTERN_REPEAT; +extern const bcstring be_const_str_PZEM017_RX; +extern const bcstring be_const_str_TASMOTACLIENT_TXD; +extern const bcstring be_const_str_get_style_radius; +extern const bcstring be_const_str_set_align; +extern const bcstring be_const_str_set_div_line_count; +extern const bcstring be_const_str_STYLE_SHADOW_COLOR; +extern const bcstring be_const_str_set_bg_grad_color; +extern const bcstring be_const_str___lower__; extern const bcstring be_const_str_raise; -extern const bcstring be_const_str_MCP39F5_RST; +extern const bcstring be_const_str_set_outline_opa; +extern const bcstring be_const_str_EVENT_DEFOCUSED; +extern const bcstring be_const_str_STYLE_MARGIN_BOTTOM; +extern const bcstring be_const_str_STYLE_TEXT_DECOR; +extern const bcstring be_const_str_get_auto_fit; +extern const bcstring be_const_str_set_value_str; +extern const bcstring be_const_str_TEXT_DECOR_UNDERLINE; +extern const bcstring be_const_str_set_style_local_bg_grad_stop; +extern const bcstring be_const_str_A4988_ENA; +extern const bcstring be_const_str_CHART_TYPE_LINE; +extern const bcstring be_const_str_STYLE_PATTERN_IMAGE; +extern const bcstring be_const_str_get_bg_angle_end; +extern const bcstring be_const_str_get_cell_merge_right; +extern const bcstring be_const_str_get_pivot; +extern const bcstring be_const_str_push; +extern const bcstring be_const_str_STYLE_BG_GRAD_DIR; +extern const bcstring be_const_str_PZEM004_RX; +extern const bcstring be_const_str_get_drag; +extern const bcstring be_const_str_KEY_ESC; +extern const bcstring be_const_str_SDM72_TX; +extern const bcstring be_const_str_STYLE_TRANSITION_PATH; +extern const bcstring be_const_str_is_char_under_pos; +extern const bcstring be_const_str_set_style_local_scale_width; +extern const bcstring be_const_str_set_cell_merge_right; +extern const bcstring be_const_str_DDS2382_RX; +extern const bcstring be_const_str_MAGENTA; +extern const bcstring be_const_str_STYLE_TEXT_SEL_COLOR; +extern const bcstring be_const_str_LIST_PART_SCROLLBAR; +extern const bcstring be_const_str_get_style_pattern_opa; +extern const bcstring be_const_str_get_text_sel_end; +extern const bcstring be_const_str_set_text_static; +extern const bcstring be_const_str_start_auto_close; +extern const bcstring be_const_str_STYLE_SIZE; +extern const bcstring be_const_str_ALIGN_IN_BOTTOM_LEFT; +extern const bcstring be_const_str_set_outline_color; +extern const bcstring be_const_str_SYMBOL_DRIVE; +extern const bcstring be_const_str_rand; +extern const bcstring be_const_str_STYLE_TRANSITION_PROP_4; +extern const bcstring be_const_str_set_style_local_text_color; +extern const bcstring be_const_str_STYLE_BG_BLEND_MODE; +extern const bcstring be_const_str_get_style_size; +extern const bcstring be_const_str_SYMBOL_VIDEO; +extern const bcstring be_const_str_STYLE_MARGIN_TOP; +extern const bcstring be_const_str_dump; extern const bcstring be_const_str_PMS5003_TX; +extern const bcstring be_const_str_get_bright; +extern const bcstring be_const_str_get_btn_width; +extern const bcstring be_const_str_get_nearest_index_from_coord; +extern const bcstring be_const_str_pin_used; +extern const bcstring be_const_str_SAIR_RX; +extern const bcstring be_const_str_SYMBOL_CALL; +extern const bcstring be_const_str_set_angle_offset; +extern const bcstring be_const_str_FIT_MAX; +extern const bcstring be_const_str_STYLE_VALUE_OFS_Y; +extern const bcstring be_const_str_BOILER_OT_RX; +extern const bcstring be_const_str_BOILER_OT_TX; +extern const bcstring be_const_str_HRE_CLOCK; +extern const bcstring be_const_str_get_wrap; +extern const bcstring be_const_str_CSE7766_TX; +extern const bcstring be_const_str_set_spin_time; +extern const bcstring be_const_str_if; +extern const bcstring be_const_str_SYMBOL_BATTERY_FULL; +extern const bcstring be_const_str_get_needle_img; +extern const bcstring be_const_str_set_next; +extern const bcstring be_const_str_STYLE_VALUE_STR; +extern const bcstring be_const_str_nil; +extern const bcstring be_const_str_CALENDAR_PART_DAY_NAMES; +extern const bcstring be_const_str_WEBCAM_HREF; +extern const bcstring be_const_str_get_x_start_point; +extern const bcstring be_const_str_get_spin_time; +extern const bcstring be_const_str_get_style_scale_end_line_width; +extern const bcstring be_const_str_set_btn_ctrl_all; +extern const bcstring be_const_str_DRAG_DIR_VER; +extern const bcstring be_const_str_PWM1_INV; +extern const bcstring be_const_str_set_event_cb; +extern const bcstring be_const_str_set_style_local_bg_grad_dir; +extern const bcstring be_const_str_ALIGN_OUT_TOP_LEFT; +extern const bcstring be_const_str_KEY_END; +extern const bcstring be_const_str_ROT1A; +extern const bcstring be_const_str_add_btns; +extern const bcstring be_const_str_set_bg_blend_mode; +extern const bcstring be_const_str_LABEL_LONG_CROP; +extern const bcstring be_const_str_SYMBOL_DOWNLOAD; +extern const bcstring be_const_str_set_secondary_y_tick_texts; +extern const bcstring be_const_str_CPICKER_PART_MAIN; +extern const bcstring be_const_str_SYMBOL_PLAY; +extern const bcstring be_const_str_set_tasmota_logo; +extern const bcstring be_const_str_finish_transitions; +extern const bcstring be_const_str_PZEM016_RX; +extern const bcstring be_const_str_get_style_outline_opa; +extern const bcstring be_const_str_def_event_cb; +extern const bcstring be_const_str_get_style_border_opa; +extern const bcstring be_const_str_set_style_local_value_ofs_y; +extern const bcstring be_const_str_PZEM0XX_TX; +extern const bcstring be_const_str_SYMBOL_PLUS; +extern const bcstring be_const_str_get_gesture_parent; +extern const bcstring be_const_str_BLEND_MODE_NORMAL; +extern const bcstring be_const_str_SPI; +extern const bcstring be_const_str_SYMBOL_EJECT; +extern const bcstring be_const_str_SYMBOL_PASTE; +extern const bcstring be_const_str_focus_prev; +extern const bcstring be_const_str_get_height_fit; +extern const bcstring be_const_str_set_pattern_recolor_opa; +extern const bcstring be_const_str_HRE_DATA; +extern const bcstring be_const_str_STYLE_SCALE_END_LINE_WIDTH; +extern const bcstring be_const_str_get_parent; +extern const bcstring be_const_str_insert; +extern const bcstring be_const_str_set_antialias; +extern const bcstring be_const_str_CHART_AXIS_INVERSE_LABELS_ORDER; +extern const bcstring be_const_str_HJL_CF; +extern const bcstring be_const_str_get_style_text_sel_color; +extern const bcstring be_const_str_refresh_style; +extern const bcstring be_const_str_set_hidden; +extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV; +extern const bcstring be_const_str_realign; +extern const bcstring be_const_str_AZ_RXD; +extern const bcstring be_const_str_VL53L0X_XSHUT1; +extern const bcstring be_const_str_set_text_sel; +extern const bcstring be_const_str_set_value; +extern const bcstring be_const_str_ALIGN_OUT_TOP_MID; +extern const bcstring be_const_str_draw_scale; +extern const bcstring be_const_str_load; +extern const bcstring be_const_str_ARC_PART_KNOB; +extern const bcstring be_const_str_ILI9341_DC; +extern const bcstring be_const_str_CPICKER_TYPE_RECT; +extern const bcstring be_const_str_SYMBOL_BATTERY_2; +extern const bcstring be_const_str_get_style_bg_grad_stop; +extern const bcstring be_const_str_set_shadow_blend_mode; +extern const bcstring be_const_str_get_fit_bottom; +extern const bcstring be_const_str_refresh; +extern const bcstring be_const_str_SYMBOL_DUMMY; +extern const bcstring be_const_str_remove_style_local_prop; +extern const bcstring be_const_str_get_style_text_color; +extern const bcstring be_const_str_HLW_CF; +extern const bcstring be_const_str_NRG_CF1; +extern const bcstring be_const_str_SYMBOL_MUTE; +extern const bcstring be_const_str_OPA_COVER; +extern const bcstring be_const_str_get_scrl_fit_right; +extern const bcstring be_const_str_KEYBOARD_MODE_NUM; +extern const bcstring be_const_str_PULLUP; +extern const bcstring be_const_str_del; +extern const bcstring be_const_str_LABEL_ALIGN_AUTO; +extern const bcstring be_const_str_set_style_local_value_line_space; +extern const bcstring be_const_str_STATE_DEFAULT; +extern const bcstring be_const_str_set_value_line_space; +extern const bcstring be_const_str_get_pwd_mode; +extern const bcstring be_const_str_init_draw_line_dsc; +extern const bcstring be_const_str_CYAN; +extern const bcstring be_const_str_set_line_blend_mode; +extern const bcstring be_const_str_set_selected; +extern const bcstring be_const_str_set_text_decor; +extern const bcstring be_const_str_PROTECT_PARENT; +extern const bcstring be_const_str_LED_PART_MAIN; +extern const bcstring be_const_str_is_focused; +extern const bcstring be_const_str_set_style_local_transition_prop_6; +extern const bcstring be_const_str_SCROLLBAR_MODE_AUTO; +extern const bcstring be_const_str_TFMINIPLUS_TX; +extern const bcstring be_const_str_list_init; +extern const bcstring be_const_str_set_y_tick_texts; +extern const bcstring be_const_str_EPAPER29_CS; +extern const bcstring be_const_str_BUZZER_INV; +extern const bcstring be_const_str_imin; +extern const bcstring be_const_str_BAR_TYPE_CUSTOM; +extern const bcstring be_const_str_STYLE_LINE_DASH_WIDTH; +extern const bcstring be_const_str_KEY1_TC; +extern const bcstring be_const_str_get_ext_click_pad_left; +extern const bcstring be_const_str_remove_obj; +extern const bcstring be_const_str_DRAG_DIR_BOTH; +extern const bcstring be_const_str_MIEL_HVAC_TX; +extern const bcstring be_const_str_P9813_DAT; +extern const bcstring be_const_str_get_tab_act; +extern const bcstring be_const_str_set_transform_height; +extern const bcstring be_const_str_get_scrl_height; +extern const bcstring be_const_str_set_series_axis; +extern const bcstring be_const_str_get_y; +extern const bcstring be_const_str_set_scale_end_line_width; +extern const bcstring be_const_str_TABVIEW_TAB_POS_TOP; +extern const bcstring be_const_str_get_btn_text; +extern const bcstring be_const_str_set_drag; +extern const bcstring be_const_str_LABEL_LONG_DOT; +extern const bcstring be_const_str_BLEND_MODE_ADDITIVE; +extern const bcstring be_const_str_BORDER_SIDE_RIGHT; +extern const bcstring be_const_str_set_margin_top; +extern const bcstring be_const_str_set_style_local_line_dash_gap; +extern const bcstring be_const_str_BLEND_MODE_SUBTRACTIVE; +extern const bcstring be_const_str_STYLE_TEXT_LETTER_SPACE; +extern const bcstring be_const_str_lv_btnmatrix; +extern const bcstring be_const_str_OPA_70; +extern const bcstring be_const_str_CHART_UPDATE_MODE_CIRCULAR; +extern const bcstring be_const_str_STYLE_OUTLINE_COLOR; +extern const bcstring be_const_str_set_border_opa; +extern const bcstring be_const_str_set_shadow_color; +extern const bcstring be_const_str_set_style_local_text_decor; +extern const bcstring be_const_str_PMS5003_RX; +extern const bcstring be_const_str_STYLE_BG_MAIN_STOP; +extern const bcstring be_const_str_EVENT_VALUE_CHANGED; +extern const bcstring be_const_str_area_is_visible; +extern const bcstring be_const_str_init_draw_img_dsc; +extern const bcstring be_const_str_lv_switch; +extern const bcstring be_const_str_true; +extern const bcstring be_const_str_int; +extern const bcstring be_const_str_set_style_local_shadow_ofs_x; +extern const bcstring be_const_str_set_pad_inner; +extern const bcstring be_const_str_STYLE_LINE_BLEND_MODE; +extern const bcstring be_const_str_create; +extern const bcstring be_const_str_lv_chart; +extern const bcstring be_const_str_lv_spinbox; +extern const bcstring be_const_str_set_needle_img; +extern const bcstring be_const_str_get_style_transition_prop_4; +extern const bcstring be_const_str_set_month_names; +extern const bcstring be_const_str_set_style_local_image_recolor_opa; +extern const bcstring be_const_str_ILI9488_CS; +extern const bcstring be_const_str_RDM6300_RX; +extern const bcstring be_const_str_get_click; +extern const bcstring be_const_str_sinh; +extern const bcstring be_const_str_KEYBOARD_MODE_TEXT_LOWER; +extern const bcstring be_const_str_get_cell_value; +extern const bcstring be_const_str_get_style_bg_opa; +extern const bcstring be_const_str_reset; +extern const bcstring be_const_str_set_text_letter_space; +extern const bcstring be_const_str_get_parent_event; +extern const bcstring be_const_str_set_point_count; +extern const bcstring be_const_str_CPICKER_PART_KNOB; +extern const bcstring be_const_str_DHT11_OUT; +extern const bcstring be_const_str_get_rollover; +extern const bcstring be_const_str_FS_RES_TOUT; +extern const bcstring be_const_str_RED; +extern const bcstring be_const_str_remove_style; +extern const bcstring be_const_str_get_text; +extern const bcstring be_const_str_while; +extern const bcstring be_const_str_HM10_TX; +extern const bcstring be_const_str_MAX7219CLK; +extern const bcstring be_const_str_SBR_RX; +extern const bcstring be_const_str_SBR_TX; +extern const bcstring be_const_str_del_char_forward; +extern const bcstring be_const_str_WIEGAND_D0; +extern const bcstring be_const_str_PN532_RXD; +extern const bcstring be_const_str_lv_led; +extern const bcstring be_const_str_cursor_right; +extern const bcstring be_const_str_set_style_local_transform_zoom; +extern const bcstring be_const_str_get_style_image_opa; +extern const bcstring be_const_str_CPICKER_COLOR_MODE_HUE; +extern const bcstring be_const_str_MGC3130_RESET; +extern const bcstring be_const_str_get_click_focus; +extern const bcstring be_const_str_get_style_outline_color; +extern const bcstring be_const_str_set_cell_align; +extern const bcstring be_const_str_set_style_local_image_recolor; +extern const bcstring be_const_str_get_btn_selected; +extern const bcstring be_const_str_get_style_bg_grad_color; +extern const bcstring be_const_str_set_dir; +extern const bcstring be_const_str_STYLE_PAD_INNER; +extern const bcstring be_const_str_set_ctrl_map; +extern const bcstring be_const_str_NRG_SEL; +extern const bcstring be_const_str_ALIGN_IN_TOP_MID; +extern const bcstring be_const_str_get_style_scale_end_border_width; +extern const bcstring be_const_str_get_style_bg_color; +extern const bcstring be_const_str_SYMBOL_SETTINGS; +extern const bcstring be_const_str_GESTURE_DIR_BOTTOM; +extern const bcstring be_const_str_SSD1351_DC; +extern const bcstring be_const_str_get_cursor_point; +extern const bcstring be_const_str_set_style_local_scale_border_width; +extern const bcstring be_const_str_STYLE_SCALE_BORDER_WIDTH; +extern const bcstring be_const_str_ALIGN_OUT_LEFT_MID; +extern const bcstring be_const_str_EVENT_CANCEL; +extern const bcstring be_const_str_align; +extern const bcstring be_const_str_STYLE_BG_GRAD_COLOR; +extern const bcstring be_const_str_set_btns_pos; +extern const bcstring be_const_str_cursor_up; +extern const bcstring be_const_str_get_style_image_recolor_opa; +extern const bcstring be_const_str_KEY_RIGHT; +extern const bcstring be_const_str_WE517_TX; +extern const bcstring be_const_str_set_visible_row_count; +extern const bcstring be_const_str_traceback; +extern const bcstring be_const_str_import; +extern const bcstring be_const_str_SAIR_TX; +extern const bcstring be_const_str_TXT_FLAG_EXPAND; +extern const bcstring be_const_str_set_base_dir; +extern const bcstring be_const_str_EVENT_DELETE; +extern const bcstring be_const_str_SYMBOL_HOME; +extern const bcstring be_const_str_FS_RES_FS_ERR; +extern const bcstring be_const_str_layer_sys; +extern const bcstring be_const_str_set_y_range; +extern const bcstring be_const_str_class; +extern const bcstring be_const_str_AS608_RX; +extern const bcstring be_const_str_STYLE_TRANSITION_PROP_5; +extern const bcstring be_const_str_set_angle; +extern const bcstring be_const_str_SCROLLBAR_MODE_ON; +extern const bcstring be_const_str_bytes; +extern const bcstring be_const_str_get_cursor_pos; +extern const bcstring be_const_str_SYMBOL_GPS; +extern const bcstring be_const_str___iterator__; +extern const bcstring be_const_str_get_series_area; +extern const bcstring be_const_str_get_offset_y; +extern const bcstring be_const_str_lv_cont; +extern const bcstring be_const_str_start_edge_flash; +extern const bcstring be_const_str_get_cursor_click_pos; +extern const bcstring be_const_str_hex; +extern const bcstring be_const_str_DHT22; +extern const bcstring be_const_str_MAX31855DO; +extern const bcstring be_const_str_STYLE_TEXT_SEL_BG_COLOR; +extern const bcstring be_const_str_STYLE_VALUE_OFS_X; +extern const bcstring be_const_str_get_color_mode; +extern const bcstring be_const_str_set_style_local_bg_color; +extern const bcstring be_const_str_set_style_local_pad_top; +extern const bcstring be_const_str_set_style_local_pattern_image; +extern const bcstring be_const_str_set_user_data; +extern const bcstring be_const_str_ALIGN_IN_LEFT_MID; +extern const bcstring be_const_str_set_style_local_text_font; +extern const bcstring be_const_str_DEEPSLEEP; +extern const bcstring be_const_str_FS_MODE_RD; +extern const bcstring be_const_str_STYLE_BORDER_WIDTH; +extern const bcstring be_const_str_off; +extern const bcstring be_const_str_set_bright; +extern const bcstring be_const_str_EVENT_REFRESH; +extern const bcstring be_const_str_set_style_local_transform_angle; +extern const bcstring be_const_str_MCP39F5_TX; +extern const bcstring be_const_str_set_transform_angle; +extern const bcstring be_const_str_get_start_value; +extern const bcstring be_const_str_get_style_value_letter_space; +extern const bcstring be_const_str_ETH_PHY_MDC; +extern const bcstring be_const_str_set_adjustable; +extern const bcstring be_const_str_title_set_alignment; +extern const bcstring be_const_str_HALLEFFECT; +extern const bcstring be_const_str_DDSU666_RX; +extern const bcstring be_const_str_DDSU666_TX; +extern const bcstring be_const_str_INPUT_PULLDOWN; +extern const bcstring be_const_str_STYLE_MARGIN_LEFT; +extern const bcstring be_const_str_ALIGN_IN_TOP_RIGHT; +extern const bcstring be_const_str_ALIGN_OUT_LEFT_TOP; +extern const bcstring be_const_str_INPUT; +extern const bcstring be_const_str_pi; +extern const bcstring be_const_str_set_style_local_transition_time; +extern const bcstring be_const_str_ARC_TYPE_SYMMETRIC; +extern const bcstring be_const_str_HX711_DAT; +extern const bcstring be_const_str_SCROLLBAR_MODE_HIDE; +extern const bcstring be_const_str_asstring; +extern const bcstring be_const_str_clean_style_list; +extern const bcstring be_const_str_type; +extern const bcstring be_const_str_STYLE_TRANSFORM_ANGLE; +extern const bcstring be_const_str_STYLE_LINE_WIDTH; +extern const bcstring be_const_str_get_hsv; +extern const bcstring be_const_str_init_draw_label_dsc; +extern const bcstring be_const_str_LED1_INV; +extern const bcstring be_const_str_get_saturation; +extern const bcstring be_const_str_set_value_align; +extern const bcstring be_const_str_get_arc_length; +extern const bcstring be_const_str_get_child; +extern const bcstring be_const_str_set_style_local_text_opa; +extern const bcstring be_const_str_CHECKBOX_PART_BULLET; +extern const bcstring be_const_str_SYMBOL_NEW_LINE; +extern const bcstring be_const_str_get_symbol; +extern const bcstring be_const_str_acos; +extern const bcstring be_const_str_set_x_start_point; +extern const bcstring be_const_str_HIGH; +extern const bcstring be_const_str_set_transition_delay; +extern const bcstring be_const_str_set_bg_end_angle; +extern const bcstring be_const_str_STYLE_PAD_RIGHT; +extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0; +extern const bcstring be_const_str_get_fit_right; +extern const bcstring be_const_str_set_start_value; +extern const bcstring be_const_str_return; +extern const bcstring be_const_str_compile; +extern const bcstring be_const_str_resize; +extern const bcstring be_const_str_set_px; +extern const bcstring be_const_str_SYMBOL_BATTERY_1; +extern const bcstring be_const_str_WE517_RX; +extern const bcstring be_const_str_get_y_invert; +extern const bcstring be_const_str_lv_textarea; +extern const bcstring be_const_str_REL1_INV; +extern const bcstring be_const_str_SM16716_DAT; +extern const bcstring be_const_str_get_auto_size; +extern const bcstring be_const_str_LABEL_LONG_BREAK; +extern const bcstring be_const_str_draw_line; +extern const bcstring be_const_str_STYLE_SCALE_WIDTH; +extern const bcstring be_const_str_TFMINIPLUS_RX; +extern const bcstring be_const_str_set_scale; +extern const bcstring be_const_str_add_style; +extern const bcstring be_const_str_set_critical_value; +extern const bcstring be_const_str_set_transition_prop_3; +extern const bcstring be_const_str_STYLE_LINE_ROUNDED; +extern const bcstring be_const_str_TCP_TX; +extern const bcstring be_const_str_set_fit4; +extern const bcstring be_const_str_set_style_local_value_str; +extern const bcstring be_const_str_ADC_BUTTON_INV; +extern const bcstring be_const_str_get_bg_angle_start; +extern const bcstring be_const_str_get_ext_attr; +extern const bcstring be_const_str_add_element; +extern const bcstring be_const_str_get_style_border_width; +extern const bcstring be_const_str_set_x_tick_length; +extern const bcstring be_const_str_SSPI_MAX31865_CS1; +extern const bcstring be_const_str_set_border_side; +extern const bcstring be_const_str_TEXT_DECOR_NONE; +extern const bcstring be_const_str_hittest; +extern const bcstring be_const_str_set_style_local_transition_prop_5; +extern const bcstring be_const_str_set_tab_name; +extern const bcstring be_const_str_DISP_SIZE_LARGE; +extern const bcstring be_const_str_EPAPER42_CS; +extern const bcstring be_const_str_get_text_sel_en; +extern const bcstring be_const_str_set_header_height; +extern const bcstring be_const_str_set_pad_left; +extern const bcstring be_const_str_SSPI_MISO; +extern const bcstring be_const_str_get_cursor_blink_time; +extern const bcstring be_const_str_get_drag_dir; +extern const bcstring be_const_str_set_col_cnt; +extern const bcstring be_const_str_continue; +extern const bcstring be_const_str_OPA_TRANSP; +extern const bcstring be_const_str_WEBCAM_SIOC; +extern const bcstring be_const_str_lower; +extern const bcstring be_const_str_send_data; +extern const bcstring be_const_str_as; +extern const bcstring be_const_str_LABEL_ALIGN_CENTER; +extern const bcstring be_const_str_SM16716_CLK; +extern const bcstring be_const_str_ARIRFRCV; +extern const bcstring be_const_str_set_style_local_border_width; +extern const bcstring be_const_str_SPI_CS; +extern const bcstring be_const_str_get_style_value_ofs_x; +extern const bcstring be_const_str_set_line_color; +extern const bcstring be_const_str_set_style_local_text_letter_space; +extern const bcstring be_const_str_CHART_CURSOR_DOWN; +extern const bcstring be_const_str_STYLE_BORDER_COLOR; +extern const bcstring be_const_str_get_height_margin; +extern const bcstring be_const_str_ADC_JOY; +extern const bcstring be_const_str_add; +extern const bcstring be_const_str_get_x; +extern const bcstring be_const_str_set_hue; +extern const bcstring be_const_str_IEM3000_RX; +extern const bcstring be_const_str_IEM3000_TX; +extern const bcstring be_const_str_TXT_FLAG_RECOLOR; +extern const bcstring be_const_str_get_style_text_sel_bg_color; +extern const bcstring be_const_str_set_left_value; +extern const bcstring be_const_str_clear_state; +extern const bcstring be_const_str_draw_img; +extern const bcstring be_const_str_CALENDAR_PART_BG; +extern const bcstring be_const_str_FS_RES_OUT_OF_MEM; +extern const bcstring be_const_str_align_x; +extern const bcstring be_const_str_lv_group; +extern const bcstring be_const_str_ALIGN_IN_BOTTOM_MID; +extern const bcstring be_const_str_RXD; +extern const bcstring be_const_str_get_angle_offset; +extern const bcstring be_const_str_get_style_scale_grad_color; +extern const bcstring be_const_str_set_type; +extern const bcstring be_const_str_get_style_pad_top; +extern const bcstring be_const_str_invalidate_area; +extern const bcstring be_const_str_set_scale_border_width; +extern const bcstring be_const_str_DROPDOWN_DIR_RIGHT; +extern const bcstring be_const_str_FS_RES_INV_PARAM; +extern const bcstring be_const_str_get_focused_obj; +extern const bcstring be_const_str_set_buffer; +extern const bcstring be_const_str_SI7021; +extern const bcstring be_const_str_get_options; +extern const bcstring be_const_str_DISP_SIZE_MEDIUM; +extern const bcstring be_const_str_copy; +extern const bcstring be_const_str_KEY1; +extern const bcstring be_const_str_TEAL; +extern const bcstring be_const_str_set_color_mode_fixed; +extern const bcstring be_const_str_set_style_local_bg_main_stop; +extern const bcstring be_const_str_ADC_PH; +extern const bcstring be_const_str_REL1; +extern const bcstring be_const_str_TASMOTACLIENT_RST_INV; +extern const bcstring be_const_str_set_value_letter_space; +extern const bcstring be_const_str_ILI9341_CS; +extern const bcstring be_const_str_EVENT_INSERT; +extern const bcstring be_const_str_set_transition_prop_5; +extern const bcstring be_const_str_get_style_transition_prop_3; +extern const bcstring be_const_str_set_accepted_chars; +extern const bcstring be_const_str_EVENT_PRESSING; +extern const bcstring be_const_str_FS_RES_NOT_IMP; +extern const bcstring be_const_str_STYLE_SHADOW_BLEND_MODE; +extern const bcstring be_const_str_set_drag_parent; +extern const bcstring be_const_str_STYLE_TEXT_OPA; +extern const bcstring be_const_str_TABVIEW_TAB_POS_BOTTOM; +extern const bcstring be_const_str_get_layout; +extern const bcstring be_const_str_set_disabled; +extern const bcstring be_const_str_LED1; +extern const bcstring be_const_str_TCP_RX; +extern const bcstring be_const_str_set_points; +extern const bcstring be_const_str_input; +extern const bcstring be_const_str_WEBCAM_XCLK; +extern const bcstring be_const_str_get_height; +extern const bcstring be_const_str_reset_style_list; +extern const bcstring be_const_str_set_shadow_ofs_y; +extern const bcstring be_const_str_set_style_local_transition_prop_3; +extern const bcstring be_const_str_STYLE_LINE_OPA; +extern const bcstring be_const_str_add_btn_right; +extern const bcstring be_const_str_EVENT_GESTURE; +extern const bcstring be_const_str_SSPI_DC; +extern const bcstring be_const_str_clear_btn_ctrl_all; +extern const bcstring be_const_str_get_selected; +extern const bcstring be_const_str_toggle; +extern const bcstring be_const_str_BTNMATRIX_CTRL_NO_REPEAT; +extern const bcstring be_const_str_exp; +extern const bcstring be_const_str_get_letter_pos; +extern const bcstring be_const_str_remove; +extern const bcstring be_const_str_WIEGAND_D1; +extern const bcstring be_const_str_STYLE_IMAGE_RECOLOR; +extern const bcstring be_const_str_get_style_outline_pad; +extern const bcstring be_const_str_lv_dropdown; +extern const bcstring be_const_str_set_image_blend_mode; +extern const bcstring be_const_str_get_day_of_week; +extern const bcstring be_const_str_set_image_recolor; +extern const bcstring be_const_str_else; +extern const bcstring be_const_str_ST7789_DC; +extern const bcstring be_const_str_SYMBOL_BLUETOOTH; +extern const bcstring be_const_str_EVENT_PRESSED; +extern const bcstring be_const_str_get_btns_pos; +extern const bcstring be_const_str_set_scale_grad_color; +extern const bcstring be_const_str_PROJECTOR_CTRL_RX; +extern const bcstring be_const_str_draw_arc; +extern const bcstring be_const_str_draw_rect; +extern const bcstring be_const_str_DSB; +extern const bcstring be_const_str_get_style_value_color; +extern const bcstring be_const_str_set_style_local_outline_color; +extern const bcstring be_const_str_stop_auto_close; +extern const bcstring be_const_str_get_ext_click_pad_top; +extern const bcstring be_const_str_get_style_border_color; +extern const bcstring be_const_str_move_foreground; +extern const bcstring be_const_str_CPICKER_COLOR_MODE_SATURATION; +extern const bcstring be_const_str_fromstring; +extern const bcstring be_const_str_lv_label; +extern const bcstring be_const_str_map; +extern const bcstring be_const_str_SYMBOL_NEXT; +extern const bcstring be_const_str_ADC_CT_POWER; +extern const bcstring be_const_str_set_edge_flash; +extern const bcstring be_const_str_SDM120_RX; +extern const bcstring be_const_str_lv_img; +extern const bcstring be_const_str_refr_text; +extern const bcstring be_const_str_set_pattern_repeat; +extern const bcstring be_const_str_lv_keyboard; +extern const bcstring be_const_str_SYMBOL_DIRECTORY; +extern const bcstring be_const_str_get_scrollable; +extern const bcstring be_const_str_set_height; +extern const bcstring be_const_str_set_start_angle; +extern const bcstring be_const_str_CHART_PART_BG; +extern const bcstring be_const_str_FS_RES_NOT_EX; +extern const bcstring be_const_str_SM16716_SEL; +extern const bcstring be_const_str_classname; +extern const bcstring be_const_str_ALIGN_OUT_BOTTOM_RIGHT; +extern const bcstring be_const_str_EVENT_RELEASED; +extern const bcstring be_const_str_log; +extern const bcstring be_const_str_lv_linemeter; +extern const bcstring be_const_str_get_option_cnt; +extern const bcstring be_const_str_set_style_local_margin_top; +extern const bcstring be_const_str_close_event_cb; +extern const bcstring be_const_str_set_saturation; +extern const bcstring be_const_str_KEY1_NP; +extern const bcstring be_const_str_NRF24_DC; +extern const bcstring be_const_str_set_width; +extern const bcstring be_const_str_set_image_recolor_opa; +extern const bcstring be_const_str_GRAD_DIR_NONE; +extern const bcstring be_const_str_STYLE_TRANSITION_PROP_2; +extern const bcstring be_const_str_SWT1; +extern const bcstring be_const_str_set_style_local_radius; +extern const bcstring be_const_str_CHART_AXIS_SKIP_LAST_TICK; +extern const bcstring be_const_str_SPI_DC; +extern const bcstring be_const_str_set_click_focus; +extern const bcstring be_const_str_PAGE_EDGE_RIGHT; +extern const bcstring be_const_str_STYLE_BG_OPA; +extern const bcstring be_const_str_set_value_font; +extern const bcstring be_const_str_MCP39F5_RX; +extern const bcstring be_const_str_FS_RES_LOCKED; +extern const bcstring be_const_str_get_offset_x; +extern const bcstring be_const_str_get_pressed_cell; +extern const bcstring be_const_str_CPICKER_TYPE_DISC; +extern const bcstring be_const_str_TUYA_RX; +extern const bcstring be_const_str_TUYA_TX; +extern const bcstring be_const_str_classof; +extern const bcstring be_const_str_get_btn_img; +extern const bcstring be_const_str_set_end_angle; +extern const bcstring be_const_str_sin; +extern const bcstring be_const_str_get_style_transition_delay; +extern const bcstring be_const_str_get_min_value; +extern const bcstring be_const_str_PWM1; +extern const bcstring be_const_str_get_style_text_line_space; +extern const bcstring be_const_str_lv_btn; +extern const bcstring be_const_str_BTN_STATE_RELEASED; +extern const bcstring be_const_str_set_refocus_policy; +extern const bcstring be_const_str_SLIDER_TYPE_RANGE; +extern const bcstring be_const_str_ARC_TYPE_REVERSE; +extern const bcstring be_const_str_SYMBOL_AUDIO; +extern const bcstring be_const_str_set_style_local_border_color; +extern const bcstring be_const_str_tan; +extern const bcstring be_const_str_STYLE_TEXT_BLEND_MODE; +extern const bcstring be_const_str_keys; +extern const bcstring be_const_str_set_scrollbar_mode; +extern const bcstring be_const_str_set_style_local_pad_bottom; +extern const bcstring be_const_str_increment; +extern const bcstring be_const_str_WEBCAM_PSRCS; +extern const bcstring be_const_str_get_style_transform_height; +extern const bcstring be_const_str_set_style_local_line_opa; +extern const bcstring be_const_str_set_style_local_transition_delay; +extern const bcstring be_const_str_SSD1331_CS; +extern const bcstring be_const_str_TASMOTACLIENT_RST; +extern const bcstring be_const_str_BTNMATRIX_CTRL_CHECK_STATE; +extern const bcstring be_const_str_get_focus_parent; +extern const bcstring be_const_str_set_color_mode; +extern const bcstring be_const_str_FIT_NONE; +extern const bcstring be_const_str_get_style_shadow_color; +extern const bcstring be_const_str_remove_mask; +extern const bcstring be_const_str_MAX31855CS; +extern const bcstring be_const_str_STYLE_TEXT_COLOR; +extern const bcstring be_const_str_AQUA; +extern const bcstring be_const_str_WEBCAM_PSCLK; +extern const bcstring be_const_str_get_edge_flash; +extern const bcstring be_const_str_range; +extern const bcstring be_const_str_A4988_STP; +extern const bcstring be_const_str_SDM120_TX; +extern const bcstring be_const_str_WS2812; +extern const bcstring be_const_str_get_recolor; +extern const bcstring be_const_str_layer_top; +extern const bcstring be_const_str___upper__; +extern const bcstring be_const_str_format; +extern const bcstring be_const_str_get_btn_index; +extern const bcstring be_const_str_DRAG_DIR_ONE; +extern const bcstring be_const_str_WINDMETER_SPEED; +extern const bcstring be_const_str_HM10_RX; +extern const bcstring be_const_str_end; +extern const bcstring be_const_str_get_textarea; +extern const bcstring be_const_str_lv_spinner; +extern const bcstring be_const_str_get_anim_time; +extern const bcstring be_const_str_STATE_DISABLED; +extern const bcstring be_const_str_STYLE_TEXT_FONT; +extern const bcstring be_const_str_SYMBOL_FILE; +extern const bcstring be_const_str_except; +extern const bcstring be_const_str_ADE7953_IRQ; +extern const bcstring be_const_str_CHART_AXIS_PRIMARY_Y; +extern const bcstring be_const_str_set_outline_blend_mode; +extern const bcstring be_const_str_set_style_local_line_dash_width; +extern const bcstring be_const_str_OLIVE; +extern const bcstring be_const_str_get_active_btn; +extern const bcstring be_const_str_list; +extern const bcstring be_const_str_set_cursor_hidden; +extern const bcstring be_const_str_CC1101_GDO2; +extern const bcstring be_const_str_MGC3130_XFER; +extern const bcstring be_const_str_BORDER_SIDE_NONE; +extern const bcstring be_const_str_BTN_STATE_CHECKED_PRESSED; +extern const bcstring be_const_str_set_pattern_opa; +extern const bcstring be_const_str_STYLE_VALUE_BLEND_MODE; +extern const bcstring be_const_str_BUZZER; +extern const bcstring be_const_str_LABEL_ALIGN_RIGHT; +extern const bcstring be_const_str_montserrat_font; +extern const bcstring be_const_str_WEBCAM_RESET; +extern const bcstring be_const_str_get_style_shadow_spread; +extern const bcstring be_const_str_STYLE_SCALE_END_BORDER_WIDTH; +extern const bcstring be_const_str_set_transition_prop_2; +extern const bcstring be_const_str_LAYOUT_ROW_MID; +extern const bcstring be_const_str_set_mode; +extern const bcstring be_const_str_transform; +extern const bcstring be_const_str_ALIGN_OUT_RIGHT_BOTTOM; +extern const bcstring be_const_str_set_cell_type; +extern const bcstring be_const_str_ALIGN_OUT_BOTTOM_LEFT; +extern const bcstring be_const_str_OBJ_PART_MAIN; +extern const bcstring be_const_str_allocated; +extern const bcstring be_const_str_DHT11; +extern const bcstring be_const_str_SYMBOL_UPLOAD; +extern const bcstring be_const_str_get_needle_img_pivot_x; +extern const bcstring be_const_str_set_design_cb; +extern const bcstring be_const_str_TXT_CMD_STATE_WAIT; +extern const bcstring be_const_str_get_checkable; +extern const bcstring be_const_str_SPINNER_TYPE_FILLSPIN_ARC; +extern const bcstring be_const_str_lv_tileview; +extern const bcstring be_const_str_set_digit_format; +extern const bcstring be_const_str_set_showed_date; +extern const bcstring be_const_str_STYLE_IMAGE_OPA; +extern const bcstring be_const_str_set_style_local_transition_prop_4; +extern const bcstring be_const_str_ALIGN_OUT_LEFT_BOTTOM; +extern const bcstring be_const_str_SYMBOL_RIGHT; +extern const bcstring be_const_str_get_height_grid; +extern const bcstring be_const_str_get_prev_btn; +extern const bcstring be_const_str_get_style_shadow_opa; +extern const bcstring be_const_str_DISP_SIZE_SMALL; +extern const bcstring be_const_str_EVENT_LONG_PRESSED_REPEAT; +extern const bcstring be_const_str_FS_RES_FULL; +extern const bcstring be_const_str_STYLE_VALUE_ALIGN; +extern const bcstring be_const_str_digital_write; +extern const bcstring be_const_str_get_placeholder_text; +extern const bcstring be_const_str_invalidate; +extern const bcstring be_const_str_SYMBOL_CUT; +extern const bcstring be_const_str_get_angle_end; +extern const bcstring be_const_str_on; +extern const bcstring be_const_str_pow; +extern const bcstring be_const_str_is_inactive; +extern const bcstring be_const_str_set_cursor_blink_time; +extern const bcstring be_const_str_set_style_local_shadow_width; +extern const bcstring be_const_str_set_symbol; +extern const bcstring be_const_str_YELLOW; +extern const bcstring be_const_str_get_style_value_ofs_y; +extern const bcstring be_const_str_set_top; +extern const bcstring be_const_str_STYLE_OUTLINE_BLEND_MODE; +extern const bcstring be_const_str_get_style_pad_left; +extern const bcstring be_const_str_ANIM_OFF; +extern const bcstring be_const_str_set_bg_grad_dir; +extern const bcstring be_const_str_OPA_60; +extern const bcstring be_const_str_SYMBOL_DOWN; +extern const bcstring be_const_str_opt_neq; +extern const bcstring be_const_str_OBJ_PART_ALL; +extern const bcstring be_const_str_align_y; +extern const bcstring be_const_str_set_y_invert; +extern const bcstring be_const_str_false; +extern const bcstring be_const_str_get_protect; +extern const bcstring be_const_str_set_style_local_bg_blend_mode; +extern const bcstring be_const_str_BTNMATRIX_CTRL_DISABLED; +extern const bcstring be_const_str_EVENT_LEAVE; +extern const bcstring be_const_str_get_title; +extern const bcstring be_const_str_set_shadow_spread; +extern const bcstring be_const_str_set_style_local_pattern_recolor; +extern const bcstring be_const_str_set_transform_zoom; +extern const bcstring be_const_str_lv_style; +extern const bcstring be_const_str_DROPDOWN_PART_LIST; +extern const bcstring be_const_str_attrdump; +extern const bcstring be_const_str_set_style_local_text_sel_bg_color; +extern const bcstring be_const_str_LABEL_LONG_EXPAND; +extern const bcstring be_const_str_cos; +extern const bcstring be_const_str_get_from_btn; +extern const bcstring be_const_str_get_style_outline_width; +extern const bcstring be_const_str_fade_in; +extern const bcstring be_const_str_get_file_name; +extern const bcstring be_const_str_set_knob_colored; +extern const bcstring be_const_str_get_cell_type; +extern const bcstring be_const_str_lv_roller; +extern const bcstring be_const_str_set_style_local_value_align; +extern const bcstring be_const_str_TXT_FLAG_CENTER; +extern const bcstring be_const_str_SYMBOL_EYE_CLOSE; +extern const bcstring be_const_str_get_anim_speed; +extern const bcstring be_const_str_SYMBOL_IMAGE; +extern const bcstring be_const_str_set_focus_cb; +extern const bcstring be_const_str_set_transition_prop_4; +extern const bcstring be_const_str_SPINNER_DIR_FORWARD; +extern const bcstring be_const_str_get_scroll_propagation; +extern const bcstring be_const_str_get_style_transition_prop_2; +extern const bcstring be_const_str_lv_calendar; +extern const bcstring be_const_str_set_style_local_scale_end_line_width; +extern const bcstring be_const_str_EVENT_LONG_PRESSED; +extern const bcstring be_const_str_SPI_CLK; +extern const bcstring be_const_str_get_style_pad_bottom; +extern const bcstring be_const_str_get_user_data; +extern const bcstring be_const_str_DROPDOWN_DIR_UP; +extern const bcstring be_const_str_focus_btn; +extern const bcstring be_const_str_list_copy; +extern const bcstring be_const_str_KEYBOARD_MODE_SPECIAL; +extern const bcstring be_const_str_STYLE_BORDER_BLEND_MODE; +extern const bcstring be_const_str_STYLE_OPA_SCALE; +extern const bcstring be_const_str_set_style_local_outline_blend_mode; +extern const bcstring be_const_str_set_style_local_scale_end_color; +extern const bcstring be_const_str_set_shadow_ofs_x; +extern const bcstring be_const_str_set_style_local_transition_prop_2; +extern const bcstring be_const_str_EXS_ENABLE; +extern const bcstring be_const_str_get_editing; +extern const bcstring be_const_str_TXT_CMD_STATE_IN; +extern const bcstring be_const_str_get_adv_hittest; +extern const bcstring be_const_str_get_style_scale_end_color; +extern const bcstring be_const_str_STYLE_BORDER_OPA; +extern const bcstring be_const_str_get_size; +extern const bcstring be_const_str_ALIGN_OUT_RIGHT_TOP; +extern const bcstring be_const_str_WEBCAM_SIOD; +extern const bcstring be_const_str_get_header_height; +extern const bcstring be_const_str_set_scrollable_fit; +extern const bcstring be_const_str_text_is_selected; +extern const bcstring be_const_str_get_selected_str; +extern const bcstring be_const_str_get_style_pattern_image; +extern const bcstring be_const_str_align_mid_y; +extern const bcstring be_const_str_draw_polygon; +extern const bcstring be_const_str_BAR_TYPE_NORMAL; +extern const bcstring be_const_str_KEYBOARD_MODE_TEXT_UPPER; +extern const bcstring be_const_str_LAYOUT_PRETTY_TOP; +extern const bcstring be_const_str_get_width_fit; +extern const bcstring be_const_str_set_drag_throw; +extern const bcstring be_const_str_SYMBOL_KEYBOARD; +extern const bcstring be_const_str_set_palette; +extern const bcstring be_const_str_TASMOTACLIENT_RXD; +extern const bcstring be_const_str_set_height_fit; +extern const bcstring be_const_str_set_text_line_space; +extern const bcstring be_const_str_NRG_SEL_INV; +extern const bcstring be_const_str_TEXTAREA_CURSOR_LAST; +extern const bcstring be_const_str_set_line_width; +extern const bcstring be_const_str_RFSEND; +extern const bcstring be_const_str_get_point_id; +extern const bcstring be_const_str_get_style_clip_corner; +extern const bcstring be_const_str_set_value_color; +extern const bcstring be_const_str_TXT_FLAG_FIT; +extern const bcstring be_const_str_focus; +extern const bcstring be_const_str_set_border_post; +extern const bcstring be_const_str_set_outline_pad; +extern const bcstring be_const_str_set_recolor; +extern const bcstring be_const_str_set_style_local_margin_right; +extern const bcstring be_const_str_STYLE_LINE_COLOR; +extern const bcstring be_const_str_BAR_TYPE_SYMMETRICAL; +extern const bcstring be_const_str_print; +extern const bcstring be_const_str_set_style_local_scale_grad_color; +extern const bcstring be_const_str_DISP_ROT_NONE; +extern const bcstring be_const_str_set_needle_count; +extern const bcstring be_const_str_OUTPUT; +extern const bcstring be_const_str_asin; +extern const bcstring be_const_str_lv_bar; +extern const bcstring be_const_str_set_chg_rate; +extern const bcstring be_const_str_TXT_FLAG_RIGHT; +extern const bcstring be_const_str_OPA_100; +extern const bcstring be_const_str_lv_cpicker; +extern const bcstring be_const_str_set_border_color; +extern const bcstring be_const_str_set_cursor_point; +extern const bcstring be_const_str_STYLE_SHADOW_OPA; +extern const bcstring be_const_str_CHANGE; +extern const bcstring be_const_str_SYMBOL_SHUFFLE; +extern const bcstring be_const_str_I2C_SDA; +extern const bcstring be_const_str_ROLLER_MODE_INFINITE; +extern const bcstring be_const_str_BTN_STATE_CHECKED_DISABLED; +extern const bcstring be_const_str_STYLE_TRANSITION_PROP_3; +extern const bcstring be_const_str_LAYOUT_COLUMN_RIGHT; +extern const bcstring be_const_str_ADC_BUTTON; +extern const bcstring be_const_str_DISP_ROT_180; +extern const bcstring be_const_str_set_text_fmt; +extern const bcstring be_const_str_get_style_margin_right; +extern const bcstring be_const_str_GESTURE_DIR_RIGHT; +extern const bcstring be_const_str_STYLE_LINE_DASH_GAP; +extern const bcstring be_const_str_get_max_height; +extern const bcstring be_const_str_OPA_20; +extern const bcstring be_const_str_OPA_80; +extern const bcstring be_const_str_codedump; +extern const bcstring be_const_str_deg; +extern const bcstring be_const_str_get; +extern const bcstring be_const_str_SYMBOL_EDIT; +extern const bcstring be_const_str_TEMPL_STYLE_Y; +extern const bcstring be_const_str_set_day_names; +extern const bcstring be_const_str_isinstance; +extern const bcstring be_const_str_CSE7766_RX; +extern const bcstring be_const_str_clear_protect; +extern const bcstring be_const_str_TELEINFO_RX; +extern const bcstring be_const_str_lv_font; +extern const bcstring be_const_str_set_secondary_y_tick_length; +extern const bcstring be_const_str_set_size; +extern const bcstring be_const_str_set_style_local_size; +extern const bcstring be_const_str_SYMBOL_VOLUME_MAX; +extern const bcstring be_const_str_get_style_pattern_recolor; +extern const bcstring be_const_str_is_visible; +extern const bcstring be_const_str_set_transition_time; +extern const bcstring be_const_str_CSE7761_TX; +extern const bcstring be_const_str_NAVY; +extern const bcstring be_const_str_get_style_line_dash_gap; +extern const bcstring be_const_str_LINEMETER_PART_MAIN; +extern const bcstring be_const_str_fade_out; +extern const bcstring be_const_str_imax; +extern const bcstring be_const_str_set_style_local_pattern_blend_mode; +extern const bcstring be_const_str_SYMBOL_OK; +extern const bcstring be_const_str_WHITE; +extern const bcstring be_const_str_set_pattern_blend_mode; +extern const bcstring be_const_str_set_y; +extern const bcstring be_const_str_LIST_PART_EDGE_FLASH; extern const bcstring be_const_str_TELEINFO_ENABLE; +extern const bcstring be_const_str_set_style_local_pad_inner; +extern const bcstring be_const_str_EVENT_DRAG_END; +extern const bcstring be_const_str_MAX7219DIN; +extern const bcstring be_const_str_OPTION_A; +extern const bcstring be_const_str_pop; +extern const bcstring be_const_str_set_style_local_outline_width; +extern const bcstring be_const_str_set_style_local_border_post; +extern const bcstring be_const_str_set_state; +extern const bcstring be_const_str_KEY_ENTER; +extern const bcstring be_const_str_OBJ_PART_VIRTUAL_FIRST; +extern const bcstring be_const_str_SCROLLBAR_MODE_DRAG; +extern const bcstring be_const_str_STYLE_VALUE_FONT; +extern const bcstring be_const_str_WEBCAM_PCLK; +extern const bcstring be_const_str_scroll_hor; +extern const bcstring be_const_str_KEY_DOWN; +extern const bcstring be_const_str_get_highlighted_dates_num; +extern const bcstring be_const_str_set_max_length; +extern const bcstring be_const_str_CNTR1; +extern const bcstring be_const_str_RC522_CS; +extern const bcstring be_const_str_STYLE_IMAGE_BLEND_MODE; +extern const bcstring be_const_str_step_next; +extern const bcstring be_const_str_refresh_ext_draw_pad; +extern const bcstring be_const_str_set_zoom; +extern const bcstring be_const_str_get_drag_parent; +extern const bcstring be_const_str_set_style_local_line_blend_mode; +extern const bcstring be_const_str_CALENDAR_PART_HEADER; +extern const bcstring be_const_str_TM1637CLK; +extern const bcstring be_const_str_get_tab_count; +extern const bcstring be_const_str_lv_tabview; +extern const bcstring be_const_str_del_async; +extern const bcstring be_const_str_get_focus_cb; +extern const bcstring be_const_str_STYLE_SHADOW_OFS_X; +extern const bcstring be_const_str_get_accepted_chars; +extern const bcstring be_const_str_lv_color; +extern const bcstring be_const_str_remove_prop; +extern const bcstring be_const_str_set_style_local_pad_left; +extern const bcstring be_const_str_ZIGBEE_RST; +extern const bcstring be_const_str_clear_series; +extern const bcstring be_const_str_PROJECTOR_CTRL_TX; +extern const bcstring be_const_str_set_pad_top; +extern const bcstring be_const_str_set_style_local_pattern_opa; +extern const bcstring be_const_str_get_point_count; +extern const bcstring be_const_str_set_border_blend_mode; +extern const bcstring be_const_str_get_ver_res; +extern const bcstring be_const_str_LABEL_LONG_SROLL_CIRC; +extern const bcstring be_const_str_FIT_PARENT; +extern const bcstring be_const_str_add_btn; +extern const bcstring be_const_str_init; +extern const bcstring be_const_str_set_auto_fit; +extern const bcstring be_const_str_set_line_rounded; +extern const bcstring be_const_str_GAUGE_PART_MAIN; +extern const bcstring be_const_str_IBEACON_TX; +extern const bcstring be_const_str_NEOPOOL_TX; +extern const bcstring be_const_str_get_value; +extern const bcstring be_const_str_opt_add; +extern const bcstring be_const_str_del_anim_ready_cb; +extern const bcstring be_const_str_get_align; +extern const bcstring be_const_str_set_long_mode; +extern const bcstring be_const_str_ALIGN_OUT_RIGHT_MID; +extern const bcstring be_const_str_get_style_pad_inner; +extern const bcstring be_const_str_get_tab; +extern const bcstring be_const_str_get_needle_img_pivot_y; +extern const bcstring be_const_str_SDS0X1_RX; +extern const bcstring be_const_str_get_style_margin_top; +extern const bcstring be_const_str_ZEROCROSS; +extern const bcstring be_const_str_lv_win; +extern const bcstring be_const_str_set_update_mode; +extern const bcstring be_const_str_A4988_DIR; +extern const bcstring be_const_str_DROPDOWN_PART_SCROLLBAR; +extern const bcstring be_const_str_set_tab_act; +extern const bcstring be_const_str_STATE_EDITED; +extern const bcstring be_const_str_SYMBOL_EYE_OPEN; +extern const bcstring be_const_str_calldepth; +extern const bcstring be_const_str_clean; +extern const bcstring be_const_str_BTNMATRIX_CTRL_CLICK_TRIG; +extern const bcstring be_const_str_ins_text; +extern const bcstring be_const_str_AS608_TX; +extern const bcstring be_const_str_ROT1B; +extern const bcstring be_const_str_get_angle_start; +extern const bcstring be_const_str_lv_table; +extern const bcstring be_const_str_set_click; +extern const bcstring be_const_str_XPT2046_CS; +extern const bcstring be_const_str_pin_mode; +extern const bcstring be_const_str_set_pwd_show_time; +extern const bcstring be_const_str_STYLE_BORDER_POST; +extern const bcstring be_const_str_SYMBOL_WARNING; +extern const bcstring be_const_str_draw_text; +extern const bcstring be_const_str_get_child_back; +extern const bcstring be_const_str_lv_imgbtn; +extern const bcstring be_const_str_DISP_ROT_270; +extern const bcstring be_const_str_set_bg_angles; +extern const bcstring be_const_str_set_arc_length; +extern const bcstring be_const_str_focus_obj; +extern const bcstring be_const_str_get_angle; +extern const bcstring be_const_str_KEY_NEXT; +extern const bcstring be_const_str_set_style_local_shadow_color; +extern const bcstring be_const_str_BS814_CLK; +extern const bcstring be_const_str_STYLE_SHADOW_SPREAD; +extern const bcstring be_const_str_cursor_down; +extern const bcstring be_const_str_get_row_cnt; +extern const bcstring be_const_str_set_angles; +extern const bcstring be_const_str_set_style_local_value_color; +extern const bcstring be_const_str_OPA_30; +extern const bcstring be_const_str_OPA_50; +extern const bcstring be_const_str_OPA_90; +extern const bcstring be_const_str_OUTPUT_HI; +extern const bcstring be_const_str_get_max_length; +extern const bcstring be_const_str_get_x_from_index; +extern const bcstring be_const_str_get_btnmatrix; +extern const bcstring be_const_str_get_style_margin_left; extern const bcstring be_const_str_INPUT_PULLUP; extern const bcstring be_const_str_PULLDOWN; -extern const bcstring be_const_str_ADC_RANGE; -extern const bcstring be_const_str_ZIGBEE_TX; -extern const bcstring be_const_str_imin; -extern const bcstring be_const_str_SDM120_RX; -extern const bcstring be_const_str_TFMINIPLUS_TX; -extern const bcstring be_const_str_ARIRFSEL; -extern const bcstring be_const_str_REL1_INV; -extern const bcstring be_const_str_SSD1331_DC; -extern const bcstring be_const_str_RDM6300_RX; -extern const bcstring be_const_str_real; -extern const bcstring be_const_str_int; -extern const bcstring be_const_str_var; -extern const bcstring be_const_str_HALLEFFECT; -extern const bcstring be_const_str_atan; -extern const bcstring be_const_str_AS608_RX; -extern const bcstring be_const_str_number; -extern const bcstring be_const_str_DHT11; -extern const bcstring be_const_str_RFRECV; -extern const bcstring be_const_str_WEBCAM_XCLK; -extern const bcstring be_const_str_list; -extern const bcstring be_const_str_resize; -extern const bcstring be_const_str_isinstance; -extern const bcstring be_const_str_opt_neq; +extern const bcstring be_const_str_BORDER_SIDE_BOTTOM; +extern const bcstring be_const_str_get_width_margin; +extern const bcstring be_const_str_FS_RES_UNKNOWN; +extern const bcstring be_const_str_KEY_PREV; +extern const bcstring be_const_str_set_style_local_line_width; extern const bcstring be_const_str_dot_p; -extern const bcstring be_const_str_SDM630_TX; -extern const bcstring be_const_str_bytes; -extern const bcstring be_const_str_CNTR1; -extern const bcstring be_const_str_KEY1_TC; -extern const bcstring be_const_str_TASMOTACLIENT_RST; -extern const bcstring be_const_str_AS608_TX; -extern const bcstring be_const_str_KEY1_NP; -extern const bcstring be_const_str_ADC_CT_POWER; -extern const bcstring be_const_str_BOILER_OT_TX; -extern const bcstring be_const_str_SI7021; -extern const bcstring be_const_str_deinit; -extern const bcstring be_const_str_ILI9488_CS; -extern const bcstring be_const_str_SSPI_MOSI; -extern const bcstring be_const_str_NRF24_CS; -extern const bcstring be_const_str_SSD1351_CS; -extern const bcstring be_const_str_EPAPER42_CS; -extern const bcstring be_const_str_RFSEND; -extern const bcstring be_const_str_RISING; -extern const bcstring be_const_str_WIEGAND_D1; -extern const bcstring be_const_str_DYP_RX; -extern const bcstring be_const_str_ADC_LIGHT; -extern const bcstring be_const_str_DDS2382_RX; -extern const bcstring be_const_str_DI; -extern const bcstring be_const_str_WEBCAM_PWDN; -extern const bcstring be_const_str_BUZZER_INV; -extern const bcstring be_const_str_sinh; -extern const bcstring be_const_str_ETH_PHY_MDIO; -extern const bcstring be_const_str_tanh; -extern const bcstring be_const_str_WE517_TX; -extern const bcstring be_const_str_ZEROCROSS; -extern const bcstring be_const_str_classof; -extern const bcstring be_const_str_codedump; -extern const bcstring be_const_str_AZ_RXD; -extern const bcstring be_const_str_copy; -extern const bcstring be_const_str_continue; -extern const bcstring be_const_str_AZ_TXD; -extern const bcstring be_const_str_reverse; -extern const bcstring be_const_str_CSE7761_TX; -extern const bcstring be_const_str_HPMA_RX; -extern const bcstring be_const_str_WEBCAM_VSYNC; -extern const bcstring be_const_str_BS814_CLK; -extern const bcstring be_const_str_DDS2382_TX; -extern const bcstring be_const_str_WEBCAM_HREF; -extern const bcstring be_const_str_false; -extern const bcstring be_const_str_EXS_ENABLE; -extern const bcstring be_const_str_LED1_INV; -extern const bcstring be_const_str_MHZ_TXD; -extern const bcstring be_const_str_P9813_CLK; -extern const bcstring be_const_str_load; -extern const bcstring be_const_str_srand; -extern const bcstring be_const_str_HX711_DAT; -extern const bcstring be_const_str_KEY1_INV_NP; -extern const bcstring be_const_str_NEOPOOL_RX; -extern const bcstring be_const_str_PZEM004_RX; -extern const bcstring be_const_str_BUZZER; -extern const bcstring be_const_str_SWT1_NP; -extern const bcstring be_const_str_abs; -extern const bcstring be_const_str_assert; -extern const bcstring be_const_str_ARIRFRCV; -extern const bcstring be_const_str_P9813_DAT; -extern const bcstring be_const_str_calldepth; -extern const bcstring be_const_str_try; -extern const bcstring be_const_str_MAX31855CLK; -extern const bcstring be_const_str_SDS0X1_TX; -extern const bcstring be_const_str_log10; -extern const bcstring be_const_str_pop; -extern const bcstring be_const_str_LED1; -extern const bcstring be_const_str_TM1638STB; -extern const bcstring be_const_str_A4988_DIR; -extern const bcstring be_const_str_SDM72_RX; -extern const bcstring be_const_str_PN532_TXD; -extern const bcstring be_const_str_pin; -extern const bcstring be_const_str_TM1637DIO; -extern const bcstring be_const_str_PWM1_INV; -extern const bcstring be_const_str_item; -extern const bcstring be_const_str_ROT1A_NP; -extern const bcstring be_const_str_SSD1331_CS; -extern const bcstring be_const_str_exp; -extern const bcstring be_const_str_rad; -extern const bcstring be_const_str_setrange; -extern const bcstring be_const_str_LE01MR_RX; -extern const bcstring be_const_str_SDS0X1_RX; -extern const bcstring be_const_str_TCP_TX; -extern const bcstring be_const_str_A4988_ENA; -extern const bcstring be_const_str_hex; -extern const bcstring be_const_str_BL0940_RX; -extern const bcstring be_const_str_SM2135_CLK; -extern const bcstring be_const_str_input; -extern const bcstring be_const_str_top; -extern const bcstring be_const_str_def; -extern const bcstring be_const_str_BS814_DAT; -extern const bcstring be_const_str_CHANGE; -extern const bcstring be_const_str_floor; -extern const bcstring be_const_str_keys; -extern const bcstring be_const_str_sin; -extern const bcstring be_const_str_traceback; -extern const bcstring be_const_str_as; -extern const bcstring be_const_str_SM2135_DAT; -extern const bcstring be_const_str_ZIGBEE_RX; -extern const bcstring be_const_str_acos; -extern const bcstring be_const_str_OPTION_A; -extern const bcstring be_const_str_else; -extern const bcstring be_const_str_for; -extern const bcstring be_const_str_tolower; -extern const bcstring be_const_str_pi; -extern const bcstring be_const_str_range; extern const bcstring be_const_str_SDCARD_CS; -extern const bcstring be_const_str_SM16716_SEL; -extern const bcstring be_const_str_count; -extern const bcstring be_const_str_do; -extern const bcstring be_const_str_; -extern const bcstring be_const_str_TASMOTACLIENT_RST_INV; -extern const bcstring be_const_str_tostring; -extern const bcstring be_const_str_DSB; -extern const bcstring be_const_str___iterator__; -extern const bcstring be_const_str_get; -extern const bcstring be_const_str_upper; -extern const bcstring be_const_str_GPS_TX; -extern const bcstring be_const_str_IEM3000_RX; -extern const bcstring be_const_str_toupper; -extern const bcstring be_const_str_WEBCAM_PCLK; -extern const bcstring be_const_str_PROJECTOR_CTRL_TX; -extern const bcstring be_const_str_PWM1; -extern const bcstring be_const_str_ST7789_CS; -extern const bcstring be_const_str_find; -extern const bcstring be_const_str_end; -extern const bcstring be_const_str_MGC3130_XFER; -extern const bcstring be_const_str_SSPI_CS; -extern const bcstring be_const_str_RA8876_CS; -extern const bcstring be_const_str_char; -extern const bcstring be_const_str_ADC_BUTTON_INV; -extern const bcstring be_const_str_INPUT_PULLDOWN; -extern const bcstring be_const_str_REL1; -extern const bcstring be_const_str_SPI_DC; -extern const bcstring be_const_str_MAX31855DO; -extern const bcstring be_const_str_SSD1351_DC; -extern const bcstring be_const_str_log; -extern const bcstring be_const_str_elif; -extern const bcstring be_const_str_ROT1A; -extern const bcstring be_const_str_pin_used; -extern const bcstring be_const_str_setitem; -extern const bcstring be_const_str_import; -extern const bcstring be_const_str_WEBCAM_DATA; -extern const bcstring be_const_str_IRRECV; -extern const bcstring be_const_str_OUTPUT_HI; -extern const bcstring be_const_str_OUTPUT_LO; -extern const bcstring be_const_str_ROT1B_NP; -extern const bcstring be_const_str_attrdump; -extern const bcstring be_const_str_print; -extern const bcstring be_const_str_tan; -extern const bcstring be_const_str_SPI_MISO; -extern const bcstring be_const_str_ADC_JOY; -extern const bcstring be_const_str_size; -extern const bcstring be_const_str_nil; -extern const bcstring be_const_str_ETH_PHY_MDC; -extern const bcstring be_const_str_type; -extern const bcstring be_const_str_TASMOTACLIENT_RXD; -extern const bcstring be_const_str_compile; -extern const bcstring be_const_str_while; -extern const bcstring be_const_str_MHZ_RXD; -extern const bcstring be_const_str_SDM120_TX; -extern const bcstring be_const_str_TXD; -extern const bcstring be_const_str_WIEGAND_D0; -extern const bcstring be_const_str_class; -extern const bcstring be_const_str_DDSU666_RX; -extern const bcstring be_const_str_MIEL_HVAC_RX; -extern const bcstring be_const_str_collect; -extern const bcstring be_const_str_ADC_BUTTON; -extern const bcstring be_const_str_ADC_PH; -extern const bcstring be_const_str_DEEPSLEEP; -extern const bcstring be_const_str_HM10_RX; -extern const bcstring be_const_str_XPT2046_CS; -extern const bcstring be_const_str_A4988_MS1; -extern const bcstring be_const_str_RF_SENSOR; -extern const bcstring be_const_str_CSE7766_TX; -extern const bcstring be_const_str_LMT01; -extern const bcstring be_const_str_SDM630_RX; -extern const bcstring be_const_str_ZIGBEE_RST; -extern const bcstring be_const_str_SPI_CLK; -extern const bcstring be_const_str_asin; -extern const bcstring be_const_str_if; -extern const bcstring be_const_str_HJL_CF; -extern const bcstring be_const_str_IBEACON_RX; -extern const bcstring be_const_str_iter; -extern const bcstring be_const_str_SOLAXX1_TX; -extern const bcstring be_const_str_SR04_ECHO; -extern const bcstring be_const_str_ceil; -extern const bcstring be_const_str_CC1101_GDO2; -extern const bcstring be_const_str_MAX7219DIN; -extern const bcstring be_const_str_SBR_RX; -extern const bcstring be_const_str_open; -extern const bcstring be_const_str_SM16716_CLK; -extern const bcstring be_const_str_HX711_SCK; -extern const bcstring be_const_str_NEOPOOL_TX; -extern const bcstring be_const_str_TELEINFO_RX; -extern const bcstring be_const_str_WINDMETER_SPEED; -extern const bcstring be_const_str_cosh; -extern const bcstring be_const_str_ROT1B; -extern const bcstring be_const_str_DHT11_OUT; -extern const bcstring be_const_str_SM16716_DAT; -extern const bcstring be_const_str_LE01MR_TX; -extern const bcstring be_const_str_MCP39F5_TX; -extern const bcstring be_const_str_SAIR_TX; -extern const bcstring be_const_str_SR04_TRIG; -extern const bcstring be_const_str_IRSEND; -extern const bcstring be_const_str_WEBCAM_PSCLK; -extern const bcstring be_const_str_digital_read; -extern const bcstring be_const_str_except; -extern const bcstring be_const_str_A4988_STP; -extern const bcstring be_const_str_IBEACON_TX; -extern const bcstring be_const_str_NRF24_DC; -extern const bcstring be_const_str_SPI_MOSI; -extern const bcstring be_const_str_OLED_RESET; -extern const bcstring be_const_str_WE517_RX; -extern const bcstring be_const_str_SSPI_DC; -extern const bcstring be_const_str_WEBCAM_HSD; -extern const bcstring be_const_str_insert; -extern const bcstring be_const_str_SAIR_RX; -extern const bcstring be_const_str_TUYA_TX; -extern const bcstring be_const_str_EPAPER29_CS; -extern const bcstring be_const_str_I2C_SCL; -extern const bcstring be_const_str_NONE; -extern const bcstring be_const_str_classname; -extern const bcstring be_const_str_cos; -extern const bcstring be_const_str_LEDLNK_INV; -extern const bcstring be_const_str_NRG_SEL_INV; -extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV; -extern const bcstring be_const_str_module; -extern const bcstring be_const_str_ETH_PHY_POWER; -extern const bcstring be_const_str_IEM3000_TX; -extern const bcstring be_const_str_MAX31855CS; -extern const bcstring be_const_str_deg; -extern const bcstring be_const_str_return; -extern const bcstring be_const_str_str; -extern const bcstring be_const_str_SENSOR_END; -extern const bcstring be_const_str_ST7789_DC; -extern const bcstring be_const_str_clear; -extern const bcstring be_const_str_imax; -extern const bcstring be_const_str_OUTPUT; -extern const bcstring be_const_str_SPI_CS; -extern const bcstring be_const_str_SDM72_TX; -extern const bcstring be_const_str_SSPI_MISO; -extern const bcstring be_const_str_true; -extern const bcstring be_const_str_MIEL_HVAC_TX; -extern const bcstring be_const_str_VL53L0X_XSHUT1; -extern const bcstring be_const_str_PZEM0XX_TX; -extern const bcstring be_const_str_SSPI_SCLK; -extern const bcstring be_const_str_WEBCAM_SIOD; -extern const bcstring be_const_str_HRE_DATA; -extern const bcstring be_const_str_PROJECTOR_CTRL_RX; -extern const bcstring be_const_str_DSB_OUT; -extern const bcstring be_const_str_NRG_SEL; -extern const bcstring be_const_str_push; -extern const bcstring be_const_str_ADC_INPUT; -extern const bcstring be_const_str_FTC532; -extern const bcstring be_const_str_GPS_RX; -extern const bcstring be_const_str_HLW_CF; -extern const bcstring be_const_str_TCP_RX; -extern const bcstring be_const_str_issubclass; -extern const bcstring be_const_str_CNTR1_NP; -extern const bcstring be_const_str_ILI9341_DC; -extern const bcstring be_const_str_TX2X_TXD_BLACK; -extern const bcstring be_const_str_WEBCAM_PSRCS; -extern const bcstring be_const_str_BOILER_OT_RX; -extern const bcstring be_const_str_LOW; -extern const bcstring be_const_str_MP3_DFR562; -extern const bcstring be_const_str_map; -extern const bcstring be_const_str_allocated; -extern const bcstring be_const_str_format; -extern const bcstring be_const_str_CC1101_GDO0; -extern const bcstring be_const_str_CSE7766_RX; -extern const bcstring be_const_str_ILI9341_CS; -extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0; -extern const bcstring be_const_str_SSPI_MAX31865_CS1; -extern const bcstring be_const_str_NRG_CF1; -extern const bcstring be_const_str_DDSU666_TX; -extern const bcstring be_const_str_I2C_SDA; -extern const bcstring be_const_str_PZEM017_RX; -extern const bcstring be_const_str_rand; -extern const bcstring be_const_str_RXD; -extern const bcstring be_const_str_TM1637CLK; -extern const bcstring be_const_str_opt_add; -extern const bcstring be_const_str_lower; -extern const bcstring be_const_str_WEBCAM_SIOC; -extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN; -extern const bcstring be_const_str_RC522_CS; -extern const bcstring be_const_str_opt_connect; -extern const bcstring be_const_str_HIGH; -extern const bcstring be_const_str_LEDLNK; -extern const bcstring be_const_str_concat; -extern const bcstring be_const_str_PN532_RXD; -extern const bcstring be_const_str_SOLAXX1_RX; -extern const bcstring be_const_str_TM1638DIO; -extern const bcstring be_const_str_pin_mode; -extern const bcstring be_const_str_DHT22; -extern const bcstring be_const_str_ELECTRIQ_MOODL_TX; -extern const bcstring be_const_str_SBR_TX; -extern const bcstring be_const_str_byte; -extern const bcstring be_const_str_sqrt; -extern const bcstring be_const_str_OPEN_DRAIN; -extern const bcstring be_const_str_WEBCAM_RESET; -extern const bcstring be_const_str_asstring; -extern const bcstring be_const_str_MGC3130_RESET; -extern const bcstring be_const_str_ADE7953_IRQ; -extern const bcstring be_const_str_KEY1_INV; -extern const bcstring be_const_str_PULLUP; -extern const bcstring be_const_str_init; +extern const bcstring be_const_str_abs; +extern const bcstring be_const_str_get_style_line_rounded; +extern const bcstring be_const_str_set_hsv; +extern const bcstring be_const_str_HPMA_RX; +extern const bcstring be_const_str_KEY_BACKSPACE; +extern const bcstring be_const_str_fill_bg; extern const bcstring be_const_str_split; -extern const bcstring be_const_str_HM10_TX; -extern const bcstring be_const_str_MAX7219CS; -extern const bcstring be_const_str_TASMOTACLIENT_TXD; -extern const bcstring be_const_str_add; -extern const bcstring be_const_str_super; -extern const bcstring be_const_str_pow; -extern const bcstring be_const_str_BACKLIGHT; -extern const bcstring be_const_str_HRXL_RX; -extern const bcstring be_const_str_MAX7219CLK; -extern const bcstring be_const_str___lower__; -extern const bcstring be_const_str_HRE_CLOCK; -extern const bcstring be_const_str_KEY1; -extern const bcstring be_const_str_PZEM016_RX; -extern const bcstring be_const_str_dump; -extern const bcstring be_const_str_DCKI; -extern const bcstring be_const_str_FALLING; -extern const bcstring be_const_str_fromstring; -extern const bcstring be_const_str_break; -extern const bcstring be_const_str_MCP39F5_RX; -extern const bcstring be_const_str_INPUT; -extern const bcstring be_const_str_digital_write; -extern const bcstring be_const_str_remove; -extern const bcstring be_const_str_TM1638CLK; +extern const bcstring be_const_str_set_tile_act; +extern const bcstring be_const_str_SYMBOL_CHARGE; +extern const bcstring be_const_str_set_parent_event; +extern const bcstring be_const_str_get_antialias; +extern const bcstring be_const_str_get_line_count; +extern const bcstring be_const_str_set_height_margin; +extern const bcstring be_const_str_EVENT_APPLY; +extern const bcstring be_const_str_SYMBOL_SAVE; +extern const bcstring be_const_str_get_zoom; +extern const bcstring be_const_str_set_x_tick_texts; +extern const bcstring be_const_str_get_auto_realign; +extern const bcstring be_const_str_pin; +extern const bcstring be_const_str_set_margin_bottom; +extern const bcstring be_const_str_glue_obj; +extern const bcstring be_const_str_set_style_local_outline_opa; +extern const bcstring be_const_str_ALIGN_OUT_TOP_RIGHT; +extern const bcstring be_const_str_KEYBOARD_PART_BTN; +extern const bcstring be_const_str_add_state; +extern const bcstring be_const_str_get_sb_mode; +extern const bcstring be_const_str_lv_gauge; +extern const bcstring be_const_str_BORDER_SIDE_FULL; +extern const bcstring be_const_str_get_style_transition_prop_1; +extern const bcstring be_const_str_set_ext_array; extern const bcstring be_const_str_opt_eq; -extern const bcstring be_const_str_TFMINIPLUS_RX; -extern const bcstring be_const_str_TUYA_RX; +extern const bcstring be_const_str_FS_RES_OK; +extern const bcstring be_const_str_digital_read; +extern const bcstring be_const_str_lv_canvas; +extern const bcstring be_const_str_find; +extern const bcstring be_const_str_set_scrl_layout; +extern const bcstring be_const_str_LEDLNK; +extern const bcstring be_const_str_DROPDOWN_DIR_DOWN; +extern const bcstring be_const_str_set_style_local_transition_prop_1; +extern const bcstring be_const_str_SYMBOL_COPY; +extern const bcstring be_const_str_get_critical_value; +extern const bcstring be_const_str_get_scrl_layout; +extern const bcstring be_const_str_ARC_PART_BG; +extern const bcstring be_const_str_GESTURE_DIR_TOP; +extern const bcstring be_const_str_SENSOR_END; +extern const bcstring be_const_str_get_px; +extern const bcstring be_const_str_GAUGE_PART_NEEDLE; +extern const bcstring be_const_str_PROTECT_PRESS_LOST; +extern const bcstring be_const_str_get_left_value; +extern const bcstring be_const_str_get_next_btn; +extern const bcstring be_const_str_set_style_local_value_blend_mode; +extern const bcstring be_const_str_set_text_sel_start; +extern const bcstring be_const_str_set_width_margin; +extern const bcstring be_const_str_srand; +extern const bcstring be_const_str_CNTR1_NP; +extern const bcstring be_const_str_get_drag_throw; +extern const bcstring be_const_str_set_line_dash_width; +extern const bcstring be_const_str_set_textarea; +extern const bcstring be_const_str_MHZ_RXD; +extern const bcstring be_const_str_upper; +extern const bcstring be_const_str_get_cell_align; +extern const bcstring be_const_str_get_scrl_fit_bottom; +extern const bcstring be_const_str_get_style_image_recolor; +extern const bcstring be_const_str_set_scroll_propagation; +extern const bcstring be_const_str_align_mid_x; +extern const bcstring be_const_str_get_label; +extern const bcstring be_const_str_DROPDOWN_DIR_LEFT; +extern const bcstring be_const_str_ceil; +extern const bcstring be_const_str_set_scrl_height; +extern const bcstring be_const_str_LOW; +extern const bcstring be_const_str_MAX31855CLK; +extern const bcstring be_const_str_SSD1351_CS; +extern const bcstring be_const_str_STYLE_BG_COLOR; +extern const bcstring be_const_str_HRXL_RX; +extern const bcstring be_const_str_set_margin_left; +extern const bcstring be_const_str_add_tab; +extern const bcstring be_const_str_get_style_text_opa; +extern const bcstring be_const_str_set_bg_color; +extern const bcstring be_const_str_set_style_local_pattern_recolor_opa; +extern const bcstring be_const_str_OBJMASK_PART_MAIN; +extern const bcstring be_const_str_set_text_color; +extern const bcstring be_const_str_SYMBOL_PAUSE; +extern const bcstring be_const_str_remove_all_objs; +extern const bcstring be_const_str_scroll_ver; +extern const bcstring be_const_str_set_pwd_mode; +extern const bcstring be_const_str_BL0940_RX; +extern const bcstring be_const_str_get_src; +extern const bcstring be_const_str_CHART_CURSOR_NONE; +extern const bcstring be_const_str_set_style_local_shadow_spread; +extern const bcstring be_const_str_set_one_line; +extern const bcstring be_const_str_setitem; +extern const bcstring be_const_str_set_btn_width; +extern const bcstring be_const_str_DI; +extern const bcstring be_const_str_GPS_TX; +extern const bcstring be_const_str_copy_buf; +extern const bcstring be_const_str_is_dragged; +extern const bcstring be_const_str_get_style_pattern_recolor_opa; +extern const bcstring be_const_str_lv_objmask; +extern const bcstring be_const_str_set_gesture_parent; +extern const bcstring be_const_str_TM1638STB; +extern const bcstring be_const_str_LEDLNK_INV; +extern const bcstring be_const_str_get_scrl_fit_left; +extern const bcstring be_const_str_CHART_PART_SERIES; +extern const bcstring be_const_str_STYLE_PAD_TOP; +extern const bcstring be_const_str_set_editing; +extern const bcstring be_const_str_set_y_tick_length; +extern const bcstring be_const_str_issubclass; +extern const bcstring be_const_str_set_image_opa; +extern const bcstring be_const_str_set_style_local_bg_grad_color; +extern const bcstring be_const_str_get_btn_ctrl; +extern const bcstring be_const_str_get_col_cnt; +extern const bcstring be_const_str_set_wrap; +extern const bcstring be_const_str_MIEL_HVAC_RX; +extern const bcstring be_const_str_STATE_FOCUSED; +extern const bcstring be_const_str_SYMBOL_POWER; +extern const bcstring be_const_str_set_pattern_recolor; +extern const bcstring be_const_str_SLIDER_TYPE_NORMAL; +extern const bcstring be_const_str_SYMBOL_USB; +extern const bcstring be_const_str_SDM630_TX; +extern const bcstring be_const_str_ZIGBEE_RX; +extern const bcstring be_const_str_ZIGBEE_TX; +extern const bcstring be_const_str_clear; +extern const bcstring be_const_str_PN532_TXD; +extern const bcstring be_const_str_def; +extern const bcstring be_const_str_TEMPL_STYLE_X; +extern const bcstring be_const_str_clear_selection; +extern const bcstring be_const_str_get_style_value_opa; +extern const bcstring be_const_str_set_scale_end_color; +extern const bcstring be_const_str_set_step; +extern const bcstring be_const_str_lv_obj; +extern const bcstring be_const_str_set_style_local_transform_height; +extern const bcstring be_const_str_SYMBOL_BATTERY_EMPTY; +extern const bcstring be_const_str_STATE_CHECKED; +extern const bcstring be_const_str_set_line_dash_gap; +extern const bcstring be_const_str_SSPI_SCLK; +extern const bcstring be_const_str_set_style_local_image_blend_mode; +extern const bcstring be_const_str_ALIGN_IN_TOP_LEFT; +extern const bcstring be_const_str_handle_get_type_signal; +extern const bcstring be_const_str_set_style_local_value_opa; +extern const bcstring be_const_str_set_x; +extern const bcstring be_const_str_ADC_TEMP; +extern const bcstring be_const_str_DYP_RX; +extern const bcstring be_const_str_EVENT_SHORT_CLICKED; +extern const bcstring be_const_str_LAYOUT_PRETTY_MID; +extern const bcstring be_const_str_set_padding_left; +extern const bcstring be_const_str_set_show_selected; +extern const bcstring be_const_str_GRAY; +extern const bcstring be_const_str_PROTECT_CHILD_CHG; +extern const bcstring be_const_str_set_highlighted_dates; +extern const bcstring be_const_str_start; +extern const bcstring be_const_str_STYLE_TRANSITION_TIME; +extern const bcstring be_const_str_get_style_shadow_ofs_y; +extern const bcstring be_const_str_set_placeholder_text; +extern const bcstring be_const_str_TM1637DIO; +extern const bcstring be_const_str_iter; +extern const bcstring be_const_str_opt_connect; +extern const bcstring be_const_str_add_obj; +extern const bcstring be_const_str_get_style_value_line_space; +extern const bcstring be_const_str_TXD; +extern const bcstring be_const_str_ALIGN_IN_BOTTOM_RIGHT; +extern const bcstring be_const_str_FS_RES_BUSY; +extern const bcstring be_const_str_set_options; +extern const bcstring be_const_str_BTN_STATE_PRESSED; +extern const bcstring be_const_str_GRAD_DIR_VER; +extern const bcstring be_const_str_get_style_margin_bottom; +extern const bcstring be_const_str_DRAG_DIR_HOR; +extern const bcstring be_const_str_TM1638CLK; +extern const bcstring be_const_str_BTNMATRIX_CTRL_CHECKABLE; +extern const bcstring be_const_str_CHART_AXIS_SECONDARY_Y; +extern const bcstring be_const_str_add_char; +extern const bcstring be_const_str_LABEL_ALIGN_LEFT; +extern const bcstring be_const_str_STYLE_VALUE_LETTER_SPACE; +extern const bcstring be_const_str_get_coords; +extern const bcstring be_const_str_is_point_on_coords; +extern const bcstring be_const_str_OPEN_DRAIN; +extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN; +extern const bcstring be_const_str_STYLE_SHADOW_OFS_Y; +extern const bcstring be_const_str_OPA_0; +extern const bcstring be_const_str_RFRECV; +extern const bcstring be_const_str_ROT1B_NP; +extern const bcstring be_const_str_STATE_HOVERED; +extern const bcstring be_const_str_RC522_RST; +extern const bcstring be_const_str_SWT1_NP; +extern const bcstring be_const_str_IBEACON_RX; +extern const bcstring be_const_str_LAYOUT_CENTER; +extern const bcstring be_const_str_CC1101_GDO0; +extern const bcstring be_const_str_SR04_TRIG; +extern const bcstring be_const_str_STYLE_TRANSITION_PROP_6; +extern const bcstring be_const_str_set_color; +extern const bcstring be_const_str_STYLE_TRANSITION_DELAY; +extern const bcstring be_const_str_get_col_width; +extern const bcstring be_const_str_GRAD_DIR_HOR; +extern const bcstring be_const_str_LAYOUT_PRETTY_BOTTOM; +extern const bcstring be_const_str_SDS0X1_TX; +extern const bcstring be_const_str_SPI_MOSI; +extern const bcstring be_const_str_set_scale_end_border_width; +extern const bcstring be_const_str_set_text_sel_bg_color; +extern const bcstring be_const_str_lv_checkbox; +extern const bcstring be_const_str_EVENT_DRAG_BEGIN; +extern const bcstring be_const_str_PURPLE; +extern const bcstring be_const_str_get_state; +extern const bcstring be_const_str_SYMBOL_TRASH; +extern const bcstring be_const_str_TABVIEW_TAB_POS_RIGHT; +extern const bcstring be_const_str_OLED_RESET; +extern const bcstring be_const_str_set_cell_value; +extern const bcstring be_const_str_SYMBOL_MINUS; +extern const bcstring be_const_str_get_focused; +extern const bcstring be_const_str_set_style_local_line_color; +extern const bcstring be_const_str_LAYOUT_COLUMN_MID; +extern const bcstring be_const_str_ROT1A_NP; +extern const bcstring be_const_str_STYLE_VALUE_COLOR; +extern const bcstring be_const_str_cut_text; +extern const bcstring be_const_str_get_style_value_str; +extern const bcstring be_const_str_set_map; +extern const bcstring be_const_str_KEY1_INV; +extern const bcstring be_const_str_TM1638DIO; +extern const bcstring be_const_str_set_anim_speed; +extern const bcstring be_const_str_get_scale_angle; +extern const bcstring be_const_str_ALIGN_IN_RIGHT_MID; +extern const bcstring be_const_str_step_prev; +extern const bcstring be_const_str_PROTECT_NONE; +extern const bcstring be_const_str_decrement; +extern const bcstring be_const_str_set_line_opa; +extern const bcstring be_const_str_PROTECT_CLICK_FOCUS; +extern const bcstring be_const_str_MCP39F5_RST; +extern const bcstring be_const_str_STYLE_TEXT_LINE_SPACE; +extern const bcstring be_const_str_CHART_UPDATE_MODE_SHIFT; +extern const bcstring be_const_str_str; +extern const bcstring be_const_str_ALIGN_CENTER; +extern const bcstring be_const_str_BTNMATRIX_CTRL_HIDDEN; +extern const bcstring be_const_str_OPA_10; +extern const bcstring be_const_str_PAGE_EDGE_BOTTOM; +extern const bcstring be_const_str_SCROLLBAR_MODE_OFF; +extern const bcstring be_const_str_list_get_local_style; +extern const bcstring be_const_str_STYLE_VALUE_OPA; +extern const bcstring be_const_str_TABVIEW_TAB_POS_LEFT; +extern const bcstring be_const_str_get_style_bg_main_stop; +extern const bcstring be_const_str_set_cell_value_fmt; +extern const bcstring be_const_str_PAGE_EDGE_TOP; +extern const bcstring be_const_str_set_style_local_clip_corner; +extern const bcstring be_const_str_toupper; +extern const bcstring be_const_str_for; +extern const bcstring be_const_str_CALENDAR_PART_DATE; +extern const bcstring be_const_str_get_color; +extern const bcstring be_const_str_FS_MODE_WR; +extern const bcstring be_const_str_I2C; +extern const bcstring be_const_str_SPINNER_TYPE_SPINNING_ARC; +extern const bcstring be_const_str_SYMBOL_VOLUME_MID; +extern const bcstring be_const_str_add_option; +extern const bcstring be_const_str_get_style_shadow_width; +extern const bcstring be_const_str_IRSEND; +extern const bcstring be_const_str_atan; +extern const bcstring be_const_str_EVENT_CLICKED; +extern const bcstring be_const_str_OUTPUT_LO; +extern const bcstring be_const_str_move_background; +extern const bcstring be_const_str_set_title; +extern const bcstring be_const_str_KEY_LEFT; +extern const bcstring be_const_str_count; +extern const bcstring be_const_str_get_scrl_fit_top; +extern const bcstring be_const_str_CPICKER_COLOR_MODE_VALUE; +extern const bcstring be_const_str_set_style_local_bg_opa; +extern const bcstring be_const_str_collect; +extern const bcstring be_const_str_set_shadow_opa; +extern const bcstring be_const_str_; +extern const bcstring be_const_str_CSE7761_RX; +extern const bcstring be_const_str_SPINNER_DIR_BACKWARD; +extern const bcstring be_const_str_count_children_recursive; +extern const bcstring be_const_str_get_content; +extern const bcstring be_const_str_SYMBOL_UP; +extern const bcstring be_const_str_focus_freeze; +extern const bcstring be_const_str_get_y_from_index; +extern const bcstring be_const_str_is_protected; +extern const bcstring be_const_str_set_text_align; +extern const bcstring be_const_str_get_style_opa_scale; +extern const bcstring be_const_str_set_transition_prop_6; +extern const bcstring be_const_str_STYLE_BG_GRAD_STOP; +extern const bcstring be_const_str_assert; +extern const bcstring be_const_str_get_ext_draw_pad; +extern const bcstring be_const_str_top; +extern const bcstring be_const_str_get_dir; +extern const bcstring be_const_str_set_style_local_text_sel_color; +extern const bcstring be_const_str_CHART_CURSOR_UP; +extern const bcstring be_const_str_DISP_SIZE_EXTRA_LARGE; +extern const bcstring be_const_str_LIME; +extern const bcstring be_const_str_BS814_DAT; +extern const bcstring be_const_str_STYLE_TRANSFORM_WIDTH; +extern const bcstring be_const_str_TXT_CMD_STATE_PAR; +extern const bcstring be_const_str_module; +extern const bcstring be_const_str_set_style_local_transform_width; +extern const bcstring be_const_str_char; +extern const bcstring be_const_str_ST7789_CS; +extern const bcstring be_const_str_set_cursor_click_pos; +extern const bcstring be_const_str_BORDER_SIDE_LEFT; +extern const bcstring be_const_str_get_hor_res; +extern const bcstring be_const_str_set_bg_opa; +extern const bcstring be_const_str_CHART_CURSOR_RIGHT; +extern const bcstring be_const_str_set_style_local_border_side; +extern const bcstring be_const_str_VSPI; +extern const bcstring be_const_str_set_text; +extern const bcstring be_const_str_STYLE_OUTLINE_OPA; +extern const bcstring be_const_str_set_focused_btn; +extern const bcstring be_const_str_set_formatter_cb; +extern const bcstring be_const_str_ADC_RANGE; +extern const bcstring be_const_str_CHART_TYPE_NONE; +extern const bcstring be_const_str_OBJ_PART_REAL_FIRST; +extern const bcstring be_const_str_BTN_STATE_DISABLED; +extern const bcstring be_const_str_MAX7219CS; +extern const bcstring be_const_str_get_one_check; +extern const bcstring be_const_str_set_opa_scale; +extern const bcstring be_const_str_set_rotation; +extern const bcstring be_const_str_CHART_PART_CURSOR; +extern const bcstring be_const_str_P9813_CLK; +extern const bcstring be_const_str_RISING; +extern const bcstring be_const_str_SDM72_RX; +extern const bcstring be_const_str_align_mid; +extern const bcstring be_const_str_init_points; +extern const bcstring be_const_str_LE01MR_RX; +extern const bcstring be_const_str_LE01MR_TX; +extern const bcstring be_const_str_set_style_local_pattern_repeat; +extern const bcstring be_const_str_SYMBOL_STOP; +extern const bcstring be_const_str_set_text_font; +extern const bcstring be_const_str_EVENT_PRESS_LOST; +extern const bcstring be_const_str_STYLE_SHADOW_WIDTH; +extern const bcstring be_const_str_tostring; +extern const bcstring be_const_str_NEOPOOL_RX; +extern const bcstring be_const_str_set_cell_crop; +extern const bcstring be_const_str_set_point_id; diff --git a/lib/libesp32/Berry/generate/be_const_strtab_def.h b/lib/libesp32/Berry/generate/be_const_strtab_def.h index 8ba10259d..ba01e29a9 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab_def.h +++ b/lib/libesp32/Berry/generate/be_const_strtab_def.h @@ -1,558 +1,2434 @@ -be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, &be_const_str_CSE7761_RX); -be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, &be_const_str_HPMA_TX); -be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_SWT1); -be_define_const_str(SWT1, "SWT1", 805224112u, 0, 4, NULL); -be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, NULL); -be_define_const_str(PMS5003_RX, "PMS5003_RX", 3934985650u, 0, 10, &be_const_str_WS2812); -be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, NULL); -be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, &be_const_str___upper__); -be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_raise); +be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, &be_const_str_STYLE_PATTERN_RECOLOR); +be_define_const_str(STYLE_PATTERN_RECOLOR, "STYLE_PATTERN_RECOLOR", 2178713592u, 0, 21, &be_const_str_get_cursor_hidden); +be_define_const_str(get_cursor_hidden, "get_cursor_hidden", 3032264799u, 0, 17, &be_const_str_lv_line); +be_define_const_str(lv_line, "lv_line", 2692732914u, 0, 7, NULL); +be_define_const_str(SYMBOL_BULLET, "SYMBOL_BULLET", 587181862u, 0, 13, &be_const_str_get_hue); +be_define_const_str(get_hue, "get_hue", 1060457518u, 0, 7, &be_const_str_set_bg_grad_stop); +be_define_const_str(set_bg_grad_stop, "set_bg_grad_stop", 1329650389u, 0, 16, NULL); +be_define_const_str(STYLE_TRANSFORM_ZOOM, "STYLE_TRANSFORM_ZOOM", 224871941u, 0, 20, NULL); +be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, &be_const_str_set_margin_right); +be_define_const_str(set_margin_right, "set_margin_right", 283278459u, 0, 16, &be_const_str_set_style_local_value_font); +be_define_const_str(set_style_local_value_font, "set_style_local_value_font", 117758217u, 0, 26, NULL); +be_define_const_str(LMT01, "LMT01", 2490623797u, 0, 5, &be_const_str_PAGE_EDGE_LEFT); +be_define_const_str(PAGE_EDGE_LEFT, "PAGE_EDGE_LEFT", 4240364242u, 0, 14, &be_const_str_lv_slider); +be_define_const_str(lv_slider, "lv_slider", 2274180781u, 0, 9, NULL); +be_define_const_str(CHART_PART_SERIES_BG, "CHART_PART_SERIES_BG", 4240790375u, 0, 20, &be_const_str_set_max_height); +be_define_const_str(set_max_height, "set_max_height", 394927448u, 0, 14, &be_const_str_set_offset_y); +be_define_const_str(set_offset_y, "set_offset_y", 437927531u, 0, 12, NULL); +be_define_const_str(set_style_local_border_blend_mode, "set_style_local_border_blend_mode", 3453690930u, 0, 33, NULL); +be_define_const_str(OPA_40, "OPA_40", 2210522110u, 0, 6, &be_const_str_del_char); +be_define_const_str(del_char, "del_char", 3624762103u, 0, 8, NULL); +be_define_const_str(SYMBOL_LIST, "SYMBOL_LIST", 70793990u, 0, 11, &be_const_str_get_ext_click_pad_right); +be_define_const_str(get_ext_click_pad_right, "get_ext_click_pad_right", 3976528463u, 0, 23, &be_const_str_set_fit2); +be_define_const_str(set_fit2, "set_fit2", 4226206571u, 0, 8, &be_const_str_set_rollover); +be_define_const_str(set_rollover, "set_rollover", 1838959037u, 0, 12, &be_const_str_var); +be_define_const_str(var, "var", 2317739966u, 64, 3, NULL); +be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, &be_const_str_STYLE_PAD_LEFT); +be_define_const_str(STYLE_PAD_LEFT, "STYLE_PAD_LEFT", 1524023460u, 0, 14, &be_const_str_WEBCAM_HSD); +be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, &be_const_str_get_style_pattern_repeat); +be_define_const_str(get_style_pattern_repeat, "get_style_pattern_repeat", 3530119950u, 0, 24, &be_const_str_up); +be_define_const_str(up, "up", 1128467232u, 0, 2, NULL); +be_define_const_str(FIT_TIGHT, "FIT_TIGHT", 2710930043u, 0, 9, &be_const_str_STYLE_SCALE_GRAD_COLOR); +be_define_const_str(STYLE_SCALE_GRAD_COLOR, "STYLE_SCALE_GRAD_COLOR", 3981239948u, 0, 22, &be_const_str_TX2X_TXD_BLACK); +be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, &be_const_str_get_style_transform_width); +be_define_const_str(get_style_transform_width, "get_style_transform_width", 713115893u, 0, 25, NULL); +be_define_const_str(get_width_grid, "get_width_grid", 2821365517u, 0, 14, NULL); +be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_set_value_ofs_x); +be_define_const_str(set_value_ofs_x, "set_value_ofs_x", 112450803u, 0, 15, NULL); +be_define_const_str(CHART_CURSOR_LEFT, "CHART_CURSOR_LEFT", 2003546122u, 0, 17, &be_const_str_get_focused_btn); +be_define_const_str(get_focused_btn, "get_focused_btn", 1271435326u, 0, 15, &be_const_str_get_style_transition_prop_6); +be_define_const_str(get_style_transition_prop_6, "get_style_transition_prop_6", 3488279722u, 0, 27, &be_const_str_get_type); +be_define_const_str(get_type, "get_type", 2996227024u, 0, 8, NULL); +be_define_const_str(SYMBOL_LEFT, "SYMBOL_LEFT", 1563517575u, 0, 11, NULL); +be_define_const_str(EVENT_DRAG_THROW_BEGIN, "EVENT_DRAG_THROW_BEGIN", 977261671u, 0, 22, &be_const_str_STYLE_TRANSITION_PROP_1); +be_define_const_str(STYLE_TRANSITION_PROP_1, "STYLE_TRANSITION_PROP_1", 929164024u, 0, 23, &be_const_str_get_style_line_opa); +be_define_const_str(get_style_line_opa, "get_style_line_opa", 3653868853u, 0, 18, NULL); +be_define_const_str(BORDER_SIDE_TOP, "BORDER_SIDE_TOP", 3643834727u, 0, 15, &be_const_str_KEY1_INV_NP); +be_define_const_str(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str_set_anim_time); +be_define_const_str(set_anim_time, "set_anim_time", 1473685427u, 0, 13, &be_const_str_set_text_sel_end); +be_define_const_str(set_text_sel_end, "set_text_sel_end", 3422399078u, 0, 16, &be_const_str_sqrt); +be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL); +be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, NULL); +be_define_const_str(hide_series, "hide_series", 3053662735u, 0, 11, NULL); +be_define_const_str(set_insert_replace, "set_insert_replace", 1439171942u, 0, 18, NULL); +be_define_const_str(DISP_ROT_90, "DISP_ROT_90", 3961393585u, 0, 11, &be_const_str_KEYBOARD_PART_BG); +be_define_const_str(KEYBOARD_PART_BG, "KEYBOARD_PART_BG", 3167702710u, 0, 16, NULL); +be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, &be_const_str_STYLE_PATTERN_BLEND_MODE); +be_define_const_str(STYLE_PATTERN_BLEND_MODE, "STYLE_PATTERN_BLEND_MODE", 2331743867u, 0, 24, NULL); +be_define_const_str(get_cell_crop, "get_cell_crop", 2916382555u, 0, 13, NULL); +be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); +be_define_const_str(set_pos, "set_pos", 4146975678u, 0, 7, &be_const_str_set_value_blend_mode); +be_define_const_str(set_value_blend_mode, "set_value_blend_mode", 86539269u, 0, 20, NULL); +be_define_const_str(ROLLER_MODE_NORMAL, "ROLLER_MODE_NORMAL", 72783697u, 0, 18, NULL); +be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, &be_const_str_set_style_local_opa_scale); +be_define_const_str(set_style_local_opa_scale, "set_style_local_opa_scale", 2718681341u, 0, 25, NULL); +be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_set_range); +be_define_const_str(set_range, "set_range", 228092793u, 0, 9, NULL); +be_define_const_str(blur_ver, "blur_ver", 2584500226u, 0, 8, &be_const_str_set_content_size); +be_define_const_str(set_content_size, "set_content_size", 10638115u, 0, 16, NULL); +be_define_const_str(lv_arc, "lv_arc", 4170125384u, 0, 6, &be_const_str_set_auto_realign); +be_define_const_str(set_auto_realign, "set_auto_realign", 3175723934u, 0, 16, NULL); +be_define_const_str(set_adv_hittest, "set_adv_hittest", 2312818651u, 0, 15, NULL); +be_define_const_str(HX711_SCK, "HX711_SCK", 3785979404u, 0, 9, &be_const_str_RF_SENSOR); +be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, &be_const_str_scr_act); +be_define_const_str(scr_act, "scr_act", 2080211456u, 0, 7, &be_const_str_elif); +be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); +be_define_const_str(PROTECT_POS, "PROTECT_POS", 1960404285u, 0, 11, NULL); +be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, &be_const_str_ADC_LIGHT); +be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_get_style_shadow_ofs_x); +be_define_const_str(get_style_shadow_ofs_x, "get_style_shadow_ofs_x", 2320381696u, 0, 22, NULL); +be_define_const_str(get_scrl_width, "get_scrl_width", 1498509239u, 0, 14, &be_const_str_get_style_line_width); +be_define_const_str(get_style_line_width, "get_style_line_width", 1172338835u, 0, 20, &be_const_str_set_checked); +be_define_const_str(set_checked, "set_checked", 1119609005u, 0, 11, &be_const_str_set_style_local_margin_bottom); +be_define_const_str(set_style_local_margin_bottom, "set_style_local_margin_bottom", 3687231326u, 0, 29, NULL); +be_define_const_str(add_btn_left, "add_btn_left", 3984572941u, 0, 12, &be_const_str_set_value_opa); +be_define_const_str(set_value_opa, "set_value_opa", 1055786128u, 0, 13, NULL); +be_define_const_str(on_edge, "on_edge", 1159443540u, 0, 7, NULL); +be_define_const_str(PROTECT_EVENT_TO_DISABLED, "PROTECT_EVENT_TO_DISABLED", 330306814u, 0, 25, &be_const_str_set_transform_width); +be_define_const_str(set_transform_width, "set_transform_width", 3190371031u, 0, 19, NULL); +be_define_const_str(GAUGE_PART_MAJOR, "GAUGE_PART_MAJOR", 3656186174u, 0, 16, &be_const_str_STYLE_OUTLINE_WIDTH); +be_define_const_str(STYLE_OUTLINE_WIDTH, "STYLE_OUTLINE_WIDTH", 2786055068u, 0, 19, &be_const_str_set_bg_main_stop); +be_define_const_str(set_bg_main_stop, "set_bg_main_stop", 1702668926u, 0, 16, &be_const_str_set_style_local_outline_pad); +be_define_const_str(set_style_local_outline_pad, "set_style_local_outline_pad", 3480414734u, 0, 27, NULL); +be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_get_top); +be_define_const_str(get_top, "get_top", 1711502355u, 0, 7, &be_const_str_lv_list); +be_define_const_str(lv_list, "lv_list", 2876551248u, 0, 7, NULL); +be_define_const_str(get_fit_left, "get_fit_left", 2671576953u, 0, 12, NULL); +be_define_const_str(get_group, "get_group", 1497401467u, 0, 9, &be_const_str_get_style_scale_border_width); +be_define_const_str(get_style_scale_border_width, "get_style_scale_border_width", 206289592u, 0, 28, &be_const_str_get_style_scale_width); +be_define_const_str(get_style_scale_width, "get_style_scale_width", 2556361915u, 0, 21, NULL); +be_define_const_str(SILVER, "SILVER", 1471925664u, 0, 6, NULL); +be_define_const_str(focus_next, "focus_next", 2510018461u, 0, 10, &be_const_str_set_style_local_text_blend_mode); +be_define_const_str(set_style_local_text_blend_mode, "set_style_local_text_blend_mode", 3467626777u, 0, 31, NULL); +be_define_const_str(STYLE_SCALE_END_COLOR, "STYLE_SCALE_END_COLOR", 1403682869u, 0, 21, &be_const_str_anim_cb); +be_define_const_str(anim_cb, "anim_cb", 2120778920u, 0, 7, &be_const_str_down); +be_define_const_str(down, "down", 1035581717u, 0, 4, &be_const_str_set_drag_dir); +be_define_const_str(set_drag_dir, "set_drag_dir", 2315801594u, 0, 12, &be_const_str_set_fit); +be_define_const_str(set_fit, "set_fit", 4009334267u, 0, 7, NULL); +be_define_const_str(STYLE_OUTLINE_PAD, "STYLE_OUTLINE_PAD", 2090004501u, 0, 17, &be_const_str_set_clip_corner); +be_define_const_str(set_clip_corner, "set_clip_corner", 2280572814u, 0, 15, NULL); +be_define_const_str(SSPI, "SSPI", 2469416576u, 0, 4, &be_const_str_set_style_local_border_opa); +be_define_const_str(set_style_local_border_opa, "set_style_local_border_opa", 2125961393u, 0, 26, NULL); +be_define_const_str(DDS2382_TX, "DDS2382_TX", 1438117864u, 0, 10, &be_const_str_FS_RES_DENIED); +be_define_const_str(FS_RES_DENIED, "FS_RES_DENIED", 63556207u, 0, 13, NULL); +be_define_const_str(SYMBOL_PREV, "SYMBOL_PREV", 2952615023u, 0, 11, NULL); +be_define_const_str(get_tile_act, "get_tile_act", 3705631119u, 0, 12, &be_const_str_init_draw_rect_dsc); +be_define_const_str(init_draw_rect_dsc, "init_draw_rect_dsc", 4242061620u, 0, 18, &be_const_str_report_style_mod); +be_define_const_str(report_style_mod, "report_style_mod", 4174977870u, 0, 16, &be_const_str_set_focus_parent); +be_define_const_str(set_focus_parent, "set_focus_parent", 2829293865u, 0, 16, NULL); +be_define_const_str(MAROON, "MAROON", 770976181u, 0, 6, &be_const_str_NONE); +be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, NULL); +be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, &be_const_str_get_ext_click_pad_bottom); +be_define_const_str(get_ext_click_pad_bottom, "get_ext_click_pad_bottom", 1405930484u, 0, 24, &be_const_str_set_bg_start_angle); +be_define_const_str(set_bg_start_angle, "set_bg_start_angle", 2285338772u, 0, 18, NULL); +be_define_const_str(set_pattern_image, "set_pattern_image", 1204394880u, 0, 17, NULL); +be_define_const_str(ARC_TYPE_NORMAL, "ARC_TYPE_NORMAL", 1554666574u, 0, 15, &be_const_str_get_text_sel_start); +be_define_const_str(get_text_sel_start, "get_text_sel_start", 1075131103u, 0, 18, NULL); +be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, &be_const_str_get_knob_colored); +be_define_const_str(get_knob_colored, "get_knob_colored", 2664754853u, 0, 16, &be_const_str_get_width); +be_define_const_str(get_width, "get_width", 3293417300u, 0, 9, NULL); +be_define_const_str(GESTURE_DIR_LEFT, "GESTURE_DIR_LEFT", 1888875816u, 0, 16, NULL); +be_define_const_str(CHART_AXIS_DRAW_LAST_TICK, "CHART_AXIS_DRAW_LAST_TICK", 811055023u, 0, 25, &be_const_str_GREEN); +be_define_const_str(GREEN, "GREEN", 2875364188u, 0, 5, &be_const_str_NRF24_CS); +be_define_const_str(NRF24_CS, "NRF24_CS", 555833194u, 0, 8, &be_const_str_STYLE_PAD_BOTTOM); +be_define_const_str(STYLE_PAD_BOTTOM, "STYLE_PAD_BOTTOM", 3910623046u, 0, 16, &be_const_str_set_scrollable_fit2); +be_define_const_str(set_scrollable_fit2, "set_scrollable_fit2", 586952845u, 0, 19, NULL); +be_define_const_str(set_signal_cb, "set_signal_cb", 1476300744u, 0, 13, NULL); +be_define_const_str(GPS_RX, "GPS_RX", 1075637342u, 0, 6, &be_const_str_clear_options); +be_define_const_str(clear_options, "clear_options", 1509347603u, 0, 13, &be_const_str_get_style_line_color); +be_define_const_str(get_style_line_color, "get_style_line_color", 805371932u, 0, 20, &be_const_str_get_style_text_letter_space); +be_define_const_str(get_style_text_letter_space, "get_style_text_letter_space", 772735187u, 0, 27, &be_const_str_set_text_sel_color); +be_define_const_str(set_text_sel_color, "set_text_sel_color", 1561573604u, 0, 18, NULL); +be_define_const_str(FTC532, "FTC532", 3182343438u, 0, 6, &be_const_str_close); +be_define_const_str(close, "close", 667630371u, 0, 5, &be_const_str_set_options_static); +be_define_const_str(set_options_static, "set_options_static", 652047717u, 0, 18, NULL); +be_define_const_str(get_scrollbar_mode, "get_scrollbar_mode", 1258717108u, 0, 18, &be_const_str_set_auto_size); +be_define_const_str(set_auto_size, "set_auto_size", 903259741u, 0, 13, NULL); +be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_SLIDER_TYPE_SYMMETRICAL); +be_define_const_str(SLIDER_TYPE_SYMMETRICAL, "SLIDER_TYPE_SYMMETRICAL", 768283232u, 0, 23, &be_const_str_STYLE_CLIP_CORNER); +be_define_const_str(STYLE_CLIP_CORNER, "STYLE_CLIP_CORNER", 2883973343u, 0, 17, &be_const_str_get_show_selected); +be_define_const_str(get_show_selected, "get_show_selected", 3185075651u, 0, 17, &be_const_str_set_parent); +be_define_const_str(set_parent, "set_parent", 1528807100u, 0, 10, NULL); +be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, &be_const_str_get_one_line); +be_define_const_str(get_one_line, "get_one_line", 3981525171u, 0, 12, &be_const_str_set_outline_width); +be_define_const_str(set_outline_width, "set_outline_width", 2428704969u, 0, 17, NULL); +be_define_const_str(ALIGN_OUT_BOTTOM_MID, "ALIGN_OUT_BOTTOM_MID", 2853556972u, 0, 20, &be_const_str_get_letter_on); +be_define_const_str(get_letter_on, "get_letter_on", 3272656192u, 0, 13, &be_const_str_set_style_local_scale_end_border_width); +be_define_const_str(set_style_local_scale_end_border_width, "set_style_local_scale_end_border_width", 3774452254u, 0, 38, &be_const_str_set_width_fit); +be_define_const_str(set_width_fit, "set_width_fit", 703845988u, 0, 13, NULL); +be_define_const_str(KEY_DEL, "KEY_DEL", 1749022830u, 0, 7, &be_const_str_SYMBOL_SD_CARD); +be_define_const_str(SYMBOL_SD_CARD, "SYMBOL_SD_CARD", 2542376484u, 0, 14, &be_const_str_set_style_local_value_ofs_x); +be_define_const_str(set_style_local_value_ofs_x, "set_style_local_value_ofs_x", 3057670197u, 0, 27, NULL); +be_define_const_str(ARC_PART_INDIC, "ARC_PART_INDIC", 1749778975u, 0, 14, &be_const_str_get_active_btn_text); +be_define_const_str(get_active_btn_text, "get_active_btn_text", 2709356149u, 0, 19, &be_const_str_set_pivot); +be_define_const_str(set_pivot, "set_pivot", 2329940872u, 0, 9, NULL); +be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, &be_const_str_get_style_line_dash_width); +be_define_const_str(get_style_line_dash_width, "get_style_line_dash_width", 4191923846u, 0, 25, &be_const_str_get_style_transform_zoom); +be_define_const_str(get_style_transform_zoom, "get_style_transform_zoom", 380604044u, 0, 24, &be_const_str_set_cursor_manage); +be_define_const_str(set_cursor_manage, "set_cursor_manage", 2587391084u, 0, 17, NULL); +be_define_const_str(LAYOUT_OFF, "LAYOUT_OFF", 3375414885u, 0, 10, NULL); +be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_reverse); +be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); +be_define_const_str(TABVIEW_TAB_POS_NONE, "TABVIEW_TAB_POS_NONE", 3094416879u, 0, 20, &be_const_str_get_step); +be_define_const_str(get_step, "get_step", 2497148826u, 0, 8, &be_const_str_set_style_local_image_opa); +be_define_const_str(set_style_local_image_opa, "set_style_local_image_opa", 3630403626u, 0, 25, NULL); +be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, NULL); +be_define_const_str(set_style_local_shadow_blend_mode, "set_style_local_shadow_blend_mode", 2580830900u, 0, 33, &be_const_str_set_text_blend_mode); +be_define_const_str(set_text_blend_mode, "set_text_blend_mode", 1236604715u, 0, 19, &be_const_str_set_valid_positions); +be_define_const_str(set_valid_positions, "set_valid_positions", 358534097u, 0, 19, &be_const_str_do); +be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); +be_define_const_str(BLACK, "BLACK", 1750494276u, 0, 5, &be_const_str_SSPI_CS); +be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, &be_const_str_STYLE_IMAGE_RECOLOR_OPA); +be_define_const_str(STYLE_IMAGE_RECOLOR_OPA, "STYLE_IMAGE_RECOLOR_OPA", 3785340258u, 0, 23, NULL); +be_define_const_str(SYMBOL_WIFI, "SYMBOL_WIFI", 682141303u, 0, 11, NULL); +be_define_const_str(BORDER_SIDE_INTERNAL, "BORDER_SIDE_INTERNAL", 4209377645u, 0, 20, NULL); +be_define_const_str(set_checkable, "set_checkable", 3024222852u, 0, 13, &be_const_str_set_cursor_pos); +be_define_const_str(set_cursor_pos, "set_cursor_pos", 1354380555u, 0, 14, NULL); +be_define_const_str(STYLE_PATTERN_RECOLOR_OPA, "STYLE_PATTERN_RECOLOR_OPA", 3355859281u, 0, 25, &be_const_str_get_cursor_manage); +be_define_const_str(get_cursor_manage, "get_cursor_manage", 2216849296u, 0, 17, NULL); +be_define_const_str(set_pad_bottom, "set_pad_bottom", 900543569u, 0, 14, NULL); +be_define_const_str(FS_RES_HW_ERR, "FS_RES_HW_ERR", 1676324085u, 0, 13, &be_const_str_LAYOUT_ROW_TOP); +be_define_const_str(LAYOUT_ROW_TOP, "LAYOUT_ROW_TOP", 4030593648u, 0, 14, &be_const_str_SYMBOL_BATTERY_3); +be_define_const_str(SYMBOL_BATTERY_3, "SYMBOL_BATTERY_3", 662591301u, 0, 16, NULL); +be_define_const_str(real, "real", 3604983901u, 0, 4, &be_const_str_set_style_local_transition_path); +be_define_const_str(set_style_local_transition_path, "set_style_local_transition_path", 1414572505u, 0, 31, NULL); +be_define_const_str(TXT_FLAG_NONE, "TXT_FLAG_NONE", 3092237369u, 0, 13, &be_const_str_get_color_mode_fixed); +be_define_const_str(get_color_mode_fixed, "get_color_mode_fixed", 2272722254u, 0, 20, &be_const_str_get_needle_count); +be_define_const_str(get_needle_count, "get_needle_count", 2722615919u, 0, 16, NULL); +be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_number); +be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_set_one_check); +be_define_const_str(set_one_check, "set_one_check", 1355948919u, 0, 13, &be_const_str_set_style_local_value_letter_space); +be_define_const_str(set_style_local_value_letter_space, "set_style_local_value_letter_space", 826246017u, 0, 34, NULL); +be_define_const_str(BLUE, "BLUE", 750204685u, 0, 4, &be_const_str_KEY_UP); +be_define_const_str(KEY_UP, "KEY_UP", 1961213356u, 0, 6, &be_const_str_LIST_PART_BG); +be_define_const_str(LIST_PART_BG, "LIST_PART_BG", 1920031543u, 0, 12, &be_const_str_STYLE_PATTERN_OPA); +be_define_const_str(STYLE_PATTERN_OPA, "STYLE_PATTERN_OPA", 1423872118u, 0, 17, &be_const_str_TEXT_DECOR_STRIKETHROUGH); +be_define_const_str(TEXT_DECOR_STRIKETHROUGH, "TEXT_DECOR_STRIKETHROUGH", 2875711852u, 0, 24, &be_const_str_add_protect); +be_define_const_str(add_protect, "add_protect", 175601728u, 0, 11, NULL); +be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, &be_const_str_STYLE_BORDER_SIDE); +be_define_const_str(STYLE_BORDER_SIDE, "STYLE_BORDER_SIDE", 3876109589u, 0, 17, &be_const_str_clear_btn_ctrl); +be_define_const_str(clear_btn_ctrl, "clear_btn_ctrl", 2659827935u, 0, 14, NULL); +be_define_const_str(PROTECT_FOLLOW, "PROTECT_FOLLOW", 44354676u, 0, 14, NULL); +be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_set_transition_prop_1); +be_define_const_str(set_transition_prop_1, "set_transition_prop_1", 3033901345u, 0, 21, NULL); +be_define_const_str(log10, "log10", 2346846000u, 0, 5, NULL); +be_define_const_str(ANIM_ON, "ANIM_ON", 1377334024u, 0, 7, NULL); +be_define_const_str(DROPDOWN_PART_MAIN, "DROPDOWN_PART_MAIN", 1806576308u, 0, 18, NULL); +be_define_const_str(DROPDOWN_PART_SELECTED, "DROPDOWN_PART_SELECTED", 1685473920u, 0, 22, &be_const_str_STYLE_RADIUS); +be_define_const_str(STYLE_RADIUS, "STYLE_RADIUS", 1029481353u, 0, 12, &be_const_str_allocate_ext_attr); +be_define_const_str(allocate_ext_attr, "allocate_ext_attr", 915956424u, 0, 17, &be_const_str_lv_page); +be_define_const_str(lv_page, "lv_page", 2373170067u, 0, 7, NULL); +be_define_const_str(STYLE_VALUE_LINE_SPACE, "STYLE_VALUE_LINE_SPACE", 2028376414u, 0, 22, NULL); +be_define_const_str(EVENT_FOCUSED, "EVENT_FOCUSED", 3253401785u, 0, 13, NULL); +be_define_const_str(set_style_local_text_line_space, "set_style_local_text_line_space", 3775207629u, 0, 31, NULL); +be_define_const_str(CHECKBOX_PART_BG, "CHECKBOX_PART_BG", 1308611434u, 0, 16, &be_const_str_get_series_axis); +be_define_const_str(get_series_axis, "get_series_axis", 524215363u, 0, 15, NULL); +be_define_const_str(get_btn_label, "get_btn_label", 3300200213u, 0, 13, NULL); +be_define_const_str(BTN_STATE_CHECKED_RELEASED, "BTN_STATE_CHECKED_RELEASED", 571978995u, 0, 26, &be_const_str_set_style_local_line_rounded); +be_define_const_str(set_style_local_line_rounded, "set_style_local_line_rounded", 3167871810u, 0, 28, &be_const_str_set_transition_path); +be_define_const_str(set_transition_path, "set_transition_path", 689428023u, 0, 19, NULL); +be_define_const_str(blur_hor, "blur_hor", 346002478u, 0, 8, NULL); +be_define_const_str(set_style_local_margin_left, "set_style_local_margin_left", 3162175100u, 0, 27, NULL); +be_define_const_str(open, "open", 3546203337u, 0, 4, &be_const_str_size); +be_define_const_str(size, "size", 597743964u, 0, 4, NULL); +be_define_const_str(CHART_TYPE_COLUMN, "CHART_TYPE_COLUMN", 385586299u, 0, 17, &be_const_str_get_style_transition_time); +be_define_const_str(get_style_transition_time, "get_style_transition_time", 3928047247u, 0, 25, &be_const_str_set_mirror); +be_define_const_str(set_mirror, "set_mirror", 1608447367u, 0, 10, NULL); +be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, NULL); +be_define_const_str(get_mirror, "get_mirror", 2155743435u, 0, 10, NULL); +be_define_const_str(get_adjustable, "get_adjustable", 982674931u, 0, 14, &be_const_str_get_pwd_show_time); +be_define_const_str(get_pwd_show_time, "get_pwd_show_time", 2965915687u, 0, 17, NULL); +be_define_const_str(get_max_value, "get_max_value", 2625343304u, 0, 13, &be_const_str_list_get_style); +be_define_const_str(list_get_style, "list_get_style", 2060904236u, 0, 14, NULL); +be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, &be_const_str_add_text); +be_define_const_str(add_text, "add_text", 2433225858u, 0, 8, &be_const_str_get_style_pad_right); +be_define_const_str(get_style_pad_right, "get_style_pad_right", 3150287466u, 0, 19, &be_const_str_set_ext_click_area); +be_define_const_str(set_ext_click_area, "set_ext_click_area", 1298742324u, 0, 18, NULL); +be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_LAYOUT_COLUMN_LEFT); +be_define_const_str(LAYOUT_COLUMN_LEFT, "LAYOUT_COLUMN_LEFT", 3178094182u, 0, 18, &be_const_str_break); +be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); +be_define_const_str(HSPI, "HSPI", 2263006151u, 0, 4, &be_const_str_count_children); +be_define_const_str(count_children, "count_children", 1689969950u, 0, 14, &be_const_str_lv_msgbox); +be_define_const_str(lv_msgbox, "lv_msgbox", 689085206u, 0, 9, &be_const_str_set_btn_ctrl); +be_define_const_str(set_btn_ctrl, "set_btn_ctrl", 3999876128u, 0, 12, &be_const_str_set_scrl_width); +be_define_const_str(set_scrl_width, "set_scrl_width", 2522533355u, 0, 14, NULL); +be_define_const_str(LAYOUT_ROW_BOTTOM, "LAYOUT_ROW_BOTTOM", 1098190350u, 0, 17, &be_const_str_tolower); +be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL); +be_define_const_str(STYLE_TRANSFORM_HEIGHT, "STYLE_TRANSFORM_HEIGHT", 953009101u, 0, 22, NULL); +be_define_const_str(set_scale_width, "set_scale_width", 2442490229u, 0, 15, &be_const_str_update_mask); +be_define_const_str(update_mask, "update_mask", 833922029u, 0, 11, NULL); +be_define_const_str(set_text_opa, "set_text_opa", 3995853510u, 0, 12, NULL); +be_define_const_str(get_label_count, "get_label_count", 1700997322u, 0, 15, &be_const_str_set_row_cnt); +be_define_const_str(set_row_cnt, "set_row_cnt", 3198609400u, 0, 11, NULL); +be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, &be_const_str_remove_series); +be_define_const_str(remove_series, "remove_series", 2007033791u, 0, 13, &be_const_str_set_pad_right); +be_define_const_str(set_pad_right, "set_pad_right", 4274005568u, 0, 13, NULL); +be_define_const_str(set_col_width, "set_col_width", 28420413u, 0, 13, &be_const_str_set_offset_x); +be_define_const_str(set_offset_x, "set_offset_x", 421149912u, 0, 12, NULL); +be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, NULL); +be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_set_style_local_pad_right); +be_define_const_str(set_style_local_pad_right, "set_style_local_pad_right", 1126712366u, 0, 25, NULL); +be_define_const_str(BACKLIGHT, "BACKLIGHT", 3147761926u, 0, 9, &be_const_str_SPINNER_TYPE_CONSTANT_ARC); +be_define_const_str(SPINNER_TYPE_CONSTANT_ARC, "SPINNER_TYPE_CONSTANT_ARC", 2728560979u, 0, 25, NULL); +be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, &be_const_str_SOLAXX1_TX); +be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, &be_const_str_SYMBOL_BACKSPACE); +be_define_const_str(SYMBOL_BACKSPACE, "SYMBOL_BACKSPACE", 1997168681u, 0, 16, &be_const_str_set_style_local_shadow_ofs_y); +be_define_const_str(set_style_local_shadow_ofs_y, "set_style_local_shadow_ofs_y", 1635871223u, 0, 28, NULL); +be_define_const_str(is_checked, "is_checked", 3623625615u, 0, 10, &be_const_str_set_today_date); +be_define_const_str(set_today_date, "set_today_date", 3983571786u, 0, 14, NULL); +be_define_const_str(get_screen, "get_screen", 2759490796u, 0, 10, &be_const_str_item); +be_define_const_str(item, "item", 2671260646u, 0, 4, &be_const_str_try); +be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); +be_define_const_str(get_style_transform_angle, "get_style_transform_angle", 1307352290u, 0, 25, NULL); +be_define_const_str(EVENT_KEY, "EVENT_KEY", 2739613983u, 0, 9, &be_const_str_get_style_border_post); +be_define_const_str(get_style_border_post, "get_style_border_post", 3537874563u, 0, 21, &be_const_str_title_get_alignment); +be_define_const_str(title_get_alignment, "title_get_alignment", 3374080476u, 0, 19, NULL); +be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_set_value_ofs_y); +be_define_const_str(set_value_ofs_y, "set_value_ofs_y", 95673184u, 0, 15, NULL); +be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, &be_const_str_get_style_transition_prop_5); +be_define_const_str(get_style_transition_prop_5, "get_style_transition_prop_5", 3471502103u, 0, 27, &be_const_str_set_layout); +be_define_const_str(set_layout, "set_layout", 3108581018u, 0, 10, NULL); +be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); +be_define_const_str(STATE_PRESSED, "STATE_PRESSED", 2471016259u, 0, 13, &be_const_str_SYMBOL_CLOSE); +be_define_const_str(SYMBOL_CLOSE, "SYMBOL_CLOSE", 2654402806u, 0, 12, &be_const_str_get_fit_top); +be_define_const_str(get_fit_top, "get_fit_top", 1805788963u, 0, 11, &be_const_str_rad); +be_define_const_str(rad, "rad", 1358899048u, 0, 3, NULL); +be_define_const_str(LAYOUT_GRID, "LAYOUT_GRID", 1755252272u, 0, 11, &be_const_str_SSPI_MOSI); +be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, NULL); +be_define_const_str(SCROLLBAR_MODE_UNHIDE, "SCROLLBAR_MODE_UNHIDE", 827854473u, 0, 21, NULL); +be_define_const_str(get_hidden, "get_hidden", 2608152268u, 0, 10, &be_const_str_super); +be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); +be_define_const_str(SYMBOL_REFRESH, "SYMBOL_REFRESH", 1266229761u, 0, 14, &be_const_str_set_style_local_shadow_opa); +be_define_const_str(set_style_local_shadow_opa, "set_style_local_shadow_opa", 2192328339u, 0, 26, NULL); +be_define_const_str(SYMBOL_BELL, "SYMBOL_BELL", 1736196487u, 0, 11, &be_const_str_cursor_left); +be_define_const_str(cursor_left, "cursor_left", 785231665u, 0, 11, &be_const_str_set_src); +be_define_const_str(set_src, "set_src", 1156089058u, 0, 7, NULL); +be_define_const_str(KEY_HOME, "KEY_HOME", 2722222682u, 0, 8, &be_const_str_SYMBOL_LOOP); +be_define_const_str(SYMBOL_LOOP, "SYMBOL_LOOP", 2762053208u, 0, 11, &be_const_str_cosh); +be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, &be_const_str_set_border_width); +be_define_const_str(set_border_width, "set_border_width", 2740080977u, 0, 16, NULL); +be_define_const_str(get_base_dir, "get_base_dir", 1814851485u, 0, 12, &be_const_str_get_inner_coords); +be_define_const_str(get_inner_coords, "get_inner_coords", 985433607u, 0, 16, NULL); +be_define_const_str(clean_tab, "clean_tab", 3280421962u, 0, 9, &be_const_str_get_draw_rect_ext_pad_size); +be_define_const_str(get_draw_rect_ext_pad_size, "get_draw_rect_ext_pad_size", 3223809685u, 0, 26, NULL); +be_define_const_str(get_long_mode, "get_long_mode", 2750961764u, 0, 13, &be_const_str_set_shadow_width); +be_define_const_str(set_shadow_width, "set_shadow_width", 1524575495u, 0, 16, NULL); +be_define_const_str(get_local_style, "get_local_style", 2060541417u, 0, 15, NULL); +be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, NULL); +be_define_const_str(STYLE_MARGIN_RIGHT, "STYLE_MARGIN_RIGHT", 1123385036u, 0, 18, NULL); +be_define_const_str(set_radius, "set_radius", 1362452298u, 0, 10, NULL); +be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, &be_const_str_LABEL_LONG_SROLL); +be_define_const_str(LABEL_LONG_SROLL, "LABEL_LONG_SROLL", 3854826277u, 0, 16, &be_const_str_STYLE_PATTERN_REPEAT); +be_define_const_str(STYLE_PATTERN_REPEAT, "STYLE_PATTERN_REPEAT", 721793275u, 0, 20, NULL); +be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, &be_const_str_TASMOTACLIENT_TXD); +be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, &be_const_str_get_style_radius); +be_define_const_str(get_style_radius, "get_style_radius", 1315526516u, 0, 16, &be_const_str_set_align); +be_define_const_str(set_align, "set_align", 2592958913u, 0, 9, &be_const_str_set_div_line_count); +be_define_const_str(set_div_line_count, "set_div_line_count", 918956222u, 0, 18, NULL); +be_define_const_str(STYLE_SHADOW_COLOR, "STYLE_SHADOW_COLOR", 368908723u, 0, 18, &be_const_str_set_bg_grad_color); +be_define_const_str(set_bg_grad_color, "set_bg_grad_color", 51037480u, 0, 17, NULL); +be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, NULL); be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL); -be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_PMS5003_TX); -be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, NULL); -be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, NULL); +be_define_const_str(set_outline_opa, "set_outline_opa", 1167424027u, 0, 15, NULL); +be_define_const_str(EVENT_DEFOCUSED, "EVENT_DEFOCUSED", 1034310644u, 0, 15, &be_const_str_STYLE_MARGIN_BOTTOM); +be_define_const_str(STYLE_MARGIN_BOTTOM, "STYLE_MARGIN_BOTTOM", 4176801053u, 0, 19, &be_const_str_STYLE_TEXT_DECOR); +be_define_const_str(STYLE_TEXT_DECOR, "STYLE_TEXT_DECOR", 2624841926u, 0, 16, &be_const_str_get_auto_fit); +be_define_const_str(get_auto_fit, "get_auto_fit", 2158692767u, 0, 12, &be_const_str_set_value_str); +be_define_const_str(set_value_str, "set_value_str", 2950562969u, 0, 13, NULL); +be_define_const_str(TEXT_DECOR_UNDERLINE, "TEXT_DECOR_UNDERLINE", 1425097719u, 0, 20, &be_const_str_set_style_local_bg_grad_stop); +be_define_const_str(set_style_local_bg_grad_stop, "set_style_local_bg_grad_stop", 1180238427u, 0, 28, NULL); +be_define_const_str(A4988_ENA, "A4988_ENA", 1517502682u, 0, 9, &be_const_str_CHART_TYPE_LINE); +be_define_const_str(CHART_TYPE_LINE, "CHART_TYPE_LINE", 1459459819u, 0, 15, NULL); +be_define_const_str(STYLE_PATTERN_IMAGE, "STYLE_PATTERN_IMAGE", 3293741009u, 0, 19, &be_const_str_get_bg_angle_end); +be_define_const_str(get_bg_angle_end, "get_bg_angle_end", 602326541u, 0, 16, &be_const_str_get_cell_merge_right); +be_define_const_str(get_cell_merge_right, "get_cell_merge_right", 207626582u, 0, 20, &be_const_str_get_pivot); +be_define_const_str(get_pivot, "get_pivot", 2963122652u, 0, 9, &be_const_str_push); +be_define_const_str(push, "push", 2272264157u, 0, 4, NULL); +be_define_const_str(STYLE_BG_GRAD_DIR, "STYLE_BG_GRAD_DIR", 2986594357u, 0, 17, NULL); +be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, &be_const_str_get_drag); +be_define_const_str(get_drag, "get_drag", 1996600010u, 0, 8, NULL); +be_define_const_str(KEY_ESC, "KEY_ESC", 915768258u, 0, 7, &be_const_str_SDM72_TX); +be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, &be_const_str_STYLE_TRANSITION_PATH); +be_define_const_str(STYLE_TRANSITION_PATH, "STYLE_TRANSITION_PATH", 3341574330u, 0, 21, &be_const_str_is_char_under_pos); +be_define_const_str(is_char_under_pos, "is_char_under_pos", 2744967102u, 0, 17, &be_const_str_set_style_local_scale_width); +be_define_const_str(set_style_local_scale_width, "set_style_local_scale_width", 2071128255u, 0, 27, NULL); +be_define_const_str(set_cell_merge_right, "set_cell_merge_right", 3174593866u, 0, 20, NULL); +be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 0, 10, &be_const_str_MAGENTA); +be_define_const_str(MAGENTA, "MAGENTA", 1444046984u, 0, 7, &be_const_str_STYLE_TEXT_SEL_COLOR); +be_define_const_str(STYLE_TEXT_SEL_COLOR, "STYLE_TEXT_SEL_COLOR", 1096559567u, 0, 20, NULL); +be_define_const_str(LIST_PART_SCROLLBAR, "LIST_PART_SCROLLBAR", 3690731034u, 0, 19, &be_const_str_get_style_pattern_opa); +be_define_const_str(get_style_pattern_opa, "get_style_pattern_opa", 865471869u, 0, 21, &be_const_str_get_text_sel_end); +be_define_const_str(get_text_sel_end, "get_text_sel_end", 3650450346u, 0, 16, &be_const_str_set_text_static); +be_define_const_str(set_text_static, "set_text_static", 3831207210u, 0, 15, &be_const_str_start_auto_close); +be_define_const_str(start_auto_close, "start_auto_close", 2189620188u, 0, 16, NULL); +be_define_const_str(STYLE_SIZE, "STYLE_SIZE", 2268500266u, 0, 10, NULL); +be_define_const_str(ALIGN_IN_BOTTOM_LEFT, "ALIGN_IN_BOTTOM_LEFT", 3951704846u, 0, 20, &be_const_str_set_outline_color); +be_define_const_str(set_outline_color, "set_outline_color", 3028574774u, 0, 17, NULL); +be_define_const_str(SYMBOL_DRIVE, "SYMBOL_DRIVE", 567203502u, 0, 12, NULL); +be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL); +be_define_const_str(STYLE_TRANSITION_PROP_4, "STYLE_TRANSITION_PROP_4", 1013052119u, 0, 23, &be_const_str_set_style_local_text_color); +be_define_const_str(set_style_local_text_color, "set_style_local_text_color", 2285935637u, 0, 26, NULL); +be_define_const_str(STYLE_BG_BLEND_MODE, "STYLE_BG_BLEND_MODE", 1458637206u, 0, 19, &be_const_str_get_style_size); +be_define_const_str(get_style_size, "get_style_size", 3698157111u, 0, 14, NULL); +be_define_const_str(SYMBOL_VIDEO, "SYMBOL_VIDEO", 789726913u, 0, 12, NULL); +be_define_const_str(STYLE_MARGIN_TOP, "STYLE_MARGIN_TOP", 4150683665u, 0, 16, &be_const_str_dump); +be_define_const_str(dump, "dump", 3663001223u, 0, 4, NULL); +be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, &be_const_str_get_bright); +be_define_const_str(get_bright, "get_bright", 203831460u, 0, 10, &be_const_str_get_btn_width); +be_define_const_str(get_btn_width, "get_btn_width", 254956887u, 0, 13, &be_const_str_get_nearest_index_from_coord); +be_define_const_str(get_nearest_index_from_coord, "get_nearest_index_from_coord", 847963620u, 0, 28, &be_const_str_pin_used); +be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, NULL); +be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, &be_const_str_SYMBOL_CALL); +be_define_const_str(SYMBOL_CALL, "SYMBOL_CALL", 1444504366u, 0, 11, &be_const_str_set_angle_offset); +be_define_const_str(set_angle_offset, "set_angle_offset", 1203695731u, 0, 16, NULL); +be_define_const_str(FIT_MAX, "FIT_MAX", 361794269u, 0, 7, &be_const_str_STYLE_VALUE_OFS_Y); +be_define_const_str(STYLE_VALUE_OFS_Y, "STYLE_VALUE_OFS_Y", 1374857417u, 0, 17, NULL); +be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_BOILER_OT_TX); +be_define_const_str(BOILER_OT_TX, "BOILER_OT_TX", 671743623u, 0, 12, &be_const_str_HRE_CLOCK); +be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, &be_const_str_get_wrap); +be_define_const_str(get_wrap, "get_wrap", 52299084u, 0, 8, NULL); +be_define_const_str(CSE7766_TX, "CSE7766_TX", 674624821u, 0, 10, &be_const_str_set_spin_time); +be_define_const_str(set_spin_time, "set_spin_time", 1386363784u, 0, 13, &be_const_str_if); +be_define_const_str(if, "if", 959999494u, 50, 2, NULL); +be_define_const_str(SYMBOL_BATTERY_FULL, "SYMBOL_BATTERY_FULL", 2638935545u, 0, 19, &be_const_str_get_needle_img); +be_define_const_str(get_needle_img, "get_needle_img", 477560399u, 0, 14, &be_const_str_set_next); +be_define_const_str(set_next, "set_next", 1039873613u, 0, 8, NULL); +be_define_const_str(STYLE_VALUE_STR, "STYLE_VALUE_STR", 144639168u, 0, 15, &be_const_str_nil); +be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); +be_define_const_str(CALENDAR_PART_DAY_NAMES, "CALENDAR_PART_DAY_NAMES", 1761763651u, 0, 23, &be_const_str_WEBCAM_HREF); +be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, &be_const_str_get_x_start_point); +be_define_const_str(get_x_start_point, "get_x_start_point", 4100384878u, 0, 17, NULL); +be_define_const_str(get_spin_time, "get_spin_time", 1036768940u, 0, 13, NULL); +be_define_const_str(get_style_scale_end_line_width, "get_style_scale_end_line_width", 1969204230u, 0, 30, &be_const_str_set_btn_ctrl_all); +be_define_const_str(set_btn_ctrl_all, "set_btn_ctrl_all", 274690332u, 0, 16, NULL); +be_define_const_str(DRAG_DIR_VER, "DRAG_DIR_VER", 3097064297u, 0, 12, NULL); +be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, &be_const_str_set_event_cb); +be_define_const_str(set_event_cb, "set_event_cb", 3611711604u, 0, 12, &be_const_str_set_style_local_bg_grad_dir); +be_define_const_str(set_style_local_bg_grad_dir, "set_style_local_bg_grad_dir", 946802226u, 0, 27, NULL); +be_define_const_str(ALIGN_OUT_TOP_LEFT, "ALIGN_OUT_TOP_LEFT", 1073920927u, 0, 18, &be_const_str_KEY_END); +be_define_const_str(KEY_END, "KEY_END", 1131758734u, 0, 7, &be_const_str_ROT1A); +be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, &be_const_str_add_btns); +be_define_const_str(add_btns, "add_btns", 828629896u, 0, 8, &be_const_str_set_bg_blend_mode); +be_define_const_str(set_bg_blend_mode, "set_bg_blend_mode", 2432224687u, 0, 17, NULL); +be_define_const_str(LABEL_LONG_CROP, "LABEL_LONG_CROP", 4057484127u, 0, 15, &be_const_str_SYMBOL_DOWNLOAD); +be_define_const_str(SYMBOL_DOWNLOAD, "SYMBOL_DOWNLOAD", 2607324090u, 0, 15, &be_const_str_set_secondary_y_tick_texts); +be_define_const_str(set_secondary_y_tick_texts, "set_secondary_y_tick_texts", 2165523729u, 0, 26, NULL); +be_define_const_str(CPICKER_PART_MAIN, "CPICKER_PART_MAIN", 4275135052u, 0, 17, &be_const_str_SYMBOL_PLAY); +be_define_const_str(SYMBOL_PLAY, "SYMBOL_PLAY", 1750902100u, 0, 11, &be_const_str_set_tasmota_logo); +be_define_const_str(set_tasmota_logo, "set_tasmota_logo", 4090375591u, 0, 16, NULL); +be_define_const_str(finish_transitions, "finish_transitions", 1663237457u, 0, 18, NULL); +be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, &be_const_str_get_style_outline_opa); +be_define_const_str(get_style_outline_opa, "get_style_outline_opa", 1286010513u, 0, 21, NULL); +be_define_const_str(def_event_cb, "def_event_cb", 3544166485u, 0, 12, &be_const_str_get_style_border_opa); +be_define_const_str(get_style_border_opa, "get_style_border_opa", 140307373u, 0, 20, &be_const_str_set_style_local_value_ofs_y); +be_define_const_str(set_style_local_value_ofs_y, "set_style_local_value_ofs_y", 3040892578u, 0, 27, NULL); +be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, &be_const_str_SYMBOL_PLUS); +be_define_const_str(SYMBOL_PLUS, "SYMBOL_PLUS", 2860093262u, 0, 11, &be_const_str_get_gesture_parent); +be_define_const_str(get_gesture_parent, "get_gesture_parent", 2610282188u, 0, 18, NULL); +be_define_const_str(BLEND_MODE_NORMAL, "BLEND_MODE_NORMAL", 1282739232u, 0, 17, &be_const_str_SPI); +be_define_const_str(SPI, "SPI", 1746663213u, 0, 3, &be_const_str_SYMBOL_EJECT); +be_define_const_str(SYMBOL_EJECT, "SYMBOL_EJECT", 873760647u, 0, 12, &be_const_str_SYMBOL_PASTE); +be_define_const_str(SYMBOL_PASTE, "SYMBOL_PASTE", 2281577421u, 0, 12, &be_const_str_focus_prev); +be_define_const_str(focus_prev, "focus_prev", 2639915985u, 0, 10, &be_const_str_get_height_fit); +be_define_const_str(get_height_fit, "get_height_fit", 2561566971u, 0, 14, &be_const_str_set_pattern_recolor_opa); +be_define_const_str(set_pattern_recolor_opa, "set_pattern_recolor_opa", 1479951840u, 0, 23, NULL); +be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, NULL); +be_define_const_str(STYLE_SCALE_END_LINE_WIDTH, "STYLE_SCALE_END_LINE_WIDTH", 2154819175u, 0, 26, &be_const_str_get_parent); +be_define_const_str(get_parent, "get_parent", 350250280u, 0, 10, NULL); +be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_set_antialias); +be_define_const_str(set_antialias, "set_antialias", 1998560096u, 0, 13, NULL); +be_define_const_str(CHART_AXIS_INVERSE_LABELS_ORDER, "CHART_AXIS_INVERSE_LABELS_ORDER", 1279914111u, 0, 31, &be_const_str_HJL_CF); +be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, &be_const_str_get_style_text_sel_color); +be_define_const_str(get_style_text_sel_color, "get_style_text_sel_color", 1751096754u, 0, 24, &be_const_str_refresh_style); +be_define_const_str(refresh_style, "refresh_style", 3029800338u, 0, 13, &be_const_str_set_hidden); +be_define_const_str(set_hidden, "set_hidden", 2478665880u, 0, 10, NULL); +be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, &be_const_str_realign); +be_define_const_str(realign, "realign", 170046109u, 0, 7, NULL); +be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, &be_const_str_VL53L0X_XSHUT1); +be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, &be_const_str_set_text_sel); +be_define_const_str(set_text_sel, "set_text_sel", 1928405316u, 0, 12, &be_const_str_set_value); +be_define_const_str(set_value, "set_value", 2288413965u, 0, 9, NULL); +be_define_const_str(ALIGN_OUT_TOP_MID, "ALIGN_OUT_TOP_MID", 1680148984u, 0, 17, &be_const_str_draw_scale); +be_define_const_str(draw_scale, "draw_scale", 3602887006u, 0, 10, &be_const_str_load); +be_define_const_str(load, "load", 3859241449u, 0, 4, NULL); +be_define_const_str(ARC_PART_KNOB, "ARC_PART_KNOB", 1431875030u, 0, 13, &be_const_str_ILI9341_DC); +be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, NULL); +be_define_const_str(CPICKER_TYPE_RECT, "CPICKER_TYPE_RECT", 126543004u, 0, 17, &be_const_str_SYMBOL_BATTERY_2); +be_define_const_str(SYMBOL_BATTERY_2, "SYMBOL_BATTERY_2", 645813682u, 0, 16, &be_const_str_get_style_bg_grad_stop); +be_define_const_str(get_style_bg_grad_stop, "get_style_bg_grad_stop", 1023453943u, 0, 22, &be_const_str_set_shadow_blend_mode); +be_define_const_str(set_shadow_blend_mode, "set_shadow_blend_mode", 3767233786u, 0, 21, NULL); +be_define_const_str(get_fit_bottom, "get_fit_bottom", 664659611u, 0, 14, &be_const_str_refresh); +be_define_const_str(refresh, "refresh", 3572655668u, 0, 7, NULL); +be_define_const_str(SYMBOL_DUMMY, "SYMBOL_DUMMY", 3621732138u, 0, 12, &be_const_str_remove_style_local_prop); +be_define_const_str(remove_style_local_prop, "remove_style_local_prop", 1160046873u, 0, 23, NULL); +be_define_const_str(get_style_text_color, "get_style_text_color", 1013168305u, 0, 20, NULL); +be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, &be_const_str_NRG_CF1); +be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, &be_const_str_SYMBOL_MUTE); +be_define_const_str(SYMBOL_MUTE, "SYMBOL_MUTE", 563116043u, 0, 11, NULL); +be_define_const_str(OPA_COVER, "OPA_COVER", 3000088857u, 0, 9, &be_const_str_get_scrl_fit_right); +be_define_const_str(get_scrl_fit_right, "get_scrl_fit_right", 4214186985u, 0, 18, NULL); +be_define_const_str(KEYBOARD_MODE_NUM, "KEYBOARD_MODE_NUM", 2625982609u, 0, 17, &be_const_str_PULLUP); +be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, NULL); +be_define_const_str(del, "del", 3478752842u, 0, 3, NULL); +be_define_const_str(LABEL_ALIGN_AUTO, "LABEL_ALIGN_AUTO", 1755016863u, 0, 16, &be_const_str_set_style_local_value_line_space); +be_define_const_str(set_style_local_value_line_space, "set_style_local_value_line_space", 987261567u, 0, 32, NULL); +be_define_const_str(STATE_DEFAULT, "STATE_DEFAULT", 712406428u, 0, 13, NULL); +be_define_const_str(set_value_line_space, "set_value_line_space", 355798025u, 0, 20, NULL); +be_define_const_str(get_pwd_mode, "get_pwd_mode", 364593807u, 0, 12, &be_const_str_init_draw_line_dsc); +be_define_const_str(init_draw_line_dsc, "init_draw_line_dsc", 2507936040u, 0, 18, NULL); +be_define_const_str(CYAN, "CYAN", 1196590906u, 0, 4, &be_const_str_set_line_blend_mode); +be_define_const_str(set_line_blend_mode, "set_line_blend_mode", 350784568u, 0, 19, &be_const_str_set_selected); +be_define_const_str(set_selected, "set_selected", 386442685u, 0, 12, &be_const_str_set_text_decor); +be_define_const_str(set_text_decor, "set_text_decor", 768023065u, 0, 14, NULL); +be_define_const_str(PROTECT_PARENT, "PROTECT_PARENT", 3109095353u, 0, 14, NULL); +be_define_const_str(LED_PART_MAIN, "LED_PART_MAIN", 3314442918u, 0, 13, &be_const_str_is_focused); +be_define_const_str(is_focused, "is_focused", 2171112339u, 0, 10, &be_const_str_set_style_local_transition_prop_6); +be_define_const_str(set_style_local_transition_prop_6, "set_style_local_transition_prop_6", 2535204486u, 0, 33, NULL); +be_define_const_str(SCROLLBAR_MODE_AUTO, "SCROLLBAR_MODE_AUTO", 2882381917u, 0, 19, &be_const_str_TFMINIPLUS_TX); +be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, &be_const_str_list_init); +be_define_const_str(list_init, "list_init", 2798529232u, 0, 9, &be_const_str_set_y_tick_texts); +be_define_const_str(set_y_tick_texts, "set_y_tick_texts", 1388790058u, 0, 16, NULL); +be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, NULL); +be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, &be_const_str_imin); +be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL); +be_define_const_str(BAR_TYPE_CUSTOM, "BAR_TYPE_CUSTOM", 895647203u, 0, 15, &be_const_str_STYLE_LINE_DASH_WIDTH); +be_define_const_str(STYLE_LINE_DASH_WIDTH, "STYLE_LINE_DASH_WIDTH", 1366928369u, 0, 21, NULL); +be_define_const_str(KEY1_TC, "KEY1_TC", 25685109u, 0, 7, &be_const_str_get_ext_click_pad_left); +be_define_const_str(get_ext_click_pad_left, "get_ext_click_pad_left", 1709871714u, 0, 22, NULL); +be_define_const_str(remove_obj, "remove_obj", 2093082931u, 0, 10, NULL); +be_define_const_str(DRAG_DIR_BOTH, "DRAG_DIR_BOTH", 740935659u, 0, 13, &be_const_str_MIEL_HVAC_TX); +be_define_const_str(MIEL_HVAC_TX, "MIEL_HVAC_TX", 567403014u, 0, 12, &be_const_str_P9813_DAT); +be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, NULL); +be_define_const_str(get_tab_act, "get_tab_act", 2665251652u, 0, 11, &be_const_str_set_transform_height); +be_define_const_str(set_transform_height, "set_transform_height", 3869973274u, 0, 20, NULL); +be_define_const_str(get_scrl_height, "get_scrl_height", 1933731194u, 0, 15, &be_const_str_set_series_axis); +be_define_const_str(set_series_axis, "set_series_axis", 3828439823u, 0, 15, NULL); +be_define_const_str(get_y, "get_y", 1205519667u, 0, 5, &be_const_str_set_scale_end_line_width); +be_define_const_str(set_scale_end_line_width, "set_scale_end_line_width", 1121812764u, 0, 24, NULL); +be_define_const_str(TABVIEW_TAB_POS_TOP, "TABVIEW_TAB_POS_TOP", 4224766616u, 0, 19, &be_const_str_get_btn_text); +be_define_const_str(get_btn_text, "get_btn_text", 1417317686u, 0, 12, &be_const_str_set_drag); +be_define_const_str(set_drag, "set_drag", 2586329126u, 0, 8, NULL); +be_define_const_str(LABEL_LONG_DOT, "LABEL_LONG_DOT", 1312457976u, 0, 14, NULL); +be_define_const_str(BLEND_MODE_ADDITIVE, "BLEND_MODE_ADDITIVE", 3732684283u, 0, 19, &be_const_str_BORDER_SIDE_RIGHT); +be_define_const_str(BORDER_SIDE_RIGHT, "BORDER_SIDE_RIGHT", 1842095998u, 0, 17, NULL); +be_define_const_str(set_margin_top, "set_margin_top", 805678094u, 0, 14, &be_const_str_set_style_local_line_dash_gap); +be_define_const_str(set_style_local_line_dash_gap, "set_style_local_line_dash_gap", 923588498u, 0, 29, NULL); +be_define_const_str(BLEND_MODE_SUBTRACTIVE, "BLEND_MODE_SUBTRACTIVE", 3202763511u, 0, 22, NULL); +be_define_const_str(STYLE_TEXT_LETTER_SPACE, "STYLE_TEXT_LETTER_SPACE", 2264289484u, 0, 23, &be_const_str_lv_btnmatrix); +be_define_const_str(lv_btnmatrix, "lv_btnmatrix", 626248489u, 0, 12, NULL); +be_define_const_str(OPA_70, "OPA_70", 2109709301u, 0, 6, NULL); +be_define_const_str(CHART_UPDATE_MODE_CIRCULAR, "CHART_UPDATE_MODE_CIRCULAR", 776810859u, 0, 26, &be_const_str_STYLE_OUTLINE_COLOR); +be_define_const_str(STYLE_OUTLINE_COLOR, "STYLE_OUTLINE_COLOR", 2723763111u, 0, 19, &be_const_str_set_border_opa); +be_define_const_str(set_border_opa, "set_border_opa", 3722959347u, 0, 14, &be_const_str_set_shadow_color); +be_define_const_str(set_shadow_color, "set_shadow_color", 1565203920u, 0, 16, &be_const_str_set_style_local_text_decor); +be_define_const_str(set_style_local_text_decor, "set_style_local_text_decor", 2615974143u, 0, 26, NULL); +be_define_const_str(PMS5003_RX, "PMS5003_RX", 3934985650u, 0, 10, &be_const_str_STYLE_BG_MAIN_STOP); +be_define_const_str(STYLE_BG_MAIN_STOP, "STYLE_BG_MAIN_STOP", 376609633u, 0, 18, NULL); +be_define_const_str(EVENT_VALUE_CHANGED, "EVENT_VALUE_CHANGED", 1871067374u, 0, 19, &be_const_str_area_is_visible); +be_define_const_str(area_is_visible, "area_is_visible", 4009415372u, 0, 15, &be_const_str_init_draw_img_dsc); +be_define_const_str(init_draw_img_dsc, "init_draw_img_dsc", 1278847223u, 0, 17, NULL); +be_define_const_str(lv_switch, "lv_switch", 3407171508u, 0, 9, &be_const_str_true); +be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); +be_define_const_str(int, "int", 2515107422u, 0, 3, NULL); +be_define_const_str(set_style_local_shadow_ofs_x, "set_style_local_shadow_ofs_x", 1619093604u, 0, 28, NULL); +be_define_const_str(set_pad_inner, "set_pad_inner", 1662755314u, 0, 13, NULL); +be_define_const_str(STYLE_LINE_BLEND_MODE, "STYLE_LINE_BLEND_MODE", 1400961281u, 0, 21, &be_const_str_create); +be_define_const_str(create, "create", 649812317u, 0, 6, &be_const_str_lv_chart); +be_define_const_str(lv_chart, "lv_chart", 2652494144u, 0, 8, NULL); +be_define_const_str(lv_spinbox, "lv_spinbox", 2666096729u, 0, 10, &be_const_str_set_needle_img); +be_define_const_str(set_needle_img, "set_needle_img", 1214192915u, 0, 14, NULL); +be_define_const_str(get_style_transition_prop_4, "get_style_transition_prop_4", 3454724484u, 0, 27, &be_const_str_set_month_names); +be_define_const_str(set_month_names, "set_month_names", 158482125u, 0, 15, &be_const_str_set_style_local_image_recolor_opa); +be_define_const_str(set_style_local_image_recolor_opa, "set_style_local_image_recolor_opa", 1752356781u, 0, 33, NULL); +be_define_const_str(ILI9488_CS, "ILI9488_CS", 2363112073u, 0, 10, NULL); +be_define_const_str(RDM6300_RX, "RDM6300_RX", 1522345628u, 0, 10, &be_const_str_get_click); +be_define_const_str(get_click, "get_click", 1755279632u, 0, 9, &be_const_str_sinh); +be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL); +be_define_const_str(KEYBOARD_MODE_TEXT_LOWER, "KEYBOARD_MODE_TEXT_LOWER", 3755201214u, 0, 24, &be_const_str_get_cell_value); +be_define_const_str(get_cell_value, "get_cell_value", 3068122638u, 0, 14, &be_const_str_get_style_bg_opa); +be_define_const_str(get_style_bg_opa, "get_style_bg_opa", 1274566692u, 0, 16, &be_const_str_reset); +be_define_const_str(reset, "reset", 1695364032u, 0, 5, &be_const_str_set_text_letter_space); +be_define_const_str(set_text_letter_space, "set_text_letter_space", 4274937273u, 0, 21, NULL); +be_define_const_str(get_parent_event, "get_parent_event", 102705295u, 0, 16, &be_const_str_set_point_count); +be_define_const_str(set_point_count, "set_point_count", 1721576758u, 0, 15, NULL); +be_define_const_str(CPICKER_PART_KNOB, "CPICKER_PART_KNOB", 4094649797u, 0, 17, NULL); +be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, NULL); +be_define_const_str(get_rollover, "get_rollover", 2637132577u, 0, 12, NULL); +be_define_const_str(FS_RES_TOUT, "FS_RES_TOUT", 733368644u, 0, 11, &be_const_str_RED); +be_define_const_str(RED, "RED", 2211354620u, 0, 3, &be_const_str_remove_style); +be_define_const_str(remove_style, "remove_style", 3826054475u, 0, 12, NULL); +be_define_const_str(get_text, "get_text", 3133031679u, 0, 8, NULL); +be_define_const_str(while, "while", 231090382u, 53, 5, NULL); +be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, &be_const_str_MAX7219CLK); +be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str_SBR_RX); +be_define_const_str(SBR_RX, "SBR_RX", 3350999801u, 0, 6, &be_const_str_SBR_TX); +be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_del_char_forward); +be_define_const_str(del_char_forward, "del_char_forward", 400381733u, 0, 16, NULL); +be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, NULL); +be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_lv_led); +be_define_const_str(lv_led, "lv_led", 3192184733u, 0, 6, NULL); +be_define_const_str(cursor_right, "cursor_right", 2216262354u, 0, 12, &be_const_str_set_style_local_transform_zoom); +be_define_const_str(set_style_local_transform_zoom, "set_style_local_transform_zoom", 3474945744u, 0, 30, NULL); +be_define_const_str(get_style_image_opa, "get_style_image_opa", 111986494u, 0, 19, NULL); +be_define_const_str(CPICKER_COLOR_MODE_HUE, "CPICKER_COLOR_MODE_HUE", 1583032607u, 0, 22, &be_const_str_MGC3130_RESET); +be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, NULL); +be_define_const_str(get_click_focus, "get_click_focus", 1418740299u, 0, 15, NULL); +be_define_const_str(get_style_outline_color, "get_style_outline_color", 3936324952u, 0, 23, &be_const_str_set_cell_align); +be_define_const_str(set_cell_align, "set_cell_align", 3036710638u, 0, 14, &be_const_str_set_style_local_image_recolor); +be_define_const_str(set_style_local_image_recolor, "set_style_local_image_recolor", 43538644u, 0, 29, NULL); +be_define_const_str(get_btn_selected, "get_btn_selected", 1715353004u, 0, 16, &be_const_str_get_style_bg_grad_color); +be_define_const_str(get_style_bg_grad_color, "get_style_bg_grad_color", 4149817886u, 0, 23, &be_const_str_set_dir); +be_define_const_str(set_dir, "set_dir", 331967531u, 0, 7, NULL); +be_define_const_str(STYLE_PAD_INNER, "STYLE_PAD_INNER", 1651002267u, 0, 15, &be_const_str_set_ctrl_map); +be_define_const_str(set_ctrl_map, "set_ctrl_map", 305774832u, 0, 12, NULL); +be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, NULL); +be_define_const_str(ALIGN_IN_TOP_MID, "ALIGN_IN_TOP_MID", 717802025u, 0, 16, &be_const_str_get_style_scale_end_border_width); +be_define_const_str(get_style_scale_end_border_width, "get_style_scale_end_border_width", 2717605058u, 0, 32, NULL); +be_define_const_str(get_style_bg_color, "get_style_bg_color", 964794381u, 0, 18, NULL); +be_define_const_str(SYMBOL_SETTINGS, "SYMBOL_SETTINGS", 339656335u, 0, 15, NULL); +be_define_const_str(GESTURE_DIR_BOTTOM, "GESTURE_DIR_BOTTOM", 336208834u, 0, 18, &be_const_str_SSD1351_DC); +be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, &be_const_str_get_cursor_point); +be_define_const_str(get_cursor_point, "get_cursor_point", 2365780231u, 0, 16, &be_const_str_set_style_local_scale_border_width); +be_define_const_str(set_style_local_scale_border_width, "set_style_local_scale_border_width", 285010516u, 0, 34, NULL); +be_define_const_str(STYLE_SCALE_BORDER_WIDTH, "STYLE_SCALE_BORDER_WIDTH", 4091410577u, 0, 24, NULL); +be_define_const_str(ALIGN_OUT_LEFT_MID, "ALIGN_OUT_LEFT_MID", 4283557662u, 0, 18, &be_const_str_EVENT_CANCEL); +be_define_const_str(EVENT_CANCEL, "EVENT_CANCEL", 3703374138u, 0, 12, NULL); +be_define_const_str(align, "align", 1613521886u, 0, 5, NULL); +be_define_const_str(STYLE_BG_GRAD_COLOR, "STYLE_BG_GRAD_COLOR", 444266945u, 0, 19, &be_const_str_set_btns_pos); +be_define_const_str(set_btns_pos, "set_btns_pos", 3991891940u, 0, 12, NULL); +be_define_const_str(cursor_up, "cursor_up", 4142217213u, 0, 9, &be_const_str_get_style_image_recolor_opa); +be_define_const_str(get_style_image_recolor_opa, "get_style_image_recolor_opa", 1049713209u, 0, 27, NULL); +be_define_const_str(KEY_RIGHT, "KEY_RIGHT", 3690237745u, 0, 9, &be_const_str_WE517_TX); +be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, &be_const_str_set_visible_row_count); +be_define_const_str(set_visible_row_count, "set_visible_row_count", 840407905u, 0, 21, &be_const_str_traceback); +be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, &be_const_str_import); +be_define_const_str(import, "import", 288002260u, 66, 6, NULL); +be_define_const_str(SAIR_TX, "SAIR_TX", 268017311u, 0, 7, &be_const_str_TXT_FLAG_EXPAND); +be_define_const_str(TXT_FLAG_EXPAND, "TXT_FLAG_EXPAND", 964598951u, 0, 15, &be_const_str_set_base_dir); +be_define_const_str(set_base_dir, "set_base_dir", 1813064609u, 0, 12, NULL); +be_define_const_str(EVENT_DELETE, "EVENT_DELETE", 282828603u, 0, 12, &be_const_str_SYMBOL_HOME); +be_define_const_str(SYMBOL_HOME, "SYMBOL_HOME", 730845525u, 0, 11, NULL); +be_define_const_str(FS_RES_FS_ERR, "FS_RES_FS_ERR", 3587821087u, 0, 13, &be_const_str_layer_sys); +be_define_const_str(layer_sys, "layer_sys", 593658256u, 0, 9, &be_const_str_set_y_range); +be_define_const_str(set_y_range, "set_y_range", 1531043725u, 0, 11, &be_const_str_class); +be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); +be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, NULL); +be_define_const_str(STYLE_TRANSITION_PROP_5, "STYLE_TRANSITION_PROP_5", 996274500u, 0, 23, &be_const_str_set_angle); +be_define_const_str(set_angle, "set_angle", 2542866927u, 0, 9, NULL); +be_define_const_str(SCROLLBAR_MODE_ON, "SCROLLBAR_MODE_ON", 1562259499u, 0, 17, &be_const_str_bytes); +be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, &be_const_str_get_cursor_pos); +be_define_const_str(get_cursor_pos, "get_cursor_pos", 3695280847u, 0, 14, NULL); +be_define_const_str(SYMBOL_GPS, "SYMBOL_GPS", 3044165570u, 0, 10, NULL); +be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_get_series_area); +be_define_const_str(get_series_area, "get_series_area", 1561258251u, 0, 15, NULL); +be_define_const_str(get_offset_y, "get_offset_y", 3939359167u, 0, 12, &be_const_str_lv_cont); +be_define_const_str(lv_cont, "lv_cont", 1391686552u, 0, 7, &be_const_str_start_edge_flash); +be_define_const_str(start_edge_flash, "start_edge_flash", 305008300u, 0, 16, NULL); +be_define_const_str(get_cursor_click_pos, "get_cursor_click_pos", 3249294464u, 0, 20, &be_const_str_hex); +be_define_const_str(hex, "hex", 4273249610u, 0, 3, NULL); +be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str_MAX31855DO); +be_define_const_str(MAX31855DO, "MAX31855DO", 552730368u, 0, 10, &be_const_str_STYLE_TEXT_SEL_BG_COLOR); +be_define_const_str(STYLE_TEXT_SEL_BG_COLOR, "STYLE_TEXT_SEL_BG_COLOR", 2758212579u, 0, 23, &be_const_str_STYLE_VALUE_OFS_X); +be_define_const_str(STYLE_VALUE_OFS_X, "STYLE_VALUE_OFS_X", 1358079798u, 0, 17, &be_const_str_get_color_mode); +be_define_const_str(get_color_mode, "get_color_mode", 833403171u, 0, 14, &be_const_str_set_style_local_bg_color); +be_define_const_str(set_style_local_bg_color, "set_style_local_bg_color", 3796704273u, 0, 24, &be_const_str_set_style_local_pad_top); +be_define_const_str(set_style_local_pad_top, "set_style_local_pad_top", 785256663u, 0, 23, &be_const_str_set_style_local_pattern_image); +be_define_const_str(set_style_local_pattern_image, "set_style_local_pattern_image", 350348106u, 0, 29, &be_const_str_set_user_data); +be_define_const_str(set_user_data, "set_user_data", 3596043360u, 0, 13, NULL); +be_define_const_str(ALIGN_IN_LEFT_MID, "ALIGN_IN_LEFT_MID", 60432565u, 0, 17, &be_const_str_set_style_local_text_font); +be_define_const_str(set_style_local_text_font, "set_style_local_text_font", 954295699u, 0, 25, NULL); +be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_FS_MODE_RD); +be_define_const_str(FS_MODE_RD, "FS_MODE_RD", 2906271023u, 0, 10, &be_const_str_STYLE_BORDER_WIDTH); +be_define_const_str(STYLE_BORDER_WIDTH, "STYLE_BORDER_WIDTH", 2777818658u, 0, 18, &be_const_str_off); +be_define_const_str(off, "off", 2872740362u, 0, 3, NULL); +be_define_const_str(set_bright, "set_bright", 499797888u, 0, 10, NULL); +be_define_const_str(EVENT_REFRESH, "EVENT_REFRESH", 741028651u, 0, 13, NULL); +be_define_const_str(set_style_local_transform_angle, "set_style_local_transform_angle", 3618600326u, 0, 31, NULL); +be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, &be_const_str_set_transform_angle); +be_define_const_str(set_transform_angle, "set_transform_angle", 2657176848u, 0, 19, NULL); +be_define_const_str(get_start_value, "get_start_value", 2039237390u, 0, 15, NULL); +be_define_const_str(get_style_value_letter_space, "get_style_value_letter_space", 193712565u, 0, 28, NULL); +be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_set_adjustable); +be_define_const_str(set_adjustable, "set_adjustable", 1573073815u, 0, 14, &be_const_str_title_set_alignment); +be_define_const_str(title_set_alignment, "title_set_alignment", 192669664u, 0, 19, NULL); +be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, NULL); +be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, &be_const_str_DDSU666_TX); +be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_INPUT_PULLDOWN); +be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, &be_const_str_STYLE_MARGIN_LEFT); +be_define_const_str(STYLE_MARGIN_LEFT, "STYLE_MARGIN_LEFT", 671809443u, 0, 17, NULL); +be_define_const_str(ALIGN_IN_TOP_RIGHT, "ALIGN_IN_TOP_RIGHT", 3273089785u, 0, 18, &be_const_str_ALIGN_OUT_LEFT_TOP); +be_define_const_str(ALIGN_OUT_LEFT_TOP, "ALIGN_OUT_LEFT_TOP", 2335540111u, 0, 18, NULL); +be_define_const_str(INPUT, "INPUT", 1638025307u, 0, 5, &be_const_str_pi); +be_define_const_str(pi, "pi", 1213090802u, 0, 2, &be_const_str_set_style_local_transition_time); +be_define_const_str(set_style_local_transition_time, "set_style_local_transition_time", 1761097355u, 0, 31, NULL); +be_define_const_str(ARC_TYPE_SYMMETRIC, "ARC_TYPE_SYMMETRIC", 3784955220u, 0, 18, &be_const_str_HX711_DAT); +be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, &be_const_str_SCROLLBAR_MODE_HIDE); +be_define_const_str(SCROLLBAR_MODE_HIDE, "SCROLLBAR_MODE_HIDE", 3451699170u, 0, 19, &be_const_str_asstring); +be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_clean_style_list); +be_define_const_str(clean_style_list, "clean_style_list", 1108481805u, 0, 16, &be_const_str_type); +be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); +be_define_const_str(STYLE_TRANSFORM_ANGLE, "STYLE_TRANSFORM_ANGLE", 411149629u, 0, 21, NULL); +be_define_const_str(STYLE_LINE_WIDTH, "STYLE_LINE_WIDTH", 537342374u, 0, 16, &be_const_str_get_hsv); +be_define_const_str(get_hsv, "get_hsv", 774943805u, 0, 7, &be_const_str_init_draw_label_dsc); +be_define_const_str(init_draw_label_dsc, "init_draw_label_dsc", 3549659870u, 0, 19, NULL); +be_define_const_str(LED1_INV, "LED1_INV", 2112045097u, 0, 8, &be_const_str_get_saturation); +be_define_const_str(get_saturation, "get_saturation", 3458845696u, 0, 14, &be_const_str_set_value_align); +be_define_const_str(set_value_align, "set_value_align", 1467667831u, 0, 15, NULL); +be_define_const_str(get_arc_length, "get_arc_length", 2763412693u, 0, 14, &be_const_str_get_child); +be_define_const_str(get_child, "get_child", 1282595182u, 0, 9, &be_const_str_set_style_local_text_opa); +be_define_const_str(set_style_local_text_opa, "set_style_local_text_opa", 1391350156u, 0, 24, NULL); +be_define_const_str(CHECKBOX_PART_BULLET, "CHECKBOX_PART_BULLET", 3413099789u, 0, 20, &be_const_str_SYMBOL_NEW_LINE); +be_define_const_str(SYMBOL_NEW_LINE, "SYMBOL_NEW_LINE", 2014334315u, 0, 15, &be_const_str_get_symbol); +be_define_const_str(get_symbol, "get_symbol", 2697453548u, 0, 10, NULL); +be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_set_x_start_point); +be_define_const_str(set_x_start_point, "set_x_start_point", 257195034u, 0, 17, NULL); +be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, &be_const_str_set_transition_delay); +be_define_const_str(set_transition_delay, "set_transition_delay", 2787845599u, 0, 20, NULL); +be_define_const_str(set_bg_end_angle, "set_bg_end_angle", 569028341u, 0, 16, NULL); +be_define_const_str(STYLE_PAD_RIGHT, "STYLE_PAD_RIGHT", 4135691505u, 0, 15, NULL); +be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str_get_fit_right); +be_define_const_str(get_fit_right, "get_fit_right", 2037949402u, 0, 13, &be_const_str_set_start_value); +be_define_const_str(set_start_value, "set_start_value", 1399674154u, 0, 15, NULL); +be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); +be_define_const_str(compile, "compile", 1000265118u, 0, 7, NULL); +be_define_const_str(resize, "resize", 3514612129u, 0, 6, &be_const_str_set_px); +be_define_const_str(set_px, "set_px", 1137035068u, 0, 6, NULL); +be_define_const_str(SYMBOL_BATTERY_1, "SYMBOL_BATTERY_1", 629036063u, 0, 16, &be_const_str_WE517_RX); +be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, NULL); +be_define_const_str(get_y_invert, "get_y_invert", 2518095240u, 0, 12, &be_const_str_lv_textarea); +be_define_const_str(lv_textarea, "lv_textarea", 2864635074u, 0, 11, NULL); +be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, &be_const_str_SM16716_DAT); +be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, &be_const_str_get_auto_size); +be_define_const_str(get_auto_size, "get_auto_size", 241966433u, 0, 13, NULL); +be_define_const_str(LABEL_LONG_BREAK, "LABEL_LONG_BREAK", 3669129840u, 0, 16, NULL); +be_define_const_str(draw_line, "draw_line", 1634465686u, 0, 9, NULL); +be_define_const_str(STYLE_SCALE_WIDTH, "STYLE_SCALE_WIDTH", 3756994736u, 0, 17, &be_const_str_TFMINIPLUS_RX); +be_define_const_str(TFMINIPLUS_RX, "TFMINIPLUS_RX", 1522203935u, 0, 13, &be_const_str_set_scale); +be_define_const_str(set_scale, "set_scale", 3828634574u, 0, 9, NULL); +be_define_const_str(add_style, "add_style", 2931235026u, 0, 9, &be_const_str_set_critical_value); +be_define_const_str(set_critical_value, "set_critical_value", 1194587727u, 0, 18, &be_const_str_set_transition_prop_3); +be_define_const_str(set_transition_prop_3, "set_transition_prop_3", 3000346107u, 0, 21, NULL); +be_define_const_str(STYLE_LINE_ROUNDED, "STYLE_LINE_ROUNDED", 3677440219u, 0, 18, &be_const_str_TCP_TX); +be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, &be_const_str_set_fit4); +be_define_const_str(set_fit4, "set_fit4", 31904989u, 0, 8, &be_const_str_set_style_local_value_str); +be_define_const_str(set_style_local_value_str, "set_style_local_value_str", 3984127099u, 0, 25, NULL); +be_define_const_str(ADC_BUTTON_INV, "ADC_BUTTON_INV", 2027625326u, 0, 14, &be_const_str_get_bg_angle_start); +be_define_const_str(get_bg_angle_start, "get_bg_angle_start", 1794378932u, 0, 18, &be_const_str_get_ext_attr); +be_define_const_str(get_ext_attr, "get_ext_attr", 2125271231u, 0, 12, NULL); +be_define_const_str(add_element, "add_element", 940011507u, 0, 11, &be_const_str_get_style_border_width); +be_define_const_str(get_style_border_width, "get_style_border_width", 3436292763u, 0, 22, &be_const_str_set_x_tick_length); +be_define_const_str(set_x_tick_length, "set_x_tick_length", 3530536821u, 0, 17, NULL); +be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, &be_const_str_set_border_side); +be_define_const_str(set_border_side, "set_border_side", 466446692u, 0, 15, NULL); +be_define_const_str(TEXT_DECOR_NONE, "TEXT_DECOR_NONE", 2700466131u, 0, 15, &be_const_str_hittest); +be_define_const_str(hittest, "hittest", 4018046250u, 0, 7, NULL); +be_define_const_str(set_style_local_transition_prop_5, "set_style_local_transition_prop_5", 2518426867u, 0, 33, &be_const_str_set_tab_name); +be_define_const_str(set_tab_name, "set_tab_name", 2075400175u, 0, 12, NULL); +be_define_const_str(DISP_SIZE_LARGE, "DISP_SIZE_LARGE", 3377069231u, 0, 15, &be_const_str_EPAPER42_CS); +be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, NULL); +be_define_const_str(get_text_sel_en, "get_text_sel_en", 500051850u, 0, 15, &be_const_str_set_header_height); +be_define_const_str(set_header_height, "set_header_height", 2913303849u, 0, 17, &be_const_str_set_pad_left); +be_define_const_str(set_pad_left, "set_pad_left", 3931796175u, 0, 12, NULL); +be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, &be_const_str_get_cursor_blink_time); +be_define_const_str(get_cursor_blink_time, "get_cursor_blink_time", 1960576829u, 0, 21, &be_const_str_get_drag_dir); +be_define_const_str(get_drag_dir, "get_drag_dir", 3921105230u, 0, 12, &be_const_str_set_col_cnt); +be_define_const_str(set_col_cnt, "set_col_cnt", 3803893298u, 0, 11, &be_const_str_continue); +be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL); +be_define_const_str(OPA_TRANSP, "OPA_TRANSP", 2652293196u, 0, 10, NULL); +be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, &be_const_str_lower); +be_define_const_str(lower, "lower", 3038577850u, 0, 5, &be_const_str_send_data); +be_define_const_str(send_data, "send_data", 4178328760u, 0, 9, &be_const_str_as); +be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); +be_define_const_str(LABEL_ALIGN_CENTER, "LABEL_ALIGN_CENTER", 3698850161u, 0, 18, NULL); +be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, NULL); +be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_set_style_local_border_width); +be_define_const_str(set_style_local_border_width, "set_style_local_border_width", 4234107199u, 0, 28, NULL); +be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, &be_const_str_get_style_value_ofs_x); +be_define_const_str(get_style_value_ofs_x, "get_style_value_ofs_x", 4017645761u, 0, 21, &be_const_str_set_line_color); +be_define_const_str(set_line_color, "set_line_color", 2944146362u, 0, 14, &be_const_str_set_style_local_text_letter_space); +be_define_const_str(set_style_local_text_letter_space, "set_style_local_text_letter_space", 2313398111u, 0, 33, NULL); +be_define_const_str(CHART_CURSOR_DOWN, "CHART_CURSOR_DOWN", 790177263u, 0, 17, &be_const_str_STYLE_BORDER_COLOR); +be_define_const_str(STYLE_BORDER_COLOR, "STYLE_BORDER_COLOR", 809973177u, 0, 18, &be_const_str_get_height_margin); +be_define_const_str(get_height_margin, "get_height_margin", 4277714442u, 0, 17, NULL); +be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, &be_const_str_add); +be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_get_x); +be_define_const_str(get_x, "get_x", 1188742048u, 0, 5, &be_const_str_set_hue); +be_define_const_str(set_hue, "set_hue", 830075074u, 0, 7, NULL); +be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_IEM3000_TX); +be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, NULL); +be_define_const_str(TXT_FLAG_RECOLOR, "TXT_FLAG_RECOLOR", 2017218753u, 0, 16, &be_const_str_get_style_text_sel_bg_color); +be_define_const_str(get_style_text_sel_bg_color, "get_style_text_sel_bg_color", 1889477676u, 0, 27, NULL); +be_define_const_str(set_left_value, "set_left_value", 731130751u, 0, 14, NULL); +be_define_const_str(clear_state, "clear_state", 2113290696u, 0, 11, &be_const_str_draw_img); +be_define_const_str(draw_img, "draw_img", 3217263339u, 0, 8, NULL); +be_define_const_str(CALENDAR_PART_BG, "CALENDAR_PART_BG", 562605961u, 0, 16, &be_const_str_FS_RES_OUT_OF_MEM); +be_define_const_str(FS_RES_OUT_OF_MEM, "FS_RES_OUT_OF_MEM", 802499854u, 0, 17, &be_const_str_align_x); +be_define_const_str(align_x, "align_x", 3735213169u, 0, 7, &be_const_str_lv_group); +be_define_const_str(lv_group, "lv_group", 3852039019u, 0, 8, NULL); +be_define_const_str(ALIGN_IN_BOTTOM_MID, "ALIGN_IN_BOTTOM_MID", 4192809251u, 0, 19, &be_const_str_RXD); +be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, NULL); +be_define_const_str(get_angle_offset, "get_angle_offset", 2775374871u, 0, 16, &be_const_str_get_style_scale_grad_color); +be_define_const_str(get_style_scale_grad_color, "get_style_scale_grad_color", 715761969u, 0, 26, &be_const_str_set_type); +be_define_const_str(set_type, "set_type", 4284078396u, 0, 8, NULL); +be_define_const_str(get_style_pad_top, "get_style_pad_top", 2896917811u, 0, 17, &be_const_str_invalidate_area); +be_define_const_str(invalidate_area, "invalidate_area", 1904223292u, 0, 15, &be_const_str_set_scale_border_width); +be_define_const_str(set_scale_border_width, "set_scale_border_width", 3210684730u, 0, 22, NULL); +be_define_const_str(DROPDOWN_DIR_RIGHT, "DROPDOWN_DIR_RIGHT", 103533641u, 0, 18, &be_const_str_FS_RES_INV_PARAM); +be_define_const_str(FS_RES_INV_PARAM, "FS_RES_INV_PARAM", 2676717305u, 0, 16, &be_const_str_get_focused_obj); +be_define_const_str(get_focused_obj, "get_focused_obj", 208302839u, 0, 15, &be_const_str_set_buffer); +be_define_const_str(set_buffer, "set_buffer", 311233742u, 0, 10, NULL); +be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, &be_const_str_get_options); +be_define_const_str(get_options, "get_options", 1198221094u, 0, 11, NULL); +be_define_const_str(DISP_SIZE_MEDIUM, "DISP_SIZE_MEDIUM", 3336923135u, 0, 16, &be_const_str_copy); +be_define_const_str(copy, "copy", 3848464964u, 0, 4, NULL); +be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, NULL); +be_define_const_str(TEAL, "TEAL", 1728307679u, 0, 4, &be_const_str_set_color_mode_fixed); +be_define_const_str(set_color_mode_fixed, "set_color_mode_fixed", 802591178u, 0, 20, &be_const_str_set_style_local_bg_main_stop); +be_define_const_str(set_style_local_bg_main_stop, "set_style_local_bg_main_stop", 2599091600u, 0, 28, NULL); +be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, NULL); +be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, &be_const_str_TASMOTACLIENT_RST_INV); +be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, &be_const_str_set_value_letter_space); +be_define_const_str(set_value_letter_space, "set_value_letter_space", 1113519355u, 0, 22, NULL); +be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, NULL); +be_define_const_str(EVENT_INSERT, "EVENT_INSERT", 3754467621u, 0, 12, &be_const_str_set_transition_prop_5); +be_define_const_str(set_transition_prop_5, "set_transition_prop_5", 3101011821u, 0, 21, NULL); +be_define_const_str(get_style_transition_prop_3, "get_style_transition_prop_3", 3437946865u, 0, 27, &be_const_str_set_accepted_chars); +be_define_const_str(set_accepted_chars, "set_accepted_chars", 3900817531u, 0, 18, NULL); +be_define_const_str(EVENT_PRESSING, "EVENT_PRESSING", 2840400065u, 0, 14, &be_const_str_FS_RES_NOT_IMP); +be_define_const_str(FS_RES_NOT_IMP, "FS_RES_NOT_IMP", 3493778168u, 0, 14, &be_const_str_STYLE_SHADOW_BLEND_MODE); +be_define_const_str(STYLE_SHADOW_BLEND_MODE, "STYLE_SHADOW_BLEND_MODE", 4197731411u, 0, 23, &be_const_str_set_drag_parent); +be_define_const_str(set_drag_parent, "set_drag_parent", 3979167347u, 0, 15, NULL); +be_define_const_str(STYLE_TEXT_OPA, "STYLE_TEXT_OPA", 3094351509u, 0, 14, &be_const_str_TABVIEW_TAB_POS_BOTTOM); +be_define_const_str(TABVIEW_TAB_POS_BOTTOM, "TABVIEW_TAB_POS_BOTTOM", 3095544198u, 0, 22, &be_const_str_get_layout); +be_define_const_str(get_layout, "get_layout", 2537311278u, 0, 10, NULL); +be_define_const_str(set_disabled, "set_disabled", 3892741852u, 0, 12, NULL); +be_define_const_str(LED1, "LED1", 21005825u, 0, 4, &be_const_str_TCP_RX); +be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, &be_const_str_set_points); +be_define_const_str(set_points, "set_points", 1252105979u, 0, 10, NULL); +be_define_const_str(input, "input", 4191711099u, 0, 5, NULL); +be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, &be_const_str_get_height); +be_define_const_str(get_height, "get_height", 3571755523u, 0, 10, &be_const_str_reset_style_list); +be_define_const_str(reset_style_list, "reset_style_list", 4135460875u, 0, 16, &be_const_str_set_shadow_ofs_y); +be_define_const_str(set_shadow_ofs_y, "set_shadow_ofs_y", 3086758033u, 0, 16, &be_const_str_set_style_local_transition_prop_3); +be_define_const_str(set_style_local_transition_prop_3, "set_style_local_transition_prop_3", 2619092581u, 0, 33, NULL); +be_define_const_str(STYLE_LINE_OPA, "STYLE_LINE_OPA", 1080991556u, 0, 14, &be_const_str_add_btn_right); +be_define_const_str(add_btn_right, "add_btn_right", 2154922694u, 0, 13, NULL); +be_define_const_str(EVENT_GESTURE, "EVENT_GESTURE", 2506519243u, 0, 13, &be_const_str_SSPI_DC); +be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, &be_const_str_clear_btn_ctrl_all); +be_define_const_str(clear_btn_ctrl_all, "clear_btn_ctrl_all", 895272499u, 0, 18, &be_const_str_get_selected); +be_define_const_str(get_selected, "get_selected", 2280142225u, 0, 12, &be_const_str_toggle); +be_define_const_str(toggle, "toggle", 1076453893u, 0, 6, NULL); +be_define_const_str(BTNMATRIX_CTRL_NO_REPEAT, "BTNMATRIX_CTRL_NO_REPEAT", 2228999978u, 0, 24, &be_const_str_exp); +be_define_const_str(exp, "exp", 1923516200u, 0, 3, NULL); +be_define_const_str(get_letter_pos, "get_letter_pos", 1477814169u, 0, 14, &be_const_str_remove); +be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL); +be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, NULL); +be_define_const_str(STYLE_IMAGE_RECOLOR, "STYLE_IMAGE_RECOLOR", 1769022527u, 0, 19, &be_const_str_get_style_outline_pad); +be_define_const_str(get_style_outline_pad, "get_style_outline_pad", 4225397162u, 0, 21, &be_const_str_lv_dropdown); +be_define_const_str(lv_dropdown, "lv_dropdown", 2797165301u, 0, 11, &be_const_str_set_image_blend_mode); +be_define_const_str(set_image_blend_mode, "set_image_blend_mode", 2083195553u, 0, 20, NULL); +be_define_const_str(get_day_of_week, "get_day_of_week", 3301373175u, 0, 15, &be_const_str_set_image_recolor); +be_define_const_str(set_image_recolor, "set_image_recolor", 271208598u, 0, 17, &be_const_str_else); +be_define_const_str(else, "else", 3183434736u, 52, 4, NULL); +be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, &be_const_str_SYMBOL_BLUETOOTH); +be_define_const_str(SYMBOL_BLUETOOTH, "SYMBOL_BLUETOOTH", 679376572u, 0, 16, NULL); +be_define_const_str(EVENT_PRESSED, "EVENT_PRESSED", 3734627670u, 0, 13, &be_const_str_get_btns_pos); +be_define_const_str(get_btns_pos, "get_btns_pos", 2951340984u, 0, 12, &be_const_str_set_scale_grad_color); +be_define_const_str(set_scale_grad_color, "set_scale_grad_color", 818937207u, 0, 20, NULL); +be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, &be_const_str_draw_arc); +be_define_const_str(draw_arc, "draw_arc", 1828251676u, 0, 8, &be_const_str_draw_rect); +be_define_const_str(draw_rect, "draw_rect", 1619240338u, 0, 9, NULL); +be_define_const_str(DSB, "DSB", 98073254u, 0, 3, &be_const_str_get_style_value_color); +be_define_const_str(get_style_value_color, "get_style_value_color", 76857167u, 0, 21, &be_const_str_set_style_local_outline_color); +be_define_const_str(set_style_local_outline_color, "set_style_local_outline_color", 2290216412u, 0, 29, &be_const_str_stop_auto_close); +be_define_const_str(stop_auto_close, "stop_auto_close", 3282451958u, 0, 15, NULL); +be_define_const_str(get_ext_click_pad_top, "get_ext_click_pad_top", 284862450u, 0, 21, &be_const_str_get_style_border_color); +be_define_const_str(get_style_border_color, "get_style_border_color", 4173187188u, 0, 22, &be_const_str_move_foreground); +be_define_const_str(move_foreground, "move_foreground", 2558800524u, 0, 15, NULL); +be_define_const_str(CPICKER_COLOR_MODE_SATURATION, "CPICKER_COLOR_MODE_SATURATION", 1463184715u, 0, 29, NULL); +be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, NULL); +be_define_const_str(lv_label, "lv_label", 4199664246u, 0, 8, &be_const_str_map); +be_define_const_str(map, "map", 3751997361u, 0, 3, NULL); +be_define_const_str(SYMBOL_NEXT, "SYMBOL_NEXT", 1102844455u, 0, 11, NULL); +be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, &be_const_str_set_edge_flash); +be_define_const_str(set_edge_flash, "set_edge_flash", 1114840232u, 0, 14, NULL); +be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_lv_img); +be_define_const_str(lv_img, "lv_img", 2474052327u, 0, 6, NULL); +be_define_const_str(refr_text, "refr_text", 3162090502u, 0, 9, &be_const_str_set_pattern_repeat); +be_define_const_str(set_pattern_repeat, "set_pattern_repeat", 553014028u, 0, 18, NULL); +be_define_const_str(lv_keyboard, "lv_keyboard", 197530229u, 0, 11, NULL); +be_define_const_str(SYMBOL_DIRECTORY, "SYMBOL_DIRECTORY", 1886053449u, 0, 16, &be_const_str_get_scrollable); +be_define_const_str(get_scrollable, "get_scrollable", 1510903497u, 0, 14, &be_const_str_set_height); +be_define_const_str(set_height, "set_height", 1080207399u, 0, 10, NULL); +be_define_const_str(set_start_angle, "set_start_angle", 3152567416u, 0, 15, NULL); +be_define_const_str(CHART_PART_BG, "CHART_PART_BG", 990069269u, 0, 13, NULL); +be_define_const_str(FS_RES_NOT_EX, "FS_RES_NOT_EX", 3124641355u, 0, 13, &be_const_str_SM16716_SEL); +be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, &be_const_str_classname); +be_define_const_str(classname, "classname", 1998589948u, 0, 9, NULL); +be_define_const_str(ALIGN_OUT_BOTTOM_RIGHT, "ALIGN_OUT_BOTTOM_RIGHT", 3680861364u, 0, 22, &be_const_str_EVENT_RELEASED); +be_define_const_str(EVENT_RELEASED, "EVENT_RELEASED", 4173795963u, 0, 14, &be_const_str_log); +be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_lv_linemeter); +be_define_const_str(lv_linemeter, "lv_linemeter", 1413069363u, 0, 12, NULL); +be_define_const_str(get_option_cnt, "get_option_cnt", 2922481u, 0, 14, &be_const_str_set_style_local_margin_top); +be_define_const_str(set_style_local_margin_top, "set_style_local_margin_top", 2065926016u, 0, 26, NULL); +be_define_const_str(close_event_cb, "close_event_cb", 1180945172u, 0, 14, &be_const_str_set_saturation); +be_define_const_str(set_saturation, "set_saturation", 2225192852u, 0, 14, NULL); +be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, NULL); +be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, &be_const_str_set_width); +be_define_const_str(set_width, "set_width", 484671920u, 0, 9, NULL); +be_define_const_str(set_image_recolor_opa, "set_image_recolor_opa", 558003471u, 0, 21, NULL); +be_define_const_str(GRAD_DIR_NONE, "GRAD_DIR_NONE", 1627825480u, 0, 13, &be_const_str_STYLE_TRANSITION_PROP_2); +be_define_const_str(STYLE_TRANSITION_PROP_2, "STYLE_TRANSITION_PROP_2", 979496881u, 0, 23, &be_const_str_SWT1); +be_define_const_str(SWT1, "SWT1", 805224112u, 0, 4, &be_const_str_set_style_local_radius); +be_define_const_str(set_style_local_radius, "set_style_local_radius", 1410446896u, 0, 22, NULL); +be_define_const_str(CHART_AXIS_SKIP_LAST_TICK, "CHART_AXIS_SKIP_LAST_TICK", 3664086830u, 0, 25, &be_const_str_SPI_DC); +be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 0, 6, &be_const_str_set_click_focus); +be_define_const_str(set_click_focus, "set_click_focus", 3544636103u, 0, 15, NULL); +be_define_const_str(PAGE_EDGE_RIGHT, "PAGE_EDGE_RIGHT", 1268763615u, 0, 15, &be_const_str_STYLE_BG_OPA); +be_define_const_str(STYLE_BG_OPA, "STYLE_BG_OPA", 1487941245u, 0, 12, &be_const_str_set_value_font); +be_define_const_str(set_value_font, "set_value_font", 3846644343u, 0, 14, NULL); +be_define_const_str(MCP39F5_RX, "MCP39F5_RX", 190458217u, 0, 10, NULL); +be_define_const_str(FS_RES_LOCKED, "FS_RES_LOCKED", 3948147866u, 0, 13, &be_const_str_get_offset_x); +be_define_const_str(get_offset_x, "get_offset_x", 3922581548u, 0, 12, &be_const_str_get_pressed_cell); +be_define_const_str(get_pressed_cell, "get_pressed_cell", 2707217039u, 0, 16, NULL); +be_define_const_str(CPICKER_TYPE_DISC, "CPICKER_TYPE_DISC", 2110878147u, 0, 17, &be_const_str_TUYA_RX); +be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, &be_const_str_TUYA_TX); +be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, &be_const_str_classof); +be_define_const_str(classof, "classof", 1796577762u, 0, 7, NULL); +be_define_const_str(get_btn_img, "get_btn_img", 177039868u, 0, 11, &be_const_str_set_end_angle); +be_define_const_str(set_end_angle, "set_end_angle", 2783087761u, 0, 13, &be_const_str_sin); +be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL); +be_define_const_str(get_style_transition_delay, "get_style_transition_delay", 1536173465u, 0, 26, NULL); +be_define_const_str(get_min_value, "get_min_value", 3238705374u, 0, 13, NULL); +be_define_const_str(PWM1, "PWM1", 1353352426u, 0, 4, &be_const_str_get_style_text_line_space); +be_define_const_str(get_style_text_line_space, "get_style_text_line_space", 1588877665u, 0, 25, &be_const_str_lv_btn); +be_define_const_str(lv_btn, "lv_btn", 1612829968u, 0, 6, NULL); +be_define_const_str(BTN_STATE_RELEASED, "BTN_STATE_RELEASED", 4133711537u, 0, 18, &be_const_str_set_refocus_policy); +be_define_const_str(set_refocus_policy, "set_refocus_policy", 3274550126u, 0, 18, NULL); +be_define_const_str(SLIDER_TYPE_RANGE, "SLIDER_TYPE_RANGE", 1380197143u, 0, 17, NULL); +be_define_const_str(ARC_TYPE_REVERSE, "ARC_TYPE_REVERSE", 3290331433u, 0, 16, &be_const_str_SYMBOL_AUDIO); +be_define_const_str(SYMBOL_AUDIO, "SYMBOL_AUDIO", 3056537956u, 0, 12, &be_const_str_set_style_local_border_color); +be_define_const_str(set_style_local_border_color, "set_style_local_border_color", 2798696056u, 0, 28, &be_const_str_tan); +be_define_const_str(tan, "tan", 2633446552u, 0, 3, NULL); +be_define_const_str(STYLE_TEXT_BLEND_MODE, "STYLE_TEXT_BLEND_MODE", 44336606u, 0, 21, &be_const_str_keys); +be_define_const_str(keys, "keys", 4182378701u, 0, 4, NULL); +be_define_const_str(set_scrollbar_mode, "set_scrollbar_mode", 3373216512u, 0, 18, &be_const_str_set_style_local_pad_bottom); +be_define_const_str(set_style_local_pad_bottom, "set_style_local_pad_bottom", 1362436575u, 0, 26, NULL); +be_define_const_str(increment, "increment", 940762942u, 0, 9, NULL); +be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, &be_const_str_get_style_transform_height); +be_define_const_str(get_style_transform_height, "get_style_transform_height", 3736737548u, 0, 26, &be_const_str_set_style_local_line_opa); +be_define_const_str(set_style_local_line_opa, "set_style_local_line_opa", 909807497u, 0, 24, &be_const_str_set_style_local_transition_delay); +be_define_const_str(set_style_local_transition_delay, "set_style_local_transition_delay", 958588397u, 0, 32, NULL); +be_define_const_str(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_TASMOTACLIENT_RST); +be_define_const_str(TASMOTACLIENT_RST, "TASMOTACLIENT_RST", 3326196213u, 0, 17, NULL); +be_define_const_str(BTNMATRIX_CTRL_CHECK_STATE, "BTNMATRIX_CTRL_CHECK_STATE", 377731u, 0, 26, &be_const_str_get_focus_parent); +be_define_const_str(get_focus_parent, "get_focus_parent", 1187935525u, 0, 16, &be_const_str_set_color_mode); +be_define_const_str(set_color_mode, "set_color_mode", 1155621583u, 0, 14, NULL); +be_define_const_str(FIT_NONE, "FIT_NONE", 692142959u, 0, 8, &be_const_str_get_style_shadow_color); +be_define_const_str(get_style_shadow_color, "get_style_shadow_color", 920648234u, 0, 22, &be_const_str_remove_mask); +be_define_const_str(remove_mask, "remove_mask", 1680723542u, 0, 11, NULL); +be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, &be_const_str_STYLE_TEXT_COLOR); +be_define_const_str(STYLE_TEXT_COLOR, "STYLE_TEXT_COLOR", 2549754876u, 0, 16, NULL); +be_define_const_str(AQUA, "AQUA", 1203273877u, 0, 4, &be_const_str_WEBCAM_PSCLK); +be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, &be_const_str_get_edge_flash); +be_define_const_str(get_edge_flash, "get_edge_flash", 3226611892u, 0, 14, NULL); +be_define_const_str(range, "range", 4208725202u, 0, 5, NULL); +be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_SDM120_TX); +be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_WS2812); +be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, &be_const_str_get_recolor); +be_define_const_str(get_recolor, "get_recolor", 4128330436u, 0, 11, &be_const_str_layer_top); +be_define_const_str(layer_top, "layer_top", 645939682u, 0, 9, NULL); +be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_format); +be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_get_btn_index); +be_define_const_str(get_btn_index, "get_btn_index", 1289059379u, 0, 13, NULL); +be_define_const_str(DRAG_DIR_ONE, "DRAG_DIR_ONE", 2088479808u, 0, 12, &be_const_str_WINDMETER_SPEED); +be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, NULL); +be_define_const_str(HM10_RX, "HM10_RX", 515085922u, 0, 7, &be_const_str_end); +be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); +be_define_const_str(get_textarea, "get_textarea", 839445266u, 0, 12, &be_const_str_lv_spinner); +be_define_const_str(lv_spinner, "lv_spinner", 3361501901u, 0, 10, NULL); +be_define_const_str(get_anim_time, "get_anim_time", 641972335u, 0, 13, NULL); +be_define_const_str(STATE_DISABLED, "STATE_DISABLED", 3398267003u, 0, 14, &be_const_str_STYLE_TEXT_FONT); +be_define_const_str(STYLE_TEXT_FONT, "STYLE_TEXT_FONT", 75931268u, 0, 15, NULL); +be_define_const_str(SYMBOL_FILE, "SYMBOL_FILE", 237085260u, 0, 11, &be_const_str_except); +be_define_const_str(except, "except", 950914032u, 69, 6, NULL); +be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, &be_const_str_CHART_AXIS_PRIMARY_Y); +be_define_const_str(CHART_AXIS_PRIMARY_Y, "CHART_AXIS_PRIMARY_Y", 2499204580u, 0, 20, &be_const_str_set_outline_blend_mode); +be_define_const_str(set_outline_blend_mode, "set_outline_blend_mode", 4273381132u, 0, 22, &be_const_str_set_style_local_line_dash_width); +be_define_const_str(set_style_local_line_dash_width, "set_style_local_line_dash_width", 3177951154u, 0, 31, NULL); +be_define_const_str(OLIVE, "OLIVE", 1722893804u, 0, 5, NULL); +be_define_const_str(get_active_btn, "get_active_btn", 3720382749u, 0, 14, &be_const_str_list); +be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_set_cursor_hidden); +be_define_const_str(set_cursor_hidden, "set_cursor_hidden", 647911755u, 0, 17, NULL); +be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_MGC3130_XFER); +be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, NULL); +be_define_const_str(BORDER_SIDE_NONE, "BORDER_SIDE_NONE", 3808959734u, 0, 16, &be_const_str_BTN_STATE_CHECKED_PRESSED); +be_define_const_str(BTN_STATE_CHECKED_PRESSED, "BTN_STATE_CHECKED_PRESSED", 2837756846u, 0, 25, &be_const_str_set_pattern_opa); +be_define_const_str(set_pattern_opa, "set_pattern_opa", 3749193119u, 0, 15, NULL); +be_define_const_str(STYLE_VALUE_BLEND_MODE, "STYLE_VALUE_BLEND_MODE", 930238626u, 0, 22, NULL); +be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_LABEL_ALIGN_RIGHT); +be_define_const_str(LABEL_ALIGN_RIGHT, "LABEL_ALIGN_RIGHT", 3127457722u, 0, 17, &be_const_str_montserrat_font); +be_define_const_str(montserrat_font, "montserrat_font", 1819065874u, 0, 15, NULL); +be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, NULL); +be_define_const_str(get_style_shadow_spread, "get_style_shadow_spread", 1343265468u, 0, 23, NULL); +be_define_const_str(STYLE_SCALE_END_BORDER_WIDTH, "STYLE_SCALE_END_BORDER_WIDTH", 763958239u, 0, 28, &be_const_str_set_transition_prop_2); +be_define_const_str(set_transition_prop_2, "set_transition_prop_2", 2983568488u, 0, 21, NULL); +be_define_const_str(LAYOUT_ROW_MID, "LAYOUT_ROW_MID", 932854697u, 0, 14, &be_const_str_set_mode); +be_define_const_str(set_mode, "set_mode", 4109106455u, 0, 8, &be_const_str_transform); +be_define_const_str(transform, "transform", 3786248987u, 0, 9, NULL); +be_define_const_str(ALIGN_OUT_RIGHT_BOTTOM, "ALIGN_OUT_RIGHT_BOTTOM", 3786852942u, 0, 22, &be_const_str_set_cell_type); +be_define_const_str(set_cell_type, "set_cell_type", 1502464221u, 0, 13, NULL); +be_define_const_str(ALIGN_OUT_BOTTOM_LEFT, "ALIGN_OUT_BOTTOM_LEFT", 1302083659u, 0, 21, &be_const_str_OBJ_PART_MAIN); +be_define_const_str(OBJ_PART_MAIN, "OBJ_PART_MAIN", 658062838u, 0, 13, &be_const_str_allocated); +be_define_const_str(allocated, "allocated", 429986098u, 0, 9, NULL); +be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_SYMBOL_UPLOAD); +be_define_const_str(SYMBOL_UPLOAD, "SYMBOL_UPLOAD", 3293679647u, 0, 13, &be_const_str_get_needle_img_pivot_x); +be_define_const_str(get_needle_img_pivot_x, "get_needle_img_pivot_x", 1521736283u, 0, 22, &be_const_str_set_design_cb); +be_define_const_str(set_design_cb, "set_design_cb", 1469311634u, 0, 13, NULL); +be_define_const_str(TXT_CMD_STATE_WAIT, "TXT_CMD_STATE_WAIT", 1721068338u, 0, 18, &be_const_str_get_checkable); +be_define_const_str(get_checkable, "get_checkable", 2811548136u, 0, 13, NULL); +be_define_const_str(SPINNER_TYPE_FILLSPIN_ARC, "SPINNER_TYPE_FILLSPIN_ARC", 2324275006u, 0, 25, &be_const_str_lv_tileview); +be_define_const_str(lv_tileview, "lv_tileview", 2419887973u, 0, 11, &be_const_str_set_digit_format); +be_define_const_str(set_digit_format, "set_digit_format", 293274625u, 0, 16, &be_const_str_set_showed_date); +be_define_const_str(set_showed_date, "set_showed_date", 158767501u, 0, 15, NULL); +be_define_const_str(STYLE_IMAGE_OPA, "STYLE_IMAGE_OPA", 1064316425u, 0, 15, &be_const_str_set_style_local_transition_prop_4); +be_define_const_str(set_style_local_transition_prop_4, "set_style_local_transition_prop_4", 2501649248u, 0, 33, NULL); +be_define_const_str(ALIGN_OUT_LEFT_BOTTOM, "ALIGN_OUT_LEFT_BOTTOM", 1578004935u, 0, 21, &be_const_str_SYMBOL_RIGHT); +be_define_const_str(SYMBOL_RIGHT, "SYMBOL_RIGHT", 2984010648u, 0, 12, &be_const_str_get_height_grid); +be_define_const_str(get_height_grid, "get_height_grid", 1178822580u, 0, 15, NULL); +be_define_const_str(get_prev_btn, "get_prev_btn", 4150536586u, 0, 12, &be_const_str_get_style_shadow_opa); +be_define_const_str(get_style_shadow_opa, "get_style_shadow_opa", 2392646767u, 0, 20, NULL); +be_define_const_str(DISP_SIZE_SMALL, "DISP_SIZE_SMALL", 722343095u, 0, 15, &be_const_str_EVENT_LONG_PRESSED_REPEAT); +be_define_const_str(EVENT_LONG_PRESSED_REPEAT, "EVENT_LONG_PRESSED_REPEAT", 1734201539u, 0, 25, &be_const_str_FS_RES_FULL); +be_define_const_str(FS_RES_FULL, "FS_RES_FULL", 3987964025u, 0, 11, &be_const_str_STYLE_VALUE_ALIGN); +be_define_const_str(STYLE_VALUE_ALIGN, "STYLE_VALUE_ALIGN", 3531731246u, 0, 17, &be_const_str_digital_write); +be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, &be_const_str_get_placeholder_text); +be_define_const_str(get_placeholder_text, "get_placeholder_text", 1148345333u, 0, 20, NULL); +be_define_const_str(invalidate, "invalidate", 2649734928u, 0, 10, NULL); +be_define_const_str(SYMBOL_CUT, "SYMBOL_CUT", 3455112394u, 0, 10, &be_const_str_get_angle_end); +be_define_const_str(get_angle_end, "get_angle_end", 2420725825u, 0, 13, NULL); +be_define_const_str(on, "on", 1630810064u, 0, 2, &be_const_str_pow); +be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL); +be_define_const_str(is_inactive, "is_inactive", 2737113619u, 0, 11, &be_const_str_set_cursor_blink_time); +be_define_const_str(set_cursor_blink_time, "set_cursor_blink_time", 3508000825u, 0, 21, &be_const_str_set_style_local_shadow_width); +be_define_const_str(set_style_local_shadow_width, "set_style_local_shadow_width", 2466053617u, 0, 28, &be_const_str_set_symbol); +be_define_const_str(set_symbol, "set_symbol", 2254998928u, 0, 10, NULL); +be_define_const_str(YELLOW, "YELLOW", 2964049737u, 0, 6, &be_const_str_get_style_value_ofs_y); +be_define_const_str(get_style_value_ofs_y, "get_style_value_ofs_y", 4000868142u, 0, 21, NULL); +be_define_const_str(set_top, "set_top", 1234335895u, 0, 7, NULL); +be_define_const_str(STYLE_OUTLINE_BLEND_MODE, "STYLE_OUTLINE_BLEND_MODE", 3861262655u, 0, 24, &be_const_str_get_style_pad_left); +be_define_const_str(get_style_pad_left, "get_style_pad_left", 2843013833u, 0, 18, NULL); +be_define_const_str(ANIM_OFF, "ANIM_OFF", 3664307970u, 0, 8, NULL); +be_define_const_str(set_bg_grad_dir, "set_bg_grad_dir", 1390928996u, 0, 15, NULL); +be_define_const_str(OPA_60, "OPA_60", 2008896492u, 0, 6, &be_const_str_SYMBOL_DOWN); +be_define_const_str(SYMBOL_DOWN, "SYMBOL_DOWN", 1107513570u, 0, 11, NULL); +be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, NULL); +be_define_const_str(OBJ_PART_ALL, "OBJ_PART_ALL", 3502425074u, 0, 12, &be_const_str_align_y); +be_define_const_str(align_y, "align_y", 3718435550u, 0, 7, NULL); +be_define_const_str(set_y_invert, "set_y_invert", 4003140588u, 0, 12, &be_const_str_false); +be_define_const_str(false, "false", 184981848u, 62, 5, NULL); +be_define_const_str(get_protect, "get_protect", 4241180167u, 0, 11, &be_const_str_set_style_local_bg_blend_mode); +be_define_const_str(set_style_local_bg_blend_mode, "set_style_local_bg_blend_mode", 2691986893u, 0, 29, NULL); +be_define_const_str(BTNMATRIX_CTRL_DISABLED, "BTNMATRIX_CTRL_DISABLED", 2790045315u, 0, 23, &be_const_str_EVENT_LEAVE); +be_define_const_str(EVENT_LEAVE, "EVENT_LEAVE", 2218217823u, 0, 11, &be_const_str_get_title); +be_define_const_str(get_title, "get_title", 1263271230u, 0, 9, &be_const_str_set_shadow_spread); +be_define_const_str(set_shadow_spread, "set_shadow_spread", 3535503174u, 0, 17, &be_const_str_set_style_local_pattern_recolor); +be_define_const_str(set_style_local_pattern_recolor, "set_style_local_pattern_recolor", 2810797623u, 0, 31, &be_const_str_set_transform_zoom); +be_define_const_str(set_transform_zoom, "set_transform_zoom", 140970906u, 0, 18, NULL); +be_define_const_str(lv_style, "lv_style", 4151611549u, 0, 8, NULL); +be_define_const_str(DROPDOWN_PART_LIST, "DROPDOWN_PART_LIST", 2923479101u, 0, 18, &be_const_str_attrdump); +be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_set_style_local_text_sel_bg_color); +be_define_const_str(set_style_local_text_sel_bg_color, "set_style_local_text_sel_bg_color", 501411296u, 0, 33, NULL); +be_define_const_str(LABEL_LONG_EXPAND, "LABEL_LONG_EXPAND", 2357238585u, 0, 17, &be_const_str_cos); +be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_get_from_btn); +be_define_const_str(get_from_btn, "get_from_btn", 2802016263u, 0, 12, NULL); +be_define_const_str(get_style_outline_width, "get_style_outline_width", 1118345503u, 0, 23, NULL); +be_define_const_str(fade_in, "fade_in", 3410278043u, 0, 7, NULL); +be_define_const_str(get_file_name, "get_file_name", 3239886120u, 0, 13, &be_const_str_set_knob_colored); +be_define_const_str(set_knob_colored, "set_knob_colored", 2285165409u, 0, 16, NULL); +be_define_const_str(get_cell_type, "get_cell_type", 3348412009u, 0, 13, &be_const_str_lv_roller); +be_define_const_str(lv_roller, "lv_roller", 661902064u, 0, 9, &be_const_str_set_style_local_value_align); +be_define_const_str(set_style_local_value_align, "set_style_local_value_align", 17354185u, 0, 27, NULL); +be_define_const_str(TXT_FLAG_CENTER, "TXT_FLAG_CENTER", 1125425546u, 0, 15, NULL); +be_define_const_str(SYMBOL_EYE_CLOSE, "SYMBOL_EYE_CLOSE", 404721792u, 0, 16, &be_const_str_get_anim_speed); +be_define_const_str(get_anim_speed, "get_anim_speed", 1731518217u, 0, 14, NULL); +be_define_const_str(SYMBOL_IMAGE, "SYMBOL_IMAGE", 815601151u, 0, 12, &be_const_str_set_focus_cb); +be_define_const_str(set_focus_cb, "set_focus_cb", 4094066116u, 0, 12, &be_const_str_set_transition_prop_4); +be_define_const_str(set_transition_prop_4, "set_transition_prop_4", 3084234202u, 0, 21, NULL); +be_define_const_str(SPINNER_DIR_FORWARD, "SPINNER_DIR_FORWARD", 660203948u, 0, 19, &be_const_str_get_scroll_propagation); +be_define_const_str(get_scroll_propagation, "get_scroll_propagation", 431556896u, 0, 22, &be_const_str_get_style_transition_prop_2); +be_define_const_str(get_style_transition_prop_2, "get_style_transition_prop_2", 3421169246u, 0, 27, &be_const_str_lv_calendar); +be_define_const_str(lv_calendar, "lv_calendar", 3284396894u, 0, 11, &be_const_str_set_style_local_scale_end_line_width); +be_define_const_str(set_style_local_scale_end_line_width, "set_style_local_scale_end_line_width", 2316920258u, 0, 36, NULL); +be_define_const_str(EVENT_LONG_PRESSED, "EVENT_LONG_PRESSED", 1806426939u, 0, 18, NULL); +be_define_const_str(SPI_CLK, "SPI_CLK", 3943233814u, 0, 7, &be_const_str_get_style_pad_bottom); +be_define_const_str(get_style_pad_bottom, "get_style_pad_bottom", 1749510283u, 0, 20, &be_const_str_get_user_data); +be_define_const_str(get_user_data, "get_user_data", 1175796436u, 0, 13, NULL); +be_define_const_str(DROPDOWN_DIR_UP, "DROPDOWN_DIR_UP", 2415359156u, 0, 15, &be_const_str_focus_btn); +be_define_const_str(focus_btn, "focus_btn", 1087954772u, 0, 9, &be_const_str_list_copy); +be_define_const_str(list_copy, "list_copy", 680267399u, 0, 9, NULL); +be_define_const_str(KEYBOARD_MODE_SPECIAL, "KEYBOARD_MODE_SPECIAL", 968590554u, 0, 21, &be_const_str_STYLE_BORDER_BLEND_MODE); +be_define_const_str(STYLE_BORDER_BLEND_MODE, "STYLE_BORDER_BLEND_MODE", 3752388357u, 0, 23, &be_const_str_STYLE_OPA_SCALE); +be_define_const_str(STYLE_OPA_SCALE, "STYLE_OPA_SCALE", 4014485970u, 0, 15, NULL); +be_define_const_str(set_style_local_outline_blend_mode, "set_style_local_outline_blend_mode", 3321200446u, 0, 34, &be_const_str_set_style_local_scale_end_color); +be_define_const_str(set_style_local_scale_end_color, "set_style_local_scale_end_color", 2968375966u, 0, 31, NULL); +be_define_const_str(set_shadow_ofs_x, "set_shadow_ofs_x", 3069980414u, 0, 16, &be_const_str_set_style_local_transition_prop_2); +be_define_const_str(set_style_local_transition_prop_2, "set_style_local_transition_prop_2", 2602314962u, 0, 33, NULL); +be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &be_const_str_get_editing); +be_define_const_str(get_editing, "get_editing", 281870028u, 0, 11, NULL); +be_define_const_str(TXT_CMD_STATE_IN, "TXT_CMD_STATE_IN", 2162626840u, 0, 16, &be_const_str_get_adv_hittest); +be_define_const_str(get_adv_hittest, "get_adv_hittest", 1985963887u, 0, 15, &be_const_str_get_style_scale_end_color); +be_define_const_str(get_style_scale_end_color, "get_style_scale_end_color", 142275754u, 0, 25, NULL); +be_define_const_str(STYLE_BORDER_OPA, "STYLE_BORDER_OPA", 2705633552u, 0, 16, &be_const_str_get_size); +be_define_const_str(get_size, "get_size", 2803644713u, 0, 8, NULL); +be_define_const_str(ALIGN_OUT_RIGHT_TOP, "ALIGN_OUT_RIGHT_TOP", 1142849712u, 0, 19, NULL); +be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, &be_const_str_get_header_height); +be_define_const_str(get_header_height, "get_header_height", 3313773581u, 0, 17, &be_const_str_set_scrollable_fit); +be_define_const_str(set_scrollable_fit, "set_scrollable_fit", 4068661613u, 0, 18, NULL); +be_define_const_str(text_is_selected, "text_is_selected", 3422750433u, 0, 16, NULL); +be_define_const_str(get_selected_str, "get_selected_str", 1743823997u, 0, 16, NULL); +be_define_const_str(get_style_pattern_image, "get_style_pattern_image", 2402970102u, 0, 23, NULL); +be_define_const_str(align_mid_y, "align_mid_y", 1664201395u, 0, 11, &be_const_str_draw_polygon); +be_define_const_str(draw_polygon, "draw_polygon", 271325674u, 0, 12, NULL); +be_define_const_str(BAR_TYPE_NORMAL, "BAR_TYPE_NORMAL", 3652519691u, 0, 15, &be_const_str_KEYBOARD_MODE_TEXT_UPPER); +be_define_const_str(KEYBOARD_MODE_TEXT_UPPER, "KEYBOARD_MODE_TEXT_UPPER", 2335009259u, 0, 24, &be_const_str_LAYOUT_PRETTY_TOP); +be_define_const_str(LAYOUT_PRETTY_TOP, "LAYOUT_PRETTY_TOP", 725519108u, 0, 17, &be_const_str_get_width_fit); +be_define_const_str(get_width_fit, "get_width_fit", 416240192u, 0, 13, &be_const_str_set_drag_throw); +be_define_const_str(set_drag_throw, "set_drag_throw", 2511679421u, 0, 14, NULL); +be_define_const_str(SYMBOL_KEYBOARD, "SYMBOL_KEYBOARD", 1621492879u, 0, 15, NULL); +be_define_const_str(set_palette, "set_palette", 4093380483u, 0, 11, NULL); +be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_set_height_fit); +be_define_const_str(set_height_fit, "set_height_fit", 4033083607u, 0, 14, &be_const_str_set_text_line_space); +be_define_const_str(set_text_line_space, "set_text_line_space", 3186151063u, 0, 19, NULL); +be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, NULL); +be_define_const_str(TEXTAREA_CURSOR_LAST, "TEXTAREA_CURSOR_LAST", 1393995267u, 0, 20, &be_const_str_set_line_width); +be_define_const_str(set_line_width, "set_line_width", 908110269u, 0, 14, NULL); +be_define_const_str(RFSEND, "RFSEND", 1862630731u, 0, 6, &be_const_str_get_point_id); +be_define_const_str(get_point_id, "get_point_id", 2837084878u, 0, 12, NULL); +be_define_const_str(get_style_clip_corner, "get_style_clip_corner", 352453368u, 0, 21, &be_const_str_set_value_color); +be_define_const_str(set_value_color, "set_value_color", 2148821625u, 0, 15, NULL); +be_define_const_str(TXT_FLAG_FIT, "TXT_FLAG_FIT", 3174579022u, 0, 12, &be_const_str_focus); +be_define_const_str(focus, "focus", 337658899u, 0, 5, &be_const_str_set_border_post); +be_define_const_str(set_border_post, "set_border_post", 2318575153u, 0, 15, &be_const_str_set_outline_pad); +be_define_const_str(set_outline_pad, "set_outline_pad", 2845869448u, 0, 15, &be_const_str_set_recolor); +be_define_const_str(set_recolor, "set_recolor", 2750390248u, 0, 11, &be_const_str_set_style_local_margin_right); +be_define_const_str(set_style_local_margin_right, "set_style_local_margin_right", 2606287945u, 0, 28, NULL); +be_define_const_str(STYLE_LINE_COLOR, "STYLE_LINE_COLOR", 623603885u, 0, 16, NULL); +be_define_const_str(BAR_TYPE_SYMMETRICAL, "BAR_TYPE_SYMMETRICAL", 1357819710u, 0, 20, &be_const_str_print); +be_define_const_str(print, "print", 372738696u, 0, 5, &be_const_str_set_style_local_scale_grad_color); +be_define_const_str(set_style_local_scale_grad_color, "set_style_local_scale_grad_color", 1682685285u, 0, 32, NULL); +be_define_const_str(DISP_ROT_NONE, "DISP_ROT_NONE", 1805190226u, 0, 13, &be_const_str_set_needle_count); +be_define_const_str(set_needle_count, "set_needle_count", 2611099555u, 0, 16, NULL); +be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, NULL); +be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_lv_bar); +be_define_const_str(lv_bar, "lv_bar", 1582673229u, 0, 6, &be_const_str_set_chg_rate); +be_define_const_str(set_chg_rate, "set_chg_rate", 1522157679u, 0, 12, NULL); +be_define_const_str(TXT_FLAG_RIGHT, "TXT_FLAG_RIGHT", 3664649251u, 0, 14, NULL); +be_define_const_str(OPA_100, "OPA_100", 3698564393u, 0, 7, &be_const_str_lv_cpicker); +be_define_const_str(lv_cpicker, "lv_cpicker", 1935129251u, 0, 10, &be_const_str_set_border_color); +be_define_const_str(set_border_color, "set_border_color", 2628124814u, 0, 16, &be_const_str_set_cursor_point); +be_define_const_str(set_cursor_point, "set_cursor_point", 4201331267u, 0, 16, NULL); +be_define_const_str(STYLE_SHADOW_OPA, "STYLE_SHADOW_OPA", 3011667646u, 0, 16, NULL); +be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_SYMBOL_SHUFFLE); +be_define_const_str(SYMBOL_SHUFFLE, "SYMBOL_SHUFFLE", 1123310147u, 0, 14, NULL); +be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, &be_const_str_ROLLER_MODE_INFINITE); +be_define_const_str(ROLLER_MODE_INFINITE, "ROLLER_MODE_INFINITE", 288931678u, 0, 20, NULL); +be_define_const_str(BTN_STATE_CHECKED_DISABLED, "BTN_STATE_CHECKED_DISABLED", 1537172432u, 0, 26, &be_const_str_STYLE_TRANSITION_PROP_3); +be_define_const_str(STYLE_TRANSITION_PROP_3, "STYLE_TRANSITION_PROP_3", 962719262u, 0, 23, NULL); +be_define_const_str(LAYOUT_COLUMN_RIGHT, "LAYOUT_COLUMN_RIGHT", 912913083u, 0, 19, NULL); +be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, &be_const_str_DISP_ROT_180); +be_define_const_str(DISP_ROT_180, "DISP_ROT_180", 1300448899u, 0, 12, &be_const_str_set_text_fmt); +be_define_const_str(set_text_fmt, "set_text_fmt", 699875119u, 0, 12, NULL); +be_define_const_str(get_style_margin_right, "get_style_margin_right", 2672767757u, 0, 22, NULL); +be_define_const_str(GESTURE_DIR_RIGHT, "GESTURE_DIR_RIGHT", 3761728861u, 0, 17, &be_const_str_STYLE_LINE_DASH_GAP); +be_define_const_str(STYLE_LINE_DASH_GAP, "STYLE_LINE_DASH_GAP", 1823312065u, 0, 19, &be_const_str_get_max_height); +be_define_const_str(get_max_height, "get_max_height", 3803847844u, 0, 14, NULL); +be_define_const_str(OPA_20, "OPA_20", 4289961128u, 0, 6, &be_const_str_OPA_80); +be_define_const_str(OPA_80, "OPA_80", 4221864914u, 0, 6, &be_const_str_codedump); +be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, &be_const_str_deg); +be_define_const_str(deg, "deg", 3327754271u, 0, 3, &be_const_str_get); +be_define_const_str(get, "get", 1410115415u, 0, 3, NULL); +be_define_const_str(SYMBOL_EDIT, "SYMBOL_EDIT", 1396182822u, 0, 11, &be_const_str_TEMPL_STYLE_Y); +be_define_const_str(TEMPL_STYLE_Y, "TEMPL_STYLE_Y", 1997423835u, 0, 13, &be_const_str_set_day_names); +be_define_const_str(set_day_names, "set_day_names", 1217780097u, 0, 13, NULL); +be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, NULL); +be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, &be_const_str_clear_protect); +be_define_const_str(clear_protect, "clear_protect", 2408863094u, 0, 13, NULL); +be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, &be_const_str_lv_font); +be_define_const_str(lv_font, "lv_font", 1550958453u, 0, 7, &be_const_str_set_secondary_y_tick_length); +be_define_const_str(set_secondary_y_tick_length, "set_secondary_y_tick_length", 4022147583u, 0, 27, &be_const_str_set_size); +be_define_const_str(set_size, "set_size", 2183165325u, 0, 8, &be_const_str_set_style_local_size); +be_define_const_str(set_style_local_size, "set_style_local_size", 1442450187u, 0, 20, NULL); +be_define_const_str(SYMBOL_VOLUME_MAX, "SYMBOL_VOLUME_MAX", 3582646093u, 0, 17, &be_const_str_get_style_pattern_recolor); +be_define_const_str(get_style_pattern_recolor, "get_style_pattern_recolor", 1808910091u, 0, 25, &be_const_str_is_visible); +be_define_const_str(is_visible, "is_visible", 597904624u, 0, 10, &be_const_str_set_transition_time); +be_define_const_str(set_transition_time, "set_transition_time", 887720041u, 0, 19, NULL); +be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, &be_const_str_NAVY); +be_define_const_str(NAVY, "NAVY", 1719816465u, 0, 4, &be_const_str_get_style_line_dash_gap); +be_define_const_str(get_style_line_dash_gap, "get_style_line_dash_gap", 1205629734u, 0, 23, NULL); +be_define_const_str(LINEMETER_PART_MAIN, "LINEMETER_PART_MAIN", 1524851464u, 0, 19, &be_const_str_fade_out); +be_define_const_str(fade_out, "fade_out", 215415112u, 0, 8, &be_const_str_imax); +be_define_const_str(imax, "imax", 3084515410u, 0, 4, &be_const_str_set_style_local_pattern_blend_mode); +be_define_const_str(set_style_local_pattern_blend_mode, "set_style_local_pattern_blend_mode", 3861434146u, 0, 34, NULL); +be_define_const_str(SYMBOL_OK, "SYMBOL_OK", 4033162940u, 0, 9, &be_const_str_WHITE); +be_define_const_str(WHITE, "WHITE", 2856149510u, 0, 5, &be_const_str_set_pattern_blend_mode); +be_define_const_str(set_pattern_blend_mode, "set_pattern_blend_mode", 4267769432u, 0, 22, &be_const_str_set_y); +be_define_const_str(set_y, "set_y", 1866178391u, 0, 5, NULL); +be_define_const_str(LIST_PART_EDGE_FLASH, "LIST_PART_EDGE_FLASH", 549302352u, 0, 20, &be_const_str_TELEINFO_ENABLE); +be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, &be_const_str_set_style_local_pad_inner); +be_define_const_str(set_style_local_pad_inner, "set_style_local_pad_inner", 3980353812u, 0, 25, NULL); +be_define_const_str(EVENT_DRAG_END, "EVENT_DRAG_END", 3617672228u, 0, 14, NULL); +be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, &be_const_str_OPTION_A); +be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_pop); +be_define_const_str(pop, "pop", 1362321360u, 0, 3, &be_const_str_set_style_local_outline_width); +be_define_const_str(set_style_local_outline_width, "set_style_local_outline_width", 3081743955u, 0, 29, NULL); +be_define_const_str(set_style_local_border_post, "set_style_local_border_post", 4148896231u, 0, 27, NULL); +be_define_const_str(set_state, "set_state", 905808233u, 0, 9, NULL); +be_define_const_str(KEY_ENTER, "KEY_ENTER", 2614103337u, 0, 9, &be_const_str_OBJ_PART_VIRTUAL_FIRST); +be_define_const_str(OBJ_PART_VIRTUAL_FIRST, "OBJ_PART_VIRTUAL_FIRST", 1744058739u, 0, 22, &be_const_str_SCROLLBAR_MODE_DRAG); +be_define_const_str(SCROLLBAR_MODE_DRAG, "SCROLLBAR_MODE_DRAG", 2145885996u, 0, 19, &be_const_str_STYLE_VALUE_FONT); +be_define_const_str(STYLE_VALUE_FONT, "STYLE_VALUE_FONT", 1861540608u, 0, 16, &be_const_str_WEBCAM_PCLK); +be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, &be_const_str_scroll_hor); +be_define_const_str(scroll_hor, "scroll_hor", 4153158354u, 0, 10, NULL); +be_define_const_str(KEY_DOWN, "KEY_DOWN", 2353719865u, 0, 8, NULL); +be_define_const_str(get_highlighted_dates_num, "get_highlighted_dates_num", 82319360u, 0, 25, &be_const_str_set_max_length); +be_define_const_str(set_max_length, "set_max_length", 2269400999u, 0, 14, NULL); +be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_RC522_CS); +be_define_const_str(RC522_CS, "RC522_CS", 2639619996u, 0, 8, &be_const_str_STYLE_IMAGE_BLEND_MODE); +be_define_const_str(STYLE_IMAGE_BLEND_MODE, "STYLE_IMAGE_BLEND_MODE", 3457971258u, 0, 22, NULL); +be_define_const_str(step_next, "step_next", 3163156801u, 0, 9, NULL); +be_define_const_str(refresh_ext_draw_pad, "refresh_ext_draw_pad", 3485714697u, 0, 20, &be_const_str_set_zoom); +be_define_const_str(set_zoom, "set_zoom", 1925134407u, 0, 8, NULL); +be_define_const_str(get_drag_parent, "get_drag_parent", 1546081183u, 0, 15, &be_const_str_set_style_local_line_blend_mode); +be_define_const_str(set_style_local_line_blend_mode, "set_style_local_line_blend_mode", 2166063994u, 0, 31, NULL); +be_define_const_str(CALENDAR_PART_HEADER, "CALENDAR_PART_HEADER", 1199188911u, 0, 20, &be_const_str_TM1637CLK); +be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, &be_const_str_get_tab_count); +be_define_const_str(get_tab_count, "get_tab_count", 218245863u, 0, 13, &be_const_str_lv_tabview); +be_define_const_str(lv_tabview, "lv_tabview", 2109024786u, 0, 10, NULL); +be_define_const_str(del_async, "del_async", 2148432385u, 0, 9, &be_const_str_get_focus_cb); +be_define_const_str(get_focus_cb, "get_focus_cb", 3115584616u, 0, 12, NULL); +be_define_const_str(STYLE_SHADOW_OFS_X, "STYLE_SHADOW_OFS_X", 2707391813u, 0, 18, &be_const_str_get_accepted_chars); +be_define_const_str(get_accepted_chars, "get_accepted_chars", 2210030087u, 0, 18, &be_const_str_lv_color); +be_define_const_str(lv_color, "lv_color", 1419148319u, 0, 8, NULL); +be_define_const_str(remove_prop, "remove_prop", 4280941095u, 0, 11, NULL); +be_define_const_str(set_style_local_pad_left, "set_style_local_pad_left", 279437461u, 0, 24, NULL); +be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, &be_const_str_clear_series); +be_define_const_str(clear_series, "clear_series", 3353669054u, 0, 12, NULL); +be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, &be_const_str_set_pad_top); +be_define_const_str(set_pad_top, "set_pad_top", 193376421u, 0, 11, &be_const_str_set_style_local_pattern_opa); +be_define_const_str(set_style_local_pattern_opa, "set_style_local_pattern_opa", 3467015361u, 0, 27, NULL); +be_define_const_str(get_point_count, "get_point_count", 617480290u, 0, 15, &be_const_str_set_border_blend_mode); +be_define_const_str(set_border_blend_mode, "set_border_blend_mode", 882247636u, 0, 21, NULL); +be_define_const_str(get_ver_res, "get_ver_res", 4160557208u, 0, 11, NULL); +be_define_const_str(LABEL_LONG_SROLL_CIRC, "LABEL_LONG_SROLL_CIRC", 179427009u, 0, 21, NULL); +be_define_const_str(FIT_PARENT, "FIT_PARENT", 3852740121u, 0, 10, &be_const_str_add_btn); +be_define_const_str(add_btn, "add_btn", 1053483819u, 0, 7, &be_const_str_init); +be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_set_auto_fit); +be_define_const_str(set_auto_fit, "set_auto_fit", 1407948747u, 0, 12, NULL); +be_define_const_str(set_line_rounded, "set_line_rounded", 1057786792u, 0, 16, NULL); +be_define_const_str(GAUGE_PART_MAIN, "GAUGE_PART_MAIN", 3145322556u, 0, 15, &be_const_str_IBEACON_TX); +be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str_NEOPOOL_TX); +be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, &be_const_str_get_value); +be_define_const_str(get_value, "get_value", 3844420137u, 0, 9, NULL); +be_define_const_str(opt_add, "+", 772578730u, 0, 1, &be_const_str_del_anim_ready_cb); +be_define_const_str(del_anim_ready_cb, "del_anim_ready_cb", 1276516666u, 0, 17, &be_const_str_get_align); +be_define_const_str(get_align, "get_align", 1275859045u, 0, 9, &be_const_str_set_long_mode); +be_define_const_str(set_long_mode, "set_long_mode", 1177453792u, 0, 13, NULL); +be_define_const_str(ALIGN_OUT_RIGHT_MID, "ALIGN_OUT_RIGHT_MID", 2298501353u, 0, 19, &be_const_str_get_style_pad_inner); +be_define_const_str(get_style_pad_inner, "get_style_pad_inner", 213811544u, 0, 19, &be_const_str_get_tab); +be_define_const_str(get_tab, "get_tab", 2415176615u, 0, 7, NULL); +be_define_const_str(get_needle_img_pivot_y, "get_needle_img_pivot_y", 1504958664u, 0, 22, NULL); +be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str_get_style_margin_top); +be_define_const_str(get_style_margin_top, "get_style_margin_top", 2201799028u, 0, 20, NULL); +be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, NULL); +be_define_const_str(lv_win, "lv_win", 780927558u, 0, 6, &be_const_str_set_update_mode); +be_define_const_str(set_update_mode, "set_update_mode", 2089081509u, 0, 15, NULL); +be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_DROPDOWN_PART_SCROLLBAR); +be_define_const_str(DROPDOWN_PART_SCROLLBAR, "DROPDOWN_PART_SCROLLBAR", 699787861u, 0, 23, &be_const_str_set_tab_act); +be_define_const_str(set_tab_act, "set_tab_act", 2505737680u, 0, 11, NULL); +be_define_const_str(STATE_EDITED, "STATE_EDITED", 46966454u, 0, 12, &be_const_str_SYMBOL_EYE_OPEN); +be_define_const_str(SYMBOL_EYE_OPEN, "SYMBOL_EYE_OPEN", 3449311676u, 0, 15, &be_const_str_calldepth); +be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str_clean); +be_define_const_str(clean, "clean", 1349386046u, 0, 5, NULL); +be_define_const_str(BTNMATRIX_CTRL_CLICK_TRIG, "BTNMATRIX_CTRL_CLICK_TRIG", 2305639872u, 0, 25, &be_const_str_ins_text); +be_define_const_str(ins_text, "ins_text", 2467863999u, 0, 8, NULL); +be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_ROT1B); +be_define_const_str(ROT1B, "ROT1B", 809932573u, 0, 5, &be_const_str_get_angle_start); +be_define_const_str(get_angle_start, "get_angle_start", 99415936u, 0, 15, &be_const_str_lv_table); +be_define_const_str(lv_table, "lv_table", 1675691020u, 0, 8, &be_const_str_set_click); +be_define_const_str(set_click, "set_click", 2550101068u, 0, 9, NULL); +be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, &be_const_str_pin_mode); +be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, &be_const_str_set_pwd_show_time); +be_define_const_str(set_pwd_show_time, "set_pwd_show_time", 2699027795u, 0, 17, NULL); +be_define_const_str(STYLE_BORDER_POST, "STYLE_BORDER_POST", 1815444696u, 0, 17, &be_const_str_SYMBOL_WARNING); +be_define_const_str(SYMBOL_WARNING, "SYMBOL_WARNING", 4119913686u, 0, 14, &be_const_str_draw_text); +be_define_const_str(draw_text, "draw_text", 25865715u, 0, 9, &be_const_str_get_child_back); +be_define_const_str(get_child_back, "get_child_back", 3815628204u, 0, 14, &be_const_str_lv_imgbtn); +be_define_const_str(lv_imgbtn, "lv_imgbtn", 2402844429u, 0, 9, NULL); +be_define_const_str(DISP_ROT_270, "DISP_ROT_270", 3187294969u, 0, 12, NULL); +be_define_const_str(set_bg_angles, "set_bg_angles", 2873640992u, 0, 13, NULL); +be_define_const_str(set_arc_length, "set_arc_length", 2972977809u, 0, 14, NULL); +be_define_const_str(focus_obj, "focus_obj", 1075574617u, 0, 9, &be_const_str_get_angle); +be_define_const_str(get_angle, "get_angle", 1113203995u, 0, 9, NULL); +be_define_const_str(KEY_NEXT, "KEY_NEXT", 4124880692u, 0, 8, NULL); +be_define_const_str(set_style_local_shadow_color, "set_style_local_shadow_color", 2778451758u, 0, 28, NULL); +be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, &be_const_str_STYLE_SHADOW_SPREAD); +be_define_const_str(STYLE_SHADOW_SPREAD, "STYLE_SHADOW_SPREAD", 3685821355u, 0, 19, &be_const_str_cursor_down); +be_define_const_str(cursor_down, "cursor_down", 657234748u, 0, 11, &be_const_str_get_row_cnt); +be_define_const_str(get_row_cnt, "get_row_cnt", 541121788u, 0, 11, NULL); +be_define_const_str(set_angles, "set_angles", 895400084u, 0, 10, &be_const_str_set_style_local_value_color); +be_define_const_str(set_style_local_value_color, "set_style_local_value_color", 2695342403u, 0, 27, NULL); +be_define_const_str(OPA_30, "OPA_30", 95806641u, 0, 6, &be_const_str_OPA_50); +be_define_const_str(OPA_50, "OPA_50", 163902855u, 0, 6, &be_const_str_OPA_90); +be_define_const_str(OPA_90, "OPA_90", 27710427u, 0, 6, &be_const_str_OUTPUT_HI); +be_define_const_str(OUTPUT_HI, "OUTPUT_HI", 3153592902u, 0, 9, &be_const_str_get_max_length); +be_define_const_str(get_max_length, "get_max_length", 13029699u, 0, 14, NULL); +be_define_const_str(get_x_from_index, "get_x_from_index", 2843960746u, 0, 16, NULL); +be_define_const_str(get_btnmatrix, "get_btnmatrix", 1628630681u, 0, 13, &be_const_str_get_style_margin_left); +be_define_const_str(get_style_margin_left, "get_style_margin_left", 1765248440u, 0, 21, NULL); be_define_const_str(INPUT_PULLUP, "INPUT_PULLUP", 2912931654u, 0, 12, &be_const_str_PULLDOWN); be_define_const_str(PULLDOWN, "PULLDOWN", 1853074086u, 0, 8, NULL); -be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, NULL); -be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, &be_const_str_imin); -be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL); -be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_TFMINIPLUS_TX); -be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, NULL); -be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, &be_const_str_REL1_INV); -be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, &be_const_str_SSD1331_DC); -be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, NULL); -be_define_const_str(RDM6300_RX, "RDM6300_RX", 1522345628u, 0, 10, NULL); -be_define_const_str(real, "real", 3604983901u, 0, 4, NULL); -be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_var); -be_define_const_str(var, "var", 2317739966u, 64, 3, NULL); -be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, &be_const_str_atan); -be_define_const_str(atan, "atan", 108579519u, 0, 4, NULL); -be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, &be_const_str_number); -be_define_const_str(number, "number", 467038368u, 0, 6, NULL); -be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_RFRECV); -be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, &be_const_str_WEBCAM_XCLK); -be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, &be_const_str_list); -be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_resize); -be_define_const_str(resize, "resize", 3514612129u, 0, 6, NULL); -be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, NULL); -be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_dot_p); -be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_SDM630_TX); -be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, NULL); -be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, NULL); -be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_KEY1_TC); -be_define_const_str(KEY1_TC, "KEY1_TC", 25685109u, 0, 7, &be_const_str_TASMOTACLIENT_RST); -be_define_const_str(TASMOTACLIENT_RST, "TASMOTACLIENT_RST", 3326196213u, 0, 17, NULL); -be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_KEY1_NP); -be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, NULL); -be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, &be_const_str_BOILER_OT_TX); -be_define_const_str(BOILER_OT_TX, "BOILER_OT_TX", 671743623u, 0, 12, &be_const_str_SI7021); -be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, NULL); -be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, NULL); -be_define_const_str(ILI9488_CS, "ILI9488_CS", 2363112073u, 0, 10, &be_const_str_SSPI_MOSI); -be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, NULL); -be_define_const_str(NRF24_CS, "NRF24_CS", 555833194u, 0, 8, &be_const_str_SSD1351_CS); -be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, NULL); -be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, &be_const_str_RFSEND); -be_define_const_str(RFSEND, "RFSEND", 1862630731u, 0, 6, &be_const_str_RISING); -be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, NULL); -be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, NULL); -be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, NULL); -be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_DDS2382_RX); -be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 0, 10, &be_const_str_DI); -be_define_const_str(DI, "DI", 1070498734u, 0, 2, &be_const_str_WEBCAM_PWDN); -be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, NULL); -be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, &be_const_str_sinh); -be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL); -be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, &be_const_str_tanh); -be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); -be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, &be_const_str_ZEROCROSS); -be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, NULL); -be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_codedump); -be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, NULL); -be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, NULL); -be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_continue); -be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL); -be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, &be_const_str_reverse); -be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); -be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, &be_const_str_HPMA_RX); -be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_WEBCAM_VSYNC); -be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, NULL); -be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, &be_const_str_DDS2382_TX); -be_define_const_str(DDS2382_TX, "DDS2382_TX", 1438117864u, 0, 10, &be_const_str_WEBCAM_HREF); -be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, &be_const_str_false); -be_define_const_str(false, "false", 184981848u, 62, 5, NULL); -be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &be_const_str_LED1_INV); -be_define_const_str(LED1_INV, "LED1_INV", 2112045097u, 0, 8, &be_const_str_MHZ_TXD); -be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, &be_const_str_P9813_CLK); -be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, &be_const_str_load); -be_define_const_str(load, "load", 3859241449u, 0, 4, &be_const_str_srand); -be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); -be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, &be_const_str_KEY1_INV_NP); -be_define_const_str(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str_NEOPOOL_RX); -be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, &be_const_str_PZEM004_RX); -be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, NULL); -be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_SWT1_NP); -be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, &be_const_str_abs); -be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_assert); -be_define_const_str(assert, "assert", 2774883451u, 0, 6, NULL); -be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_P9813_DAT); -be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, NULL); -be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str_try); -be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); -be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, &be_const_str_SDS0X1_TX); -be_define_const_str(SDS0X1_TX, "SDS0X1_TX", 165045983u, 0, 9, NULL); -be_define_const_str(log10, "log10", 2346846000u, 0, 5, &be_const_str_pop); -be_define_const_str(pop, "pop", 1362321360u, 0, 3, NULL); -be_define_const_str(LED1, "LED1", 21005825u, 0, 4, &be_const_str_TM1638STB); -be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, NULL); -be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_SDM72_RX); -be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, NULL); -be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_pin); -be_define_const_str(pin, "pin", 1866532500u, 0, 3, NULL); -be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, NULL); -be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, &be_const_str_item); -be_define_const_str(item, "item", 2671260646u, 0, 4, NULL); -be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, NULL); -be_define_const_str(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_exp); -be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_rad); -be_define_const_str(rad, "rad", 1358899048u, 0, 3, &be_const_str_setrange); -be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); -be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, &be_const_str_SDS0X1_RX); -be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str_TCP_TX); -be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, NULL); -be_define_const_str(A4988_ENA, "A4988_ENA", 1517502682u, 0, 9, &be_const_str_hex); -be_define_const_str(hex, "hex", 4273249610u, 0, 3, NULL); -be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, &be_const_str_SM2135_CLK); -be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, &be_const_str_input); -be_define_const_str(input, "input", 4191711099u, 0, 5, NULL); -be_define_const_str(top, "top", 2802900028u, 0, 3, &be_const_str_def); -be_define_const_str(def, "def", 3310976652u, 55, 3, NULL); -be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, &be_const_str_CHANGE); -be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_floor); -be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_keys); -be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_sin); -be_define_const_str(sin, "sin", 3761252941u, 0, 3, &be_const_str_traceback); -be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, &be_const_str_as); -be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); -be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, &be_const_str_ZIGBEE_RX); -be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, NULL); -be_define_const_str(acos, "acos", 1006755615u, 0, 4, NULL); -be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_else); -be_define_const_str(else, "else", 3183434736u, 52, 4, &be_const_str_for); -be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); -be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL); -be_define_const_str(pi, "pi", 1213090802u, 0, 2, &be_const_str_range); -be_define_const_str(range, "range", 4208725202u, 0, 5, NULL); -be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, &be_const_str_SM16716_SEL); -be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, NULL); -be_define_const_str(count, "count", 967958004u, 0, 5, &be_const_str_do); -be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); -be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_TASMOTACLIENT_RST_INV); -be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, &be_const_str_tostring); -be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); -be_define_const_str(DSB, "DSB", 98073254u, 0, 3, NULL); -be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_get); -be_define_const_str(get, "get", 1410115415u, 0, 3, &be_const_str_upper); -be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); -be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, &be_const_str_IEM3000_RX); -be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_toupper); -be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, NULL); -be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, NULL); -be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, &be_const_str_PWM1); -be_define_const_str(PWM1, "PWM1", 1353352426u, 0, 4, &be_const_str_ST7789_CS); -be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 0, 9, &be_const_str_find); -be_define_const_str(find, "find", 3186656602u, 0, 4, &be_const_str_end); -be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); -be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, &be_const_str_SSPI_CS); -be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, NULL); -be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, NULL); -be_define_const_str(char, "char", 2823553821u, 0, 4, NULL); -be_define_const_str(ADC_BUTTON_INV, "ADC_BUTTON_INV", 2027625326u, 0, 14, NULL); -be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, &be_const_str_REL1); -be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, &be_const_str_SPI_DC); -be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 0, 6, NULL); -be_define_const_str(MAX31855DO, "MAX31855DO", 552730368u, 0, 10, NULL); -be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, &be_const_str_log); -be_define_const_str(log, "log", 1062293841u, 0, 3, NULL); -be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); -be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, &be_const_str_pin_used); -be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, &be_const_str_setitem); -be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, &be_const_str_import); -be_define_const_str(import, "import", 288002260u, 66, 6, NULL); -be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, NULL); -be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_OUTPUT_HI); -be_define_const_str(OUTPUT_HI, "OUTPUT_HI", 3153592902u, 0, 9, NULL); -be_define_const_str(OUTPUT_LO, "OUTPUT_LO", 3724620328u, 0, 9, &be_const_str_ROT1B_NP); -be_define_const_str(ROT1B_NP, "ROT1B_NP", 3710079736u, 0, 8, &be_const_str_attrdump); -be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_print); -be_define_const_str(print, "print", 372738696u, 0, 5, &be_const_str_tan); -be_define_const_str(tan, "tan", 2633446552u, 0, 3, NULL); -be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, NULL); -be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, &be_const_str_size); -be_define_const_str(size, "size", 597743964u, 0, 4, &be_const_str_nil); -be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); -be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_type); -be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); -be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_compile); -be_define_const_str(compile, "compile", 1000265118u, 0, 7, &be_const_str_while); -be_define_const_str(while, "while", 231090382u, 53, 5, NULL); -be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 0, 7, &be_const_str_SDM120_TX); -be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_TXD); -be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, &be_const_str_WIEGAND_D0); -be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, &be_const_str_class); -be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); -be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, &be_const_str_MIEL_HVAC_RX); -be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, NULL); -be_define_const_str(collect, "collect", 2399039025u, 0, 7, NULL); -be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, &be_const_str_ADC_PH); -be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, &be_const_str_DEEPSLEEP); -be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_HM10_RX); -be_define_const_str(HM10_RX, "HM10_RX", 515085922u, 0, 7, &be_const_str_XPT2046_CS); -be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, NULL); -be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, NULL); -be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, NULL); -be_define_const_str(CSE7766_TX, "CSE7766_TX", 674624821u, 0, 10, &be_const_str_LMT01); -be_define_const_str(LMT01, "LMT01", 2490623797u, 0, 5, &be_const_str_SDM630_RX); -be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, &be_const_str_ZIGBEE_RST); -be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, NULL); -be_define_const_str(SPI_CLK, "SPI_CLK", 3943233814u, 0, 7, &be_const_str_asin); -be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_if); -be_define_const_str(if, "if", 959999494u, 50, 2, NULL); -be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, &be_const_str_IBEACON_RX); -be_define_const_str(IBEACON_RX, "IBEACON_RX", 2466155575u, 0, 10, &be_const_str_iter); -be_define_const_str(iter, "iter", 3124256359u, 0, 4, NULL); -be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, &be_const_str_SR04_ECHO); -be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, &be_const_str_ceil); -be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, NULL); -be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_MAX7219DIN); -be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, &be_const_str_SBR_RX); -be_define_const_str(SBR_RX, "SBR_RX", 3350999801u, 0, 6, &be_const_str_open); -be_define_const_str(open, "open", 3546203337u, 0, 4, NULL); -be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, NULL); -be_define_const_str(HX711_SCK, "HX711_SCK", 3785979404u, 0, 9, &be_const_str_NEOPOOL_TX); -be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, &be_const_str_TELEINFO_RX); -be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, &be_const_str_WINDMETER_SPEED); -be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, &be_const_str_cosh); -be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, NULL); -be_define_const_str(ROT1B, "ROT1B", 809932573u, 0, 5, NULL); -be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, &be_const_str_SM16716_DAT); -be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, NULL); -be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, &be_const_str_MCP39F5_TX); -be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, &be_const_str_SAIR_TX); -be_define_const_str(SAIR_TX, "SAIR_TX", 268017311u, 0, 7, &be_const_str_SR04_TRIG); -be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, NULL); -be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, &be_const_str_WEBCAM_PSCLK); -be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, &be_const_str_digital_read); -be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, &be_const_str_except); -be_define_const_str(except, "except", 950914032u, 69, 6, NULL); -be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_IBEACON_TX); -be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str_NRF24_DC); -be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, NULL); -be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, NULL); -be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_WE517_RX); -be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, NULL); -be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, &be_const_str_WEBCAM_HSD); -be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, &be_const_str_insert); -be_define_const_str(insert, "insert", 3332609576u, 0, 6, NULL); -be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, &be_const_str_TUYA_TX); -be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, NULL); -be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, &be_const_str_I2C_SCL); -be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, NULL); -be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, NULL); -be_define_const_str(classname, "classname", 1998589948u, 0, 9, &be_const_str_cos); -be_define_const_str(cos, "cos", 4220379804u, 0, 3, NULL); -be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_NRG_SEL_INV); -be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, &be_const_str_SHELLY_DIMMER_RST_INV); -be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, &be_const_str_module); -be_define_const_str(module, "module", 3617558685u, 0, 6, NULL); -be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, &be_const_str_IEM3000_TX); -be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, NULL); -be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, &be_const_str_deg); -be_define_const_str(deg, "deg", 3327754271u, 0, 3, &be_const_str_return); -be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); -be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); -be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, &be_const_str_ST7789_DC); -be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, NULL); -be_define_const_str(clear, "clear", 1550717474u, 0, 5, &be_const_str_imax); -be_define_const_str(imax, "imax", 3084515410u, 0, 4, NULL); -be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, &be_const_str_SPI_CS); -be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, NULL); -be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, &be_const_str_SSPI_MISO); -be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, &be_const_str_true); -be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); -be_define_const_str(MIEL_HVAC_TX, "MIEL_HVAC_TX", 567403014u, 0, 12, NULL); -be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, NULL); -be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, NULL); -be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, &be_const_str_WEBCAM_SIOD); -be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, NULL); -be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, NULL); -be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, NULL); -be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, &be_const_str_NRG_SEL); -be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, &be_const_str_push); -be_define_const_str(push, "push", 2272264157u, 0, 4, NULL); -be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_FTC532); -be_define_const_str(FTC532, "FTC532", 3182343438u, 0, 6, &be_const_str_GPS_RX); -be_define_const_str(GPS_RX, "GPS_RX", 1075637342u, 0, 6, &be_const_str_HLW_CF); -be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, NULL); -be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, &be_const_str_issubclass); -be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); -be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, &be_const_str_ILI9341_DC); -be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, &be_const_str_TX2X_TXD_BLACK); -be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, &be_const_str_WEBCAM_PSRCS); -be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, NULL); -be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_LOW); -be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, &be_const_str_MP3_DFR562); -be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_map); -be_define_const_str(map, "map", 3751997361u, 0, 3, NULL); -be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_format); -be_define_const_str(format, "format", 3114108242u, 0, 6, NULL); -be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, &be_const_str_CSE7766_RX); -be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, &be_const_str_ILI9341_CS); -be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, NULL); -be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str_SSPI_MAX31865_CS1); -be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, NULL); -be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, NULL); -be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_I2C_SDA); -be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, &be_const_str_PZEM017_RX); -be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, &be_const_str_rand); -be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL); -be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, &be_const_str_TM1637CLK); -be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, NULL); -be_define_const_str(opt_add, "+", 772578730u, 0, 1, &be_const_str_lower); -be_define_const_str(lower, "lower", 3038577850u, 0, 5, NULL); -be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, NULL); -be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_RC522_CS); -be_define_const_str(RC522_CS, "RC522_CS", 2639619996u, 0, 8, NULL); -be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, &be_const_str_HIGH); -be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, &be_const_str_LEDLNK); -be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, &be_const_str_concat); -be_define_const_str(concat, "concat", 4124019837u, 0, 6, NULL); -be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_SOLAXX1_RX); -be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, &be_const_str_TM1638DIO); -be_define_const_str(TM1638DIO, "TM1638DIO", 1408212414u, 0, 9, &be_const_str_pin_mode); -be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, NULL); -be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str_ELECTRIQ_MOODL_TX); -be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_SBR_TX); -be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_byte); -be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_sqrt); -be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL); -be_define_const_str(OPEN_DRAIN, "OPEN_DRAIN", 677872608u, 0, 10, &be_const_str_WEBCAM_RESET); -be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, &be_const_str_asstring); -be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, NULL); -be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, NULL); -be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, NULL); -be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, &be_const_str_PULLUP); -be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, &be_const_str_init); -be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_split); +be_define_const_str(BORDER_SIDE_BOTTOM, "BORDER_SIDE_BOTTOM", 1006865647u, 0, 18, &be_const_str_get_width_margin); +be_define_const_str(get_width_margin, "get_width_margin", 872387359u, 0, 16, NULL); +be_define_const_str(FS_RES_UNKNOWN, "FS_RES_UNKNOWN", 352331702u, 0, 14, NULL); +be_define_const_str(KEY_PREV, "KEY_PREV", 3127352148u, 0, 8, &be_const_str_set_style_local_line_width); +be_define_const_str(set_style_local_line_width, "set_style_local_line_width", 1133761671u, 0, 26, NULL); +be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_SDCARD_CS); +be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, &be_const_str_abs); +be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_get_style_line_rounded); +be_define_const_str(get_style_line_rounded, "get_style_line_rounded", 2936625238u, 0, 22, &be_const_str_set_hsv); +be_define_const_str(set_hsv, "set_hsv", 545841289u, 0, 7, NULL); +be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_KEY_BACKSPACE); +be_define_const_str(KEY_BACKSPACE, "KEY_BACKSPACE", 269443424u, 0, 13, NULL); +be_define_const_str(fill_bg, "fill_bg", 1581152214u, 0, 7, &be_const_str_split); be_define_const_str(split, "split", 2276994531u, 0, 5, NULL); -be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, &be_const_str_MAX7219CS); -be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, &be_const_str_TASMOTACLIENT_TXD); -be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, &be_const_str_add); -be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_super); -be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); -be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL); -be_define_const_str(BACKLIGHT, "BACKLIGHT", 3147761926u, 0, 9, &be_const_str_HRXL_RX); -be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_MAX7219CLK); -be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str___lower__); -be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, NULL); -be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, &be_const_str_KEY1); -be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, &be_const_str_PZEM016_RX); -be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, &be_const_str_dump); -be_define_const_str(dump, "dump", 3663001223u, 0, 4, NULL); -be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_FALLING); -be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, &be_const_str_fromstring); -be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_break); -be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); -be_define_const_str(MCP39F5_RX, "MCP39F5_RX", 190458217u, 0, 10, NULL); -be_define_const_str(INPUT, "INPUT", 1638025307u, 0, 5, &be_const_str_digital_write); -be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, NULL); -be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL); +be_define_const_str(set_tile_act, "set_tile_act", 1400046115u, 0, 12, NULL); +be_define_const_str(SYMBOL_CHARGE, "SYMBOL_CHARGE", 2106391946u, 0, 13, &be_const_str_set_parent_event); +be_define_const_str(set_parent_event, "set_parent_event", 49610579u, 0, 16, NULL); +be_define_const_str(get_antialias, "get_antialias", 220729812u, 0, 13, &be_const_str_get_line_count); +be_define_const_str(get_line_count, "get_line_count", 4160991390u, 0, 14, NULL); +be_define_const_str(set_height_margin, "set_height_margin", 3083248294u, 0, 17, NULL); +be_define_const_str(EVENT_APPLY, "EVENT_APPLY", 1983056372u, 0, 11, &be_const_str_SYMBOL_SAVE); +be_define_const_str(SYMBOL_SAVE, "SYMBOL_SAVE", 2439821015u, 0, 11, &be_const_str_get_zoom); +be_define_const_str(get_zoom, "get_zoom", 2259829907u, 0, 8, &be_const_str_set_x_tick_texts); +be_define_const_str(set_x_tick_texts, "set_x_tick_texts", 481792535u, 0, 16, NULL); +be_define_const_str(get_auto_realign, "get_auto_realign", 4029512850u, 0, 16, &be_const_str_pin); +be_define_const_str(pin, "pin", 1866532500u, 0, 3, &be_const_str_set_margin_bottom); +be_define_const_str(set_margin_bottom, "set_margin_bottom", 1238288976u, 0, 17, NULL); +be_define_const_str(glue_obj, "glue_obj", 1757706238u, 0, 8, &be_const_str_set_style_local_outline_opa); +be_define_const_str(set_style_local_outline_opa, "set_style_local_outline_opa", 1280559349u, 0, 27, NULL); +be_define_const_str(ALIGN_OUT_TOP_RIGHT, "ALIGN_OUT_TOP_RIGHT", 1193969648u, 0, 19, &be_const_str_KEYBOARD_PART_BTN); +be_define_const_str(KEYBOARD_PART_BTN, "KEYBOARD_PART_BTN", 875459207u, 0, 17, &be_const_str_add_state); +be_define_const_str(add_state, "add_state", 934613858u, 0, 9, &be_const_str_get_sb_mode); +be_define_const_str(get_sb_mode, "get_sb_mode", 2283093353u, 0, 11, &be_const_str_lv_gauge); +be_define_const_str(lv_gauge, "lv_gauge", 118613531u, 0, 8, NULL); +be_define_const_str(BORDER_SIDE_FULL, "BORDER_SIDE_FULL", 703648713u, 0, 16, &be_const_str_get_style_transition_prop_1); +be_define_const_str(get_style_transition_prop_1, "get_style_transition_prop_1", 3404391627u, 0, 27, NULL); +be_define_const_str(set_ext_array, "set_ext_array", 3579382093u, 0, 13, NULL); +be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, &be_const_str_FS_RES_OK); +be_define_const_str(FS_RES_OK, "FS_RES_OK", 223294622u, 0, 9, &be_const_str_digital_read); +be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, NULL); +be_define_const_str(lv_canvas, "lv_canvas", 142865412u, 0, 9, NULL); +be_define_const_str(find, "find", 3186656602u, 0, 4, &be_const_str_set_scrl_layout); +be_define_const_str(set_scrl_layout, "set_scrl_layout", 2051800603u, 0, 15, NULL); +be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, NULL); +be_define_const_str(DROPDOWN_DIR_DOWN, "DROPDOWN_DIR_DOWN", 214322625u, 0, 17, &be_const_str_set_style_local_transition_prop_1); +be_define_const_str(set_style_local_transition_prop_1, "set_style_local_transition_prop_1", 2585537343u, 0, 33, NULL); +be_define_const_str(SYMBOL_COPY, "SYMBOL_COPY", 4193681815u, 0, 11, &be_const_str_get_critical_value); +be_define_const_str(get_critical_value, "get_critical_value", 4180625515u, 0, 18, NULL); +be_define_const_str(get_scrl_layout, "get_scrl_layout", 2842797719u, 0, 15, NULL); +be_define_const_str(ARC_PART_BG, "ARC_PART_BG", 3149008005u, 0, 11, &be_const_str_GESTURE_DIR_TOP); +be_define_const_str(GESTURE_DIR_TOP, "GESTURE_DIR_TOP", 84881028u, 0, 15, NULL); +be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, &be_const_str_get_px); +be_define_const_str(get_px, "get_px", 1651889344u, 0, 6, NULL); +be_define_const_str(GAUGE_PART_NEEDLE, "GAUGE_PART_NEEDLE", 154997366u, 0, 17, &be_const_str_PROTECT_PRESS_LOST); +be_define_const_str(PROTECT_PRESS_LOST, "PROTECT_PRESS_LOST", 2967498203u, 0, 18, &be_const_str_get_left_value); +be_define_const_str(get_left_value, "get_left_value", 1136489099u, 0, 14, &be_const_str_get_next_btn); +be_define_const_str(get_next_btn, "get_next_btn", 1221160406u, 0, 12, &be_const_str_set_style_local_value_blend_mode); +be_define_const_str(set_style_local_value_blend_mode, "set_style_local_value_blend_mode", 1178211587u, 0, 32, &be_const_str_set_text_sel_start); +be_define_const_str(set_text_sel_start, "set_text_sel_start", 886455347u, 0, 18, &be_const_str_set_width_margin); +be_define_const_str(set_width_margin, "set_width_margin", 2313657923u, 0, 16, &be_const_str_srand); +be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); +be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, NULL); +be_define_const_str(get_drag_throw, "get_drag_throw", 2409838001u, 0, 14, &be_const_str_set_line_dash_width); +be_define_const_str(set_line_dash_width, "set_line_dash_width", 347528132u, 0, 19, &be_const_str_set_textarea); +be_define_const_str(set_textarea, "set_textarea", 1978833518u, 0, 12, NULL); +be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 0, 7, &be_const_str_upper); +be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); +be_define_const_str(get_cell_align, "get_cell_align", 2284605658u, 0, 14, &be_const_str_get_scrl_fit_bottom); +be_define_const_str(get_scrl_fit_bottom, "get_scrl_fit_bottom", 446102398u, 0, 19, &be_const_str_get_style_image_recolor); +be_define_const_str(get_style_image_recolor, "get_style_image_recolor", 2369811232u, 0, 23, &be_const_str_set_scroll_propagation); +be_define_const_str(set_scroll_propagation, "set_scroll_propagation", 2960260372u, 0, 22, NULL); +be_define_const_str(align_mid_x, "align_mid_x", 1647423776u, 0, 11, NULL); +be_define_const_str(get_label, "get_label", 3416266470u, 0, 9, NULL); +be_define_const_str(DROPDOWN_DIR_LEFT, "DROPDOWN_DIR_LEFT", 3057408860u, 0, 17, &be_const_str_ceil); +be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, &be_const_str_set_scrl_height); +be_define_const_str(set_scrl_height, "set_scrl_height", 3462735686u, 0, 15, NULL); +be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, &be_const_str_MAX31855CLK); +be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, &be_const_str_SSD1351_CS); +be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, &be_const_str_STYLE_BG_COLOR); +be_define_const_str(STYLE_BG_COLOR, "STYLE_BG_COLOR", 2207533444u, 0, 14, NULL); +be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_set_margin_left); +be_define_const_str(set_margin_left, "set_margin_left", 4194347462u, 0, 15, NULL); +be_define_const_str(add_tab, "add_tab", 1821901608u, 0, 7, &be_const_str_get_style_text_opa); +be_define_const_str(get_style_text_opa, "get_style_text_opa", 2378295432u, 0, 18, &be_const_str_set_bg_color); +be_define_const_str(set_bg_color, "set_bg_color", 3381646455u, 0, 12, &be_const_str_set_style_local_pattern_recolor_opa); +be_define_const_str(set_style_local_pattern_recolor_opa, "set_style_local_pattern_recolor_opa", 2215956762u, 0, 35, NULL); +be_define_const_str(OBJMASK_PART_MAIN, "OBJMASK_PART_MAIN", 1960600366u, 0, 17, &be_const_str_set_text_color); +be_define_const_str(set_text_color, "set_text_color", 2780604091u, 0, 14, NULL); +be_define_const_str(SYMBOL_PAUSE, "SYMBOL_PAUSE", 641998172u, 0, 12, &be_const_str_remove_all_objs); +be_define_const_str(remove_all_objs, "remove_all_objs", 2136122696u, 0, 15, &be_const_str_scroll_ver); +be_define_const_str(scroll_ver, "scroll_ver", 3241545950u, 0, 10, &be_const_str_set_pwd_mode); +be_define_const_str(set_pwd_mode, "set_pwd_mode", 1333849907u, 0, 12, NULL); +be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, &be_const_str_get_src); +be_define_const_str(get_src, "get_src", 403557294u, 0, 7, NULL); +be_define_const_str(CHART_CURSOR_NONE, "CHART_CURSOR_NONE", 2955624997u, 0, 17, &be_const_str_set_style_local_shadow_spread); +be_define_const_str(set_style_local_shadow_spread, "set_style_local_shadow_spread", 850759600u, 0, 29, NULL); +be_define_const_str(set_one_line, "set_one_line", 3397406135u, 0, 12, &be_const_str_setitem); +be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, NULL); +be_define_const_str(set_btn_width, "set_btn_width", 2736013227u, 0, 13, NULL); +be_define_const_str(DI, "DI", 1070498734u, 0, 2, &be_const_str_GPS_TX); +be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, &be_const_str_copy_buf); +be_define_const_str(copy_buf, "copy_buf", 2209552774u, 0, 8, &be_const_str_is_dragged); +be_define_const_str(is_dragged, "is_dragged", 1443807988u, 0, 10, NULL); +be_define_const_str(get_style_pattern_recolor_opa, "get_style_pattern_recolor_opa", 1906150798u, 0, 29, &be_const_str_lv_objmask); +be_define_const_str(lv_objmask, "lv_objmask", 1311221665u, 0, 10, &be_const_str_set_gesture_parent); +be_define_const_str(set_gesture_parent, "set_gesture_parent", 3726242272u, 0, 18, NULL); +be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, NULL); +be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_get_scrl_fit_left); +be_define_const_str(get_scrl_fit_left, "get_scrl_fit_left", 1227937692u, 0, 17, NULL); +be_define_const_str(CHART_PART_SERIES, "CHART_PART_SERIES", 3401824459u, 0, 17, NULL); +be_define_const_str(STYLE_PAD_TOP, "STYLE_PAD_TOP", 2731711064u, 0, 13, &be_const_str_set_editing); +be_define_const_str(set_editing, "set_editing", 1742905400u, 0, 11, &be_const_str_set_y_tick_length); +be_define_const_str(set_y_tick_length, "set_y_tick_length", 1194305306u, 0, 17, NULL); +be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); +be_define_const_str(set_image_opa, "set_image_opa", 517268068u, 0, 13, &be_const_str_set_style_local_bg_grad_color); +be_define_const_str(set_style_local_bg_grad_color, "set_style_local_bg_grad_color", 3774593842u, 0, 29, NULL); +be_define_const_str(get_btn_ctrl, "get_btn_ctrl", 370184444u, 0, 12, &be_const_str_get_col_cnt); +be_define_const_str(get_col_cnt, "get_col_cnt", 2182323590u, 0, 11, &be_const_str_set_wrap); +be_define_const_str(set_wrap, "set_wrap", 776352320u, 0, 8, NULL); +be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, &be_const_str_STATE_FOCUSED); +be_define_const_str(STATE_FOCUSED, "STATE_FOCUSED", 3780463572u, 0, 13, &be_const_str_SYMBOL_POWER); +be_define_const_str(SYMBOL_POWER, "SYMBOL_POWER", 1125993627u, 0, 12, NULL); +be_define_const_str(set_pattern_recolor, "set_pattern_recolor", 3136030237u, 0, 19, NULL); +be_define_const_str(SLIDER_TYPE_NORMAL, "SLIDER_TYPE_NORMAL", 613555481u, 0, 18, &be_const_str_SYMBOL_USB); +be_define_const_str(SYMBOL_USB, "SYMBOL_USB", 1962656552u, 0, 10, NULL); +be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, NULL); +be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, &be_const_str_ZIGBEE_TX); +be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, NULL); +be_define_const_str(clear, "clear", 1550717474u, 0, 5, NULL); +be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_def); +be_define_const_str(def, "def", 3310976652u, 55, 3, NULL); +be_define_const_str(TEMPL_STYLE_X, "TEMPL_STYLE_X", 1980646216u, 0, 13, &be_const_str_clear_selection); +be_define_const_str(clear_selection, "clear_selection", 4157132227u, 0, 15, &be_const_str_get_style_value_opa); +be_define_const_str(get_style_value_opa, "get_style_value_opa", 1671026074u, 0, 19, NULL); +be_define_const_str(set_scale_end_color, "set_scale_end_color", 355018320u, 0, 19, &be_const_str_set_step); +be_define_const_str(set_step, "set_step", 2114390790u, 0, 8, NULL); +be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, &be_const_str_set_style_local_transform_height); +be_define_const_str(set_style_local_transform_height, "set_style_local_transform_height", 2823225328u, 0, 32, NULL); +be_define_const_str(SYMBOL_BATTERY_EMPTY, "SYMBOL_BATTERY_EMPTY", 3945064277u, 0, 20, NULL); +be_define_const_str(STATE_CHECKED, "STATE_CHECKED", 136056964u, 0, 13, &be_const_str_set_line_dash_gap); +be_define_const_str(set_line_dash_gap, "set_line_dash_gap", 3499494412u, 0, 17, NULL); +be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, &be_const_str_set_style_local_image_blend_mode); +be_define_const_str(set_style_local_image_blend_mode, "set_style_local_image_blend_mode", 1792244615u, 0, 32, NULL); +be_define_const_str(ALIGN_IN_TOP_LEFT, "ALIGN_IN_TOP_LEFT", 1231214604u, 0, 17, &be_const_str_handle_get_type_signal); +be_define_const_str(handle_get_type_signal, "handle_get_type_signal", 3735097350u, 0, 22, &be_const_str_set_style_local_value_opa); +be_define_const_str(set_style_local_value_opa, "set_style_local_value_opa", 3003874062u, 0, 25, &be_const_str_set_x); +be_define_const_str(set_x, "set_x", 1849400772u, 0, 5, NULL); +be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, NULL); +be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, &be_const_str_EVENT_SHORT_CLICKED); +be_define_const_str(EVENT_SHORT_CLICKED, "EVENT_SHORT_CLICKED", 2804944112u, 0, 19, &be_const_str_LAYOUT_PRETTY_MID); +be_define_const_str(LAYOUT_PRETTY_MID, "LAYOUT_PRETTY_MID", 2040633917u, 0, 17, &be_const_str_set_padding_left); +be_define_const_str(set_padding_left, "set_padding_left", 1230478487u, 0, 16, NULL); +be_define_const_str(set_show_selected, "set_show_selected", 1276300495u, 0, 17, NULL); +be_define_const_str(GRAY, "GRAY", 4159498394u, 0, 4, &be_const_str_PROTECT_CHILD_CHG); +be_define_const_str(PROTECT_CHILD_CHG, "PROTECT_CHILD_CHG", 998079554u, 0, 17, &be_const_str_set_highlighted_dates); +be_define_const_str(set_highlighted_dates, "set_highlighted_dates", 344528435u, 0, 21, &be_const_str_start); +be_define_const_str(start, "start", 1697318111u, 0, 5, NULL); +be_define_const_str(STYLE_TRANSITION_TIME, "STYLE_TRANSITION_TIME", 3058729752u, 0, 21, &be_const_str_get_style_shadow_ofs_y); +be_define_const_str(get_style_shadow_ofs_y, "get_style_shadow_ofs_y", 2337159315u, 0, 22, &be_const_str_set_placeholder_text); +be_define_const_str(set_placeholder_text, "set_placeholder_text", 1413918705u, 0, 20, NULL); +be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, &be_const_str_iter); +be_define_const_str(iter, "iter", 3124256359u, 0, 4, NULL); +be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, &be_const_str_add_obj); +be_define_const_str(add_obj, "add_obj", 3846256134u, 0, 7, &be_const_str_get_style_value_line_space); +be_define_const_str(get_style_value_line_space, "get_style_value_line_space", 592322595u, 0, 26, NULL); +be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, NULL); +be_define_const_str(ALIGN_IN_BOTTOM_RIGHT, "ALIGN_IN_BOTTOM_RIGHT", 1575436355u, 0, 21, &be_const_str_FS_RES_BUSY); +be_define_const_str(FS_RES_BUSY, "FS_RES_BUSY", 3847519313u, 0, 11, &be_const_str_set_options); +be_define_const_str(set_options, "set_options", 2975436170u, 0, 11, NULL); +be_define_const_str(BTN_STATE_PRESSED, "BTN_STATE_PRESSED", 1194269292u, 0, 17, &be_const_str_GRAD_DIR_VER); +be_define_const_str(GRAD_DIR_VER, "GRAD_DIR_VER", 1112540859u, 0, 12, &be_const_str_get_style_margin_bottom); +be_define_const_str(get_style_margin_bottom, "get_style_margin_bottom", 2589475122u, 0, 23, NULL); +be_define_const_str(DRAG_DIR_HOR, "DRAG_DIR_HOR", 1213227361u, 0, 12, &be_const_str_TM1638CLK); be_define_const_str(TM1638CLK, "TM1638CLK", 3045182446u, 0, 9, NULL); -be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, &be_const_str_TFMINIPLUS_RX); -be_define_const_str(TFMINIPLUS_RX, "TFMINIPLUS_RX", 1522203935u, 0, 13, &be_const_str_TUYA_RX); -be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, NULL); +be_define_const_str(BTNMATRIX_CTRL_CHECKABLE, "BTNMATRIX_CTRL_CHECKABLE", 2892484613u, 0, 24, NULL); +be_define_const_str(CHART_AXIS_SECONDARY_Y, "CHART_AXIS_SECONDARY_Y", 755580820u, 0, 22, &be_const_str_add_char); +be_define_const_str(add_char, "add_char", 2276421097u, 0, 8, NULL); +be_define_const_str(LABEL_ALIGN_LEFT, "LABEL_ALIGN_LEFT", 49345529u, 0, 16, &be_const_str_STYLE_VALUE_LETTER_SPACE); +be_define_const_str(STYLE_VALUE_LETTER_SPACE, "STYLE_VALUE_LETTER_SPACE", 2129682704u, 0, 24, &be_const_str_get_coords); +be_define_const_str(get_coords, "get_coords", 1044089006u, 0, 10, &be_const_str_is_point_on_coords); +be_define_const_str(is_point_on_coords, "is_point_on_coords", 2479052471u, 0, 18, NULL); +be_define_const_str(OPEN_DRAIN, "OPEN_DRAIN", 677872608u, 0, 10, &be_const_str_OUTPUT_OPEN_DRAIN); +be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_STYLE_SHADOW_OFS_Y); +be_define_const_str(STYLE_SHADOW_OFS_Y, "STYLE_SHADOW_OFS_Y", 2690614194u, 0, 18, NULL); +be_define_const_str(OPA_0, "OPA_0", 3351018670u, 0, 5, &be_const_str_RFRECV); +be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, &be_const_str_ROT1B_NP); +be_define_const_str(ROT1B_NP, "ROT1B_NP", 3710079736u, 0, 8, &be_const_str_STATE_HOVERED); +be_define_const_str(STATE_HOVERED, "STATE_HOVERED", 1864667050u, 0, 13, NULL); +be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, &be_const_str_SWT1_NP); +be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, NULL); +be_define_const_str(IBEACON_RX, "IBEACON_RX", 2466155575u, 0, 10, &be_const_str_LAYOUT_CENTER); +be_define_const_str(LAYOUT_CENTER, "LAYOUT_CENTER", 1686380473u, 0, 13, NULL); +be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, &be_const_str_SR04_TRIG); +be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, &be_const_str_STYLE_TRANSITION_PROP_6); +be_define_const_str(STYLE_TRANSITION_PROP_6, "STYLE_TRANSITION_PROP_6", 1046607357u, 0, 23, &be_const_str_set_color); +be_define_const_str(set_color, "set_color", 3381219579u, 0, 9, NULL); +be_define_const_str(STYLE_TRANSITION_DELAY, "STYLE_TRANSITION_DELAY", 251340916u, 0, 22, &be_const_str_get_col_width); +be_define_const_str(get_col_width, "get_col_width", 638670073u, 0, 13, NULL); +be_define_const_str(GRAD_DIR_HOR, "GRAD_DIR_HOR", 2383101491u, 0, 12, &be_const_str_LAYOUT_PRETTY_BOTTOM); +be_define_const_str(LAYOUT_PRETTY_BOTTOM, "LAYOUT_PRETTY_BOTTOM", 2090319170u, 0, 20, &be_const_str_SDS0X1_TX); +be_define_const_str(SDS0X1_TX, "SDS0X1_TX", 165045983u, 0, 9, &be_const_str_SPI_MOSI); +be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, &be_const_str_set_scale_end_border_width); +be_define_const_str(set_scale_end_border_width, "set_scale_end_border_width", 3280087724u, 0, 26, &be_const_str_set_text_sel_bg_color); +be_define_const_str(set_text_sel_bg_color, "set_text_sel_bg_color", 3929347886u, 0, 21, NULL); +be_define_const_str(lv_checkbox, "lv_checkbox", 7454841u, 0, 11, NULL); +be_define_const_str(EVENT_DRAG_BEGIN, "EVENT_DRAG_BEGIN", 25766504u, 0, 16, &be_const_str_PURPLE); +be_define_const_str(PURPLE, "PURPLE", 2539335743u, 0, 6, &be_const_str_get_state); +be_define_const_str(get_state, "get_state", 3804504029u, 0, 9, NULL); +be_define_const_str(SYMBOL_TRASH, "SYMBOL_TRASH", 3169100368u, 0, 12, &be_const_str_TABVIEW_TAB_POS_RIGHT); +be_define_const_str(TABVIEW_TAB_POS_RIGHT, "TABVIEW_TAB_POS_RIGHT", 3809644849u, 0, 21, NULL); +be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_set_cell_value); +be_define_const_str(set_cell_value, "set_cell_value", 3982436570u, 0, 14, NULL); +be_define_const_str(SYMBOL_MINUS, "SYMBOL_MINUS", 1806749158u, 0, 12, &be_const_str_get_focused); +be_define_const_str(get_focused, "get_focused", 973974289u, 0, 11, &be_const_str_set_style_local_line_color); +be_define_const_str(set_style_local_line_color, "set_style_local_line_color", 1174390096u, 0, 26, NULL); +be_define_const_str(LAYOUT_COLUMN_MID, "LAYOUT_COLUMN_MID", 669575067u, 0, 17, NULL); +be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, &be_const_str_STYLE_VALUE_COLOR); +be_define_const_str(STYLE_VALUE_COLOR, "STYLE_VALUE_COLOR", 2491635400u, 0, 17, NULL); +be_define_const_str(cut_text, "cut_text", 3023853443u, 0, 8, &be_const_str_get_style_value_str); +be_define_const_str(get_style_value_str, "get_style_value_str", 967747319u, 0, 19, &be_const_str_set_map); +be_define_const_str(set_map, "set_map", 4012856954u, 0, 7, NULL); +be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, &be_const_str_TM1638DIO); +be_define_const_str(TM1638DIO, "TM1638DIO", 1408212414u, 0, 9, &be_const_str_set_anim_speed); +be_define_const_str(set_anim_speed, "set_anim_speed", 3709305189u, 0, 14, NULL); +be_define_const_str(get_scale_angle, "get_scale_angle", 845147062u, 0, 15, NULL); +be_define_const_str(ALIGN_IN_RIGHT_MID, "ALIGN_IN_RIGHT_MID", 1518023108u, 0, 18, &be_const_str_step_prev); +be_define_const_str(step_prev, "step_prev", 2831593421u, 0, 9, NULL); +be_define_const_str(PROTECT_NONE, "PROTECT_NONE", 2861685391u, 0, 12, &be_const_str_decrement); +be_define_const_str(decrement, "decrement", 432748210u, 0, 9, &be_const_str_set_line_opa); +be_define_const_str(set_line_opa, "set_line_opa", 2983219519u, 0, 12, NULL); +be_define_const_str(PROTECT_CLICK_FOCUS, "PROTECT_CLICK_FOCUS", 293740268u, 0, 19, NULL); +be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_STYLE_TEXT_LINE_SPACE); +be_define_const_str(STYLE_TEXT_LINE_SPACE, "STYLE_TEXT_LINE_SPACE", 4185649482u, 0, 21, NULL); +be_define_const_str(CHART_UPDATE_MODE_SHIFT, "CHART_UPDATE_MODE_SHIFT", 1343723110u, 0, 23, &be_const_str_str); +be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); +be_define_const_str(ALIGN_CENTER, "ALIGN_CENTER", 622705366u, 0, 12, &be_const_str_BTNMATRIX_CTRL_HIDDEN); +be_define_const_str(BTNMATRIX_CTRL_HIDDEN, "BTNMATRIX_CTRL_HIDDEN", 2766999187u, 0, 21, &be_const_str_OPA_10); +be_define_const_str(OPA_10, "OPA_10", 1908083683u, 0, 6, &be_const_str_PAGE_EDGE_BOTTOM); +be_define_const_str(PAGE_EDGE_BOTTOM, "PAGE_EDGE_BOTTOM", 3735543556u, 0, 16, &be_const_str_SCROLLBAR_MODE_OFF); +be_define_const_str(SCROLLBAR_MODE_OFF, "SCROLLBAR_MODE_OFF", 3547490383u, 0, 18, &be_const_str_list_get_local_style); +be_define_const_str(list_get_local_style, "list_get_local_style", 2313938368u, 0, 20, NULL); +be_define_const_str(STYLE_VALUE_OPA, "STYLE_VALUE_OPA", 2917777025u, 0, 15, &be_const_str_TABVIEW_TAB_POS_LEFT); +be_define_const_str(TABVIEW_TAB_POS_LEFT, "TABVIEW_TAB_POS_LEFT", 897772772u, 0, 20, &be_const_str_get_style_bg_main_stop); +be_define_const_str(get_style_bg_main_stop, "get_style_bg_main_stop", 3096799724u, 0, 22, &be_const_str_set_cell_value_fmt); +be_define_const_str(set_cell_value_fmt, "set_cell_value_fmt", 355090466u, 0, 18, NULL); +be_define_const_str(PAGE_EDGE_TOP, "PAGE_EDGE_TOP", 869728962u, 0, 13, &be_const_str_set_style_local_clip_corner); +be_define_const_str(set_style_local_clip_corner, "set_style_local_clip_corner", 1588926036u, 0, 27, &be_const_str_toupper); +be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, &be_const_str_for); +be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); +be_define_const_str(CALENDAR_PART_DATE, "CALENDAR_PART_DATE", 1097756842u, 0, 18, NULL); +be_define_const_str(get_color, "get_color", 754086191u, 0, 9, NULL); +be_define_const_str(FS_MODE_WR, "FS_MODE_WR", 2839601832u, 0, 10, &be_const_str_I2C); +be_define_const_str(I2C, "I2C", 4096783347u, 0, 3, &be_const_str_SPINNER_TYPE_SPINNING_ARC); +be_define_const_str(SPINNER_TYPE_SPINNING_ARC, "SPINNER_TYPE_SPINNING_ARC", 3298556409u, 0, 25, &be_const_str_SYMBOL_VOLUME_MID); +be_define_const_str(SYMBOL_VOLUME_MID, "SYMBOL_VOLUME_MID", 158835057u, 0, 17, NULL); +be_define_const_str(add_option, "add_option", 3444380864u, 0, 10, &be_const_str_get_style_shadow_width); +be_define_const_str(get_style_shadow_width, "get_style_shadow_width", 4237112141u, 0, 22, NULL); +be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, &be_const_str_atan); +be_define_const_str(atan, "atan", 108579519u, 0, 4, NULL); +be_define_const_str(EVENT_CLICKED, "EVENT_CLICKED", 243475129u, 0, 13, &be_const_str_OUTPUT_LO); +be_define_const_str(OUTPUT_LO, "OUTPUT_LO", 3724620328u, 0, 9, &be_const_str_move_background); +be_define_const_str(move_background, "move_background", 3375135217u, 0, 15, &be_const_str_set_title); +be_define_const_str(set_title, "set_title", 793032418u, 0, 9, NULL); +be_define_const_str(KEY_LEFT, "KEY_LEFT", 3050288868u, 0, 8, &be_const_str_count); +be_define_const_str(count, "count", 967958004u, 0, 5, &be_const_str_get_scrl_fit_top); +be_define_const_str(get_scrl_fit_top, "get_scrl_fit_top", 3432048672u, 0, 16, NULL); +be_define_const_str(CPICKER_COLOR_MODE_VALUE, "CPICKER_COLOR_MODE_VALUE", 980055508u, 0, 24, NULL); +be_define_const_str(set_style_local_bg_opa, "set_style_local_bg_opa", 1720245992u, 0, 22, NULL); +be_define_const_str(collect, "collect", 2399039025u, 0, 7, &be_const_str_set_shadow_opa); +be_define_const_str(set_shadow_opa, "set_shadow_opa", 1336611849u, 0, 14, NULL); +be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_CSE7761_RX); +be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, NULL); +be_define_const_str(SPINNER_DIR_BACKWARD, "SPINNER_DIR_BACKWARD", 4078587842u, 0, 20, &be_const_str_count_children_recursive); +be_define_const_str(count_children_recursive, "count_children_recursive", 497030885u, 0, 24, NULL); +be_define_const_str(get_content, "get_content", 2390895261u, 0, 11, NULL); +be_define_const_str(SYMBOL_UP, "SYMBOL_UP", 3886401511u, 0, 9, &be_const_str_focus_freeze); +be_define_const_str(focus_freeze, "focus_freeze", 3394722079u, 0, 12, &be_const_str_get_y_from_index); +be_define_const_str(get_y_from_index, "get_y_from_index", 2777682943u, 0, 16, &be_const_str_is_protected); +be_define_const_str(is_protected, "is_protected", 1864002268u, 0, 12, &be_const_str_set_text_align); +be_define_const_str(set_text_align, "set_text_align", 2734674049u, 0, 14, NULL); +be_define_const_str(get_style_opa_scale, "get_style_opa_scale", 568621865u, 0, 19, NULL); +be_define_const_str(set_transition_prop_6, "set_transition_prop_6", 3050678964u, 0, 21, NULL); +be_define_const_str(STYLE_BG_GRAD_STOP, "STYLE_BG_GRAD_STOP", 1591142422u, 0, 18, &be_const_str_assert); +be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_get_ext_draw_pad); +be_define_const_str(get_ext_draw_pad, "get_ext_draw_pad", 3775653652u, 0, 16, &be_const_str_top); +be_define_const_str(top, "top", 2802900028u, 0, 3, NULL); +be_define_const_str(get_dir, "get_dir", 1037382287u, 0, 7, &be_const_str_set_style_local_text_sel_color); +be_define_const_str(set_style_local_text_sel_color, "set_style_local_text_sel_color", 3749375246u, 0, 30, NULL); +be_define_const_str(CHART_CURSOR_UP, "CHART_CURSOR_UP", 2345195814u, 0, 15, NULL); +be_define_const_str(DISP_SIZE_EXTRA_LARGE, "DISP_SIZE_EXTRA_LARGE", 3382996246u, 0, 21, &be_const_str_LIME); +be_define_const_str(LIME, "LIME", 87366652u, 0, 4, NULL); +be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, &be_const_str_STYLE_TRANSFORM_WIDTH); +be_define_const_str(STYLE_TRANSFORM_WIDTH, "STYLE_TRANSFORM_WIDTH", 2096880210u, 0, 21, &be_const_str_TXT_CMD_STATE_PAR); +be_define_const_str(TXT_CMD_STATE_PAR, "TXT_CMD_STATE_PAR", 159232374u, 0, 17, &be_const_str_module); +be_define_const_str(module, "module", 3617558685u, 0, 6, NULL); +be_define_const_str(set_style_local_transform_width, "set_style_local_transform_width", 3850555169u, 0, 31, NULL); +be_define_const_str(char, "char", 2823553821u, 0, 4, NULL); +be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 0, 9, &be_const_str_set_cursor_click_pos); +be_define_const_str(set_cursor_click_pos, "set_cursor_click_pos", 641192476u, 0, 20, NULL); +be_define_const_str(BORDER_SIDE_LEFT, "BORDER_SIDE_LEFT", 1415977349u, 0, 16, NULL); +be_define_const_str(get_hor_res, "get_hor_res", 37131144u, 0, 11, &be_const_str_set_bg_opa); +be_define_const_str(set_bg_opa, "set_bg_opa", 3379539138u, 0, 10, NULL); +be_define_const_str(CHART_CURSOR_RIGHT, "CHART_CURSOR_RIGHT", 2464313335u, 0, 18, &be_const_str_set_style_local_border_side); +be_define_const_str(set_style_local_border_side, "set_style_local_border_side", 2699338750u, 0, 27, NULL); +be_define_const_str(VSPI, "VSPI", 790634249u, 0, 4, &be_const_str_set_text); +be_define_const_str(set_text, "set_text", 1849641155u, 0, 8, NULL); +be_define_const_str(STYLE_OUTLINE_OPA, "STYLE_OUTLINE_OPA", 1357184754u, 0, 17, &be_const_str_set_focused_btn); +be_define_const_str(set_focused_btn, "set_focused_btn", 4211166978u, 0, 15, &be_const_str_set_formatter_cb); +be_define_const_str(set_formatter_cb, "set_formatter_cb", 1245371562u, 0, 16, NULL); +be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, &be_const_str_CHART_TYPE_NONE); +be_define_const_str(CHART_TYPE_NONE, "CHART_TYPE_NONE", 1127256103u, 0, 15, &be_const_str_OBJ_PART_REAL_FIRST); +be_define_const_str(OBJ_PART_REAL_FIRST, "OBJ_PART_REAL_FIRST", 819443818u, 0, 19, NULL); +be_define_const_str(BTN_STATE_DISABLED, "BTN_STATE_DISABLED", 496829054u, 0, 18, &be_const_str_MAX7219CS); +be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, &be_const_str_get_one_check); +be_define_const_str(get_one_check, "get_one_check", 2649478907u, 0, 13, &be_const_str_set_opa_scale); +be_define_const_str(set_opa_scale, "set_opa_scale", 1694654867u, 0, 13, &be_const_str_set_rotation); +be_define_const_str(set_rotation, "set_rotation", 2130936338u, 0, 12, NULL); +be_define_const_str(CHART_PART_CURSOR, "CHART_PART_CURSOR", 2123603184u, 0, 17, &be_const_str_P9813_CLK); +be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, &be_const_str_RISING); +be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, &be_const_str_SDM72_RX); +be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, &be_const_str_align_mid); +be_define_const_str(align_mid, "align_mid", 497514711u, 0, 9, &be_const_str_init_points); +be_define_const_str(init_points, "init_points", 718504203u, 0, 11, NULL); +be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, &be_const_str_LE01MR_TX); +be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, NULL); +be_define_const_str(set_style_local_pattern_repeat, "set_style_local_pattern_repeat", 2930402426u, 0, 30, NULL); +be_define_const_str(SYMBOL_STOP, "SYMBOL_STOP", 2836505202u, 0, 11, &be_const_str_set_text_font); +be_define_const_str(set_text_font, "set_text_font", 724363521u, 0, 13, NULL); +be_define_const_str(EVENT_PRESS_LOST, "EVENT_PRESS_LOST", 3685074190u, 0, 16, &be_const_str_STYLE_SHADOW_WIDTH); +be_define_const_str(STYLE_SHADOW_WIDTH, "STYLE_SHADOW_WIDTH", 629491480u, 0, 18, &be_const_str_tostring); +be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); +be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, &be_const_str_set_cell_crop); +be_define_const_str(set_cell_crop, "set_cell_crop", 1055583431u, 0, 13, &be_const_str_set_point_id); +be_define_const_str(set_point_id, "set_point_id", 388814210u, 0, 12, NULL); static const bstring* const m_string_table[] = { - (const bstring *)&be_const_str_ADC_TEMP, - (const bstring *)&be_const_str_AS3935, - (const bstring *)&be_const_str_PMS5003_RX, - (const bstring *)&be_const_str_RC522_RST, - (const bstring *)&be_const_str_MCP39F5_RST, - (const bstring *)&be_const_str_TELEINFO_ENABLE, - (const bstring *)&be_const_str_INPUT_PULLUP, - (const bstring *)&be_const_str_ADC_RANGE, - (const bstring *)&be_const_str_ZIGBEE_TX, - (const bstring *)&be_const_str_SDM120_RX, - NULL, - (const bstring *)&be_const_str_ARIRFSEL, - (const bstring *)&be_const_str_RDM6300_RX, - (const bstring *)&be_const_str_real, - (const bstring *)&be_const_str_int, - (const bstring *)&be_const_str_HALLEFFECT, - (const bstring *)&be_const_str_AS608_RX, - (const bstring *)&be_const_str_DHT11, - (const bstring *)&be_const_str_isinstance, - (const bstring *)&be_const_str_opt_neq, - (const bstring *)&be_const_str_bytes, - (const bstring *)&be_const_str_CNTR1, - (const bstring *)&be_const_str_AS608_TX, - (const bstring *)&be_const_str_ADC_CT_POWER, - (const bstring *)&be_const_str_deinit, - (const bstring *)&be_const_str_ILI9488_CS, - (const bstring *)&be_const_str_NRF24_CS, - (const bstring *)&be_const_str_EPAPER42_CS, - (const bstring *)&be_const_str_WIEGAND_D1, - (const bstring *)&be_const_str_DYP_RX, - (const bstring *)&be_const_str_ADC_LIGHT, - (const bstring *)&be_const_str_BUZZER_INV, - (const bstring *)&be_const_str_ETH_PHY_MDIO, - (const bstring *)&be_const_str_WE517_TX, - (const bstring *)&be_const_str_classof, - (const bstring *)&be_const_str_AZ_RXD, - (const bstring *)&be_const_str_copy, (const bstring *)&be_const_str_AZ_TXD, - (const bstring *)&be_const_str_CSE7761_TX, - NULL, - (const bstring *)&be_const_str_BS814_CLK, - (const bstring *)&be_const_str_EXS_ENABLE, - (const bstring *)&be_const_str_HX711_DAT, - (const bstring *)&be_const_str_BUZZER, - (const bstring *)&be_const_str_ARIRFRCV, - NULL, - (const bstring *)&be_const_str_calldepth, - (const bstring *)&be_const_str_MAX31855CLK, - (const bstring *)&be_const_str_log10, - (const bstring *)&be_const_str_LED1, - NULL, - (const bstring *)&be_const_str_A4988_DIR, - (const bstring *)&be_const_str_PN532_TXD, - (const bstring *)&be_const_str_TM1637DIO, - (const bstring *)&be_const_str_PWM1_INV, - (const bstring *)&be_const_str_ROT1A_NP, - (const bstring *)&be_const_str_SSD1331_CS, - (const bstring *)&be_const_str_LE01MR_RX, - (const bstring *)&be_const_str_A4988_ENA, - (const bstring *)&be_const_str_BL0940_RX, - (const bstring *)&be_const_str_top, - (const bstring *)&be_const_str_BS814_DAT, - (const bstring *)&be_const_str_SM2135_DAT, - (const bstring *)&be_const_str_acos, - (const bstring *)&be_const_str_OPTION_A, - (const bstring *)&be_const_str_tolower, - (const bstring *)&be_const_str_pi, - (const bstring *)&be_const_str_SDCARD_CS, - (const bstring *)&be_const_str_count, - (const bstring *)&be_const_str_, - (const bstring *)&be_const_str_DSB, - (const bstring *)&be_const_str___iterator__, - (const bstring *)&be_const_str_GPS_TX, - (const bstring *)&be_const_str_WEBCAM_PCLK, - (const bstring *)&be_const_str_PROJECTOR_CTRL_TX, - (const bstring *)&be_const_str_MGC3130_XFER, - (const bstring *)&be_const_str_RA8876_CS, - (const bstring *)&be_const_str_char, - (const bstring *)&be_const_str_ADC_BUTTON_INV, - (const bstring *)&be_const_str_INPUT_PULLDOWN, - (const bstring *)&be_const_str_MAX31855DO, - (const bstring *)&be_const_str_SSD1351_DC, - NULL, - (const bstring *)&be_const_str_elif, - (const bstring *)&be_const_str_ROT1A, - (const bstring *)&be_const_str_WEBCAM_DATA, - (const bstring *)&be_const_str_IRRECV, - NULL, - (const bstring *)&be_const_str_OUTPUT_LO, - NULL, - (const bstring *)&be_const_str_SPI_MISO, - NULL, - (const bstring *)&be_const_str_ADC_JOY, - (const bstring *)&be_const_str_ETH_PHY_MDC, - (const bstring *)&be_const_str_TASMOTACLIENT_RXD, - (const bstring *)&be_const_str_MHZ_RXD, - (const bstring *)&be_const_str_DDSU666_RX, - (const bstring *)&be_const_str_collect, - (const bstring *)&be_const_str_ADC_BUTTON, - (const bstring *)&be_const_str_A4988_MS1, - (const bstring *)&be_const_str_RF_SENSOR, - (const bstring *)&be_const_str_CSE7766_TX, - (const bstring *)&be_const_str_SPI_CLK, - (const bstring *)&be_const_str_HJL_CF, - (const bstring *)&be_const_str_SOLAXX1_TX, - (const bstring *)&be_const_str_CC1101_GDO2, - NULL, - (const bstring *)&be_const_str_SM16716_CLK, - (const bstring *)&be_const_str_HX711_SCK, - (const bstring *)&be_const_str_ROT1B, - (const bstring *)&be_const_str_DHT11_OUT, - (const bstring *)&be_const_str_LE01MR_TX, - (const bstring *)&be_const_str_IRSEND, - (const bstring *)&be_const_str_A4988_STP, - NULL, - NULL, - NULL, - NULL, - (const bstring *)&be_const_str_SPI_MOSI, - (const bstring *)&be_const_str_OLED_RESET, - (const bstring *)&be_const_str_SSPI_DC, - (const bstring *)&be_const_str_SAIR_RX, - (const bstring *)&be_const_str_EPAPER29_CS, - (const bstring *)&be_const_str_NONE, - (const bstring *)&be_const_str_classname, - (const bstring *)&be_const_str_LEDLNK_INV, + (const bstring *)&be_const_str_SYMBOL_BULLET, + (const bstring *)&be_const_str_STYLE_TRANSFORM_ZOOM, (const bstring *)&be_const_str_ETH_PHY_POWER, - (const bstring *)&be_const_str_MAX31855CS, - (const bstring *)&be_const_str_str, - (const bstring *)&be_const_str_SENSOR_END, - (const bstring *)&be_const_str_clear, - NULL, - (const bstring *)&be_const_str_OUTPUT, - (const bstring *)&be_const_str_SDM72_TX, - (const bstring *)&be_const_str_MIEL_HVAC_TX, - (const bstring *)&be_const_str_VL53L0X_XSHUT1, - (const bstring *)&be_const_str_PZEM0XX_TX, - NULL, - (const bstring *)&be_const_str_SSPI_SCLK, - (const bstring *)&be_const_str_HRE_DATA, - (const bstring *)&be_const_str_PROJECTOR_CTRL_RX, + (const bstring *)&be_const_str_LMT01, + (const bstring *)&be_const_str_CHART_PART_SERIES_BG, + (const bstring *)&be_const_str_set_style_local_border_blend_mode, + (const bstring *)&be_const_str_OPA_40, + (const bstring *)&be_const_str_SYMBOL_LIST, (const bstring *)&be_const_str_DSB_OUT, + NULL, + (const bstring *)&be_const_str_FIT_TIGHT, + NULL, + (const bstring *)&be_const_str_get_width_grid, + NULL, + (const bstring *)&be_const_str_floor, + (const bstring *)&be_const_str_CHART_CURSOR_LEFT, + NULL, + (const bstring *)&be_const_str_SYMBOL_LEFT, + (const bstring *)&be_const_str_EVENT_DRAG_THROW_BEGIN, + (const bstring *)&be_const_str_BORDER_SIDE_TOP, + (const bstring *)&be_const_str_WEBCAM_PWDN, + (const bstring *)&be_const_str_hide_series, + (const bstring *)&be_const_str_set_insert_replace, + NULL, + (const bstring *)&be_const_str_DISP_ROT_90, + (const bstring *)&be_const_str_RA8876_CS, + NULL, + (const bstring *)&be_const_str_get_cell_crop, + (const bstring *)&be_const_str_setrange, + (const bstring *)&be_const_str_set_pos, + (const bstring *)&be_const_str_ROLLER_MODE_NORMAL, + (const bstring *)&be_const_str_SM2135_DAT, + (const bstring *)&be_const_str_HPMA_TX, + (const bstring *)&be_const_str_blur_ver, + (const bstring *)&be_const_str_lv_arc, + NULL, + (const bstring *)&be_const_str_set_adv_hittest, + (const bstring *)&be_const_str_HX711_SCK, + (const bstring *)&be_const_str_PROTECT_POS, + (const bstring *)&be_const_str_A4988_MS1, + (const bstring *)&be_const_str_get_scrl_width, + NULL, + (const bstring *)&be_const_str_add_btn_left, + NULL, + (const bstring *)&be_const_str_on_edge, + (const bstring *)&be_const_str_PROTECT_EVENT_TO_DISABLED, + (const bstring *)&be_const_str_GAUGE_PART_MAJOR, + (const bstring *)&be_const_str_concat, + NULL, + NULL, + (const bstring *)&be_const_str_get_fit_left, + (const bstring *)&be_const_str_get_group, + NULL, + (const bstring *)&be_const_str_SILVER, + (const bstring *)&be_const_str_focus_next, + (const bstring *)&be_const_str_STYLE_SCALE_END_COLOR, + (const bstring *)&be_const_str_STYLE_OUTLINE_PAD, + NULL, + (const bstring *)&be_const_str_SSPI, + NULL, + (const bstring *)&be_const_str_DDS2382_TX, + (const bstring *)&be_const_str_SYMBOL_PREV, + (const bstring *)&be_const_str_get_tile_act, + (const bstring *)&be_const_str_MAROON, + (const bstring *)&be_const_str_ARIRFSEL, + (const bstring *)&be_const_str_set_pattern_image, + (const bstring *)&be_const_str_ARC_TYPE_NORMAL, + (const bstring *)&be_const_str_SM2135_CLK, + (const bstring *)&be_const_str_GESTURE_DIR_LEFT, + (const bstring *)&be_const_str_CHART_AXIS_DRAW_LAST_TICK, + NULL, + (const bstring *)&be_const_str_set_signal_cb, + NULL, + (const bstring *)&be_const_str_GPS_RX, + (const bstring *)&be_const_str_FTC532, + (const bstring *)&be_const_str_get_scrollbar_mode, (const bstring *)&be_const_str_ADC_INPUT, - (const bstring *)&be_const_str_TCP_RX, - (const bstring *)&be_const_str_CNTR1_NP, - (const bstring *)&be_const_str_BOILER_OT_RX, - (const bstring *)&be_const_str_allocated, - (const bstring *)&be_const_str_CC1101_GDO0, - (const bstring *)&be_const_str_SHELLY_DIMMER_BOOT0, - (const bstring *)&be_const_str_NRG_CF1, - (const bstring *)&be_const_str_DDSU666_TX, + (const bstring *)&be_const_str_SDM630_RX, + (const bstring *)&be_const_str_ALIGN_OUT_BOTTOM_MID, NULL, + (const bstring *)&be_const_str_KEY_DEL, + (const bstring *)&be_const_str_ARC_PART_INDIC, + (const bstring *)&be_const_str_I2C_SCL, + (const bstring *)&be_const_str_LAYOUT_OFF, + (const bstring *)&be_const_str_byte, NULL, - (const bstring *)&be_const_str_RXD, - (const bstring *)&be_const_str_opt_add, - (const bstring *)&be_const_str_WEBCAM_SIOC, - (const bstring *)&be_const_str_OUTPUT_OPEN_DRAIN, - (const bstring *)&be_const_str_opt_connect, - (const bstring *)&be_const_str_PN532_RXD, - (const bstring *)&be_const_str_DHT22, - (const bstring *)&be_const_str_OPEN_DRAIN, - (const bstring *)&be_const_str_MGC3130_RESET, - (const bstring *)&be_const_str_ADE7953_IRQ, - (const bstring *)&be_const_str_KEY1_INV, - (const bstring *)&be_const_str_HM10_TX, - (const bstring *)&be_const_str_pow, - (const bstring *)&be_const_str_BACKLIGHT, - (const bstring *)&be_const_str_HRE_CLOCK, + (const bstring *)&be_const_str_TABVIEW_TAB_POS_NONE, + (const bstring *)&be_const_str_FALLING, + (const bstring *)&be_const_str_set_style_local_shadow_blend_mode, + (const bstring *)&be_const_str_BLACK, + (const bstring *)&be_const_str_SYMBOL_WIFI, + (const bstring *)&be_const_str_BORDER_SIDE_INTERNAL, + (const bstring *)&be_const_str_set_checkable, + (const bstring *)&be_const_str_STYLE_PATTERN_RECOLOR_OPA, + (const bstring *)&be_const_str_set_pad_bottom, + (const bstring *)&be_const_str_FS_RES_HW_ERR, + (const bstring *)&be_const_str_real, + (const bstring *)&be_const_str_TXT_FLAG_NONE, + (const bstring *)&be_const_str_MP3_DFR562, + (const bstring *)&be_const_str_BLUE, + (const bstring *)&be_const_str_MHZ_TXD, + (const bstring *)&be_const_str_PROTECT_FOLLOW, + (const bstring *)&be_const_str_deinit, + NULL, + (const bstring *)&be_const_str_log10, + (const bstring *)&be_const_str_ANIM_ON, + (const bstring *)&be_const_str_DROPDOWN_PART_MAIN, + (const bstring *)&be_const_str_DROPDOWN_PART_SELECTED, + (const bstring *)&be_const_str_STYLE_VALUE_LINE_SPACE, + (const bstring *)&be_const_str_EVENT_FOCUSED, + (const bstring *)&be_const_str_set_style_local_text_line_space, + (const bstring *)&be_const_str_CHECKBOX_PART_BG, + (const bstring *)&be_const_str_get_btn_label, + (const bstring *)&be_const_str_BTN_STATE_CHECKED_RELEASED, + (const bstring *)&be_const_str_blur_hor, + (const bstring *)&be_const_str_set_style_local_margin_left, + (const bstring *)&be_const_str_open, + (const bstring *)&be_const_str_CHART_TYPE_COLUMN, + (const bstring *)&be_const_str_ETH_PHY_MDIO, + (const bstring *)&be_const_str_get_mirror, + (const bstring *)&be_const_str_get_adjustable, + (const bstring *)&be_const_str_get_max_value, + (const bstring *)&be_const_str_SPI_MISO, (const bstring *)&be_const_str_DCKI, - (const bstring *)&be_const_str_MCP39F5_RX, + (const bstring *)&be_const_str_HSPI, + (const bstring *)&be_const_str_LAYOUT_ROW_BOTTOM, + (const bstring *)&be_const_str_STYLE_TRANSFORM_HEIGHT, + (const bstring *)&be_const_str_set_scale_width, + (const bstring *)&be_const_str_set_text_opa, + (const bstring *)&be_const_str_get_label_count, + (const bstring *)&be_const_str_SR04_ECHO, + (const bstring *)&be_const_str_set_col_width, + (const bstring *)&be_const_str_WEBCAM_DATA, + (const bstring *)&be_const_str_ELECTRIQ_MOODL_TX, NULL, + (const bstring *)&be_const_str_BACKLIGHT, + (const bstring *)&be_const_str_SOLAXX1_RX, + (const bstring *)&be_const_str_is_checked, + (const bstring *)&be_const_str_get_screen, + (const bstring *)&be_const_str_get_style_transform_angle, + (const bstring *)&be_const_str_EVENT_KEY, + (const bstring *)&be_const_str_IRRECV, + (const bstring *)&be_const_str_SSD1331_DC, + (const bstring *)&be_const_str_tanh, + (const bstring *)&be_const_str_STATE_PRESSED, + (const bstring *)&be_const_str_LAYOUT_GRID, + (const bstring *)&be_const_str_SCROLLBAR_MODE_UNHIDE, + (const bstring *)&be_const_str_get_hidden, + NULL, + (const bstring *)&be_const_str_SYMBOL_REFRESH, + (const bstring *)&be_const_str_SYMBOL_BELL, + (const bstring *)&be_const_str_KEY_HOME, + (const bstring *)&be_const_str_get_base_dir, + (const bstring *)&be_const_str_clean_tab, + (const bstring *)&be_const_str_get_long_mode, + (const bstring *)&be_const_str_get_local_style, + (const bstring *)&be_const_str_WEBCAM_VSYNC, + (const bstring *)&be_const_str_STYLE_MARGIN_RIGHT, + (const bstring *)&be_const_str_set_radius, + (const bstring *)&be_const_str_AS3935, + (const bstring *)&be_const_str_PZEM017_RX, + NULL, + (const bstring *)&be_const_str_STYLE_SHADOW_COLOR, + (const bstring *)&be_const_str___lower__, + (const bstring *)&be_const_str_raise, + NULL, + NULL, + NULL, + (const bstring *)&be_const_str_set_outline_opa, + (const bstring *)&be_const_str_EVENT_DEFOCUSED, + (const bstring *)&be_const_str_TEXT_DECOR_UNDERLINE, + (const bstring *)&be_const_str_A4988_ENA, + (const bstring *)&be_const_str_STYLE_PATTERN_IMAGE, + NULL, + (const bstring *)&be_const_str_STYLE_BG_GRAD_DIR, + (const bstring *)&be_const_str_PZEM004_RX, + (const bstring *)&be_const_str_KEY_ESC, + (const bstring *)&be_const_str_set_cell_merge_right, + (const bstring *)&be_const_str_DDS2382_RX, + (const bstring *)&be_const_str_LIST_PART_SCROLLBAR, + (const bstring *)&be_const_str_STYLE_SIZE, + (const bstring *)&be_const_str_ALIGN_IN_BOTTOM_LEFT, + (const bstring *)&be_const_str_SYMBOL_DRIVE, + (const bstring *)&be_const_str_rand, + (const bstring *)&be_const_str_STYLE_TRANSITION_PROP_4, + (const bstring *)&be_const_str_STYLE_BG_BLEND_MODE, + (const bstring *)&be_const_str_SYMBOL_VIDEO, + (const bstring *)&be_const_str_STYLE_MARGIN_TOP, + (const bstring *)&be_const_str_PMS5003_TX, + (const bstring *)&be_const_str_SAIR_RX, + (const bstring *)&be_const_str_FIT_MAX, + (const bstring *)&be_const_str_BOILER_OT_RX, + (const bstring *)&be_const_str_CSE7766_TX, + (const bstring *)&be_const_str_SYMBOL_BATTERY_FULL, + (const bstring *)&be_const_str_STYLE_VALUE_STR, + (const bstring *)&be_const_str_CALENDAR_PART_DAY_NAMES, + (const bstring *)&be_const_str_get_spin_time, + (const bstring *)&be_const_str_get_style_scale_end_line_width, + NULL, + (const bstring *)&be_const_str_DRAG_DIR_VER, + (const bstring *)&be_const_str_PWM1_INV, + (const bstring *)&be_const_str_ALIGN_OUT_TOP_LEFT, + NULL, + (const bstring *)&be_const_str_LABEL_LONG_CROP, + (const bstring *)&be_const_str_CPICKER_PART_MAIN, + (const bstring *)&be_const_str_finish_transitions, + (const bstring *)&be_const_str_PZEM016_RX, + (const bstring *)&be_const_str_def_event_cb, + (const bstring *)&be_const_str_PZEM0XX_TX, + (const bstring *)&be_const_str_BLEND_MODE_NORMAL, + NULL, + (const bstring *)&be_const_str_HRE_DATA, + NULL, + (const bstring *)&be_const_str_STYLE_SCALE_END_LINE_WIDTH, + (const bstring *)&be_const_str_insert, + (const bstring *)&be_const_str_CHART_AXIS_INVERSE_LABELS_ORDER, + (const bstring *)&be_const_str_SHELLY_DIMMER_RST_INV, + NULL, + (const bstring *)&be_const_str_AZ_RXD, + (const bstring *)&be_const_str_ALIGN_OUT_TOP_MID, + (const bstring *)&be_const_str_ARC_PART_KNOB, + NULL, + (const bstring *)&be_const_str_CPICKER_TYPE_RECT, + (const bstring *)&be_const_str_get_fit_bottom, + (const bstring *)&be_const_str_SYMBOL_DUMMY, + (const bstring *)&be_const_str_get_style_text_color, + (const bstring *)&be_const_str_HLW_CF, + (const bstring *)&be_const_str_OPA_COVER, + (const bstring *)&be_const_str_KEYBOARD_MODE_NUM, + (const bstring *)&be_const_str_del, + (const bstring *)&be_const_str_LABEL_ALIGN_AUTO, + (const bstring *)&be_const_str_STATE_DEFAULT, + (const bstring *)&be_const_str_set_value_line_space, + (const bstring *)&be_const_str_get_pwd_mode, + (const bstring *)&be_const_str_CYAN, + (const bstring *)&be_const_str_PROTECT_PARENT, + (const bstring *)&be_const_str_LED_PART_MAIN, + (const bstring *)&be_const_str_SCROLLBAR_MODE_AUTO, + (const bstring *)&be_const_str_EPAPER29_CS, + (const bstring *)&be_const_str_BUZZER_INV, + NULL, + (const bstring *)&be_const_str_BAR_TYPE_CUSTOM, + (const bstring *)&be_const_str_KEY1_TC, + (const bstring *)&be_const_str_remove_obj, + NULL, + (const bstring *)&be_const_str_DRAG_DIR_BOTH, + (const bstring *)&be_const_str_get_tab_act, + (const bstring *)&be_const_str_get_scrl_height, + (const bstring *)&be_const_str_get_y, + NULL, + (const bstring *)&be_const_str_TABVIEW_TAB_POS_TOP, + (const bstring *)&be_const_str_LABEL_LONG_DOT, + (const bstring *)&be_const_str_BLEND_MODE_ADDITIVE, + (const bstring *)&be_const_str_set_margin_top, + (const bstring *)&be_const_str_BLEND_MODE_SUBTRACTIVE, + (const bstring *)&be_const_str_STYLE_TEXT_LETTER_SPACE, + (const bstring *)&be_const_str_OPA_70, + (const bstring *)&be_const_str_CHART_UPDATE_MODE_CIRCULAR, + (const bstring *)&be_const_str_PMS5003_RX, + (const bstring *)&be_const_str_EVENT_VALUE_CHANGED, + (const bstring *)&be_const_str_lv_switch, + NULL, + (const bstring *)&be_const_str_int, + (const bstring *)&be_const_str_set_style_local_shadow_ofs_x, + (const bstring *)&be_const_str_set_pad_inner, + (const bstring *)&be_const_str_STYLE_LINE_BLEND_MODE, + NULL, + NULL, + (const bstring *)&be_const_str_lv_spinbox, + (const bstring *)&be_const_str_get_style_transition_prop_4, + (const bstring *)&be_const_str_ILI9488_CS, + (const bstring *)&be_const_str_RDM6300_RX, + (const bstring *)&be_const_str_KEYBOARD_MODE_TEXT_LOWER, + (const bstring *)&be_const_str_get_parent_event, + (const bstring *)&be_const_str_CPICKER_PART_KNOB, + (const bstring *)&be_const_str_DHT11_OUT, + (const bstring *)&be_const_str_get_rollover, + (const bstring *)&be_const_str_FS_RES_TOUT, + (const bstring *)&be_const_str_get_text, + (const bstring *)&be_const_str_while, + (const bstring *)&be_const_str_HM10_TX, + (const bstring *)&be_const_str_WIEGAND_D0, + NULL, + (const bstring *)&be_const_str_PN532_RXD, + (const bstring *)&be_const_str_cursor_right, + (const bstring *)&be_const_str_get_style_image_opa, + (const bstring *)&be_const_str_CPICKER_COLOR_MODE_HUE, + (const bstring *)&be_const_str_get_click_focus, + (const bstring *)&be_const_str_get_style_outline_color, + (const bstring *)&be_const_str_get_btn_selected, + (const bstring *)&be_const_str_STYLE_PAD_INNER, + (const bstring *)&be_const_str_NRG_SEL, + (const bstring *)&be_const_str_ALIGN_IN_TOP_MID, + (const bstring *)&be_const_str_get_style_bg_color, + (const bstring *)&be_const_str_SYMBOL_SETTINGS, + NULL, + NULL, + (const bstring *)&be_const_str_GESTURE_DIR_BOTTOM, + (const bstring *)&be_const_str_STYLE_SCALE_BORDER_WIDTH, + (const bstring *)&be_const_str_ALIGN_OUT_LEFT_MID, + NULL, + (const bstring *)&be_const_str_align, + NULL, + NULL, + (const bstring *)&be_const_str_STYLE_BG_GRAD_COLOR, + (const bstring *)&be_const_str_cursor_up, + (const bstring *)&be_const_str_KEY_RIGHT, + (const bstring *)&be_const_str_SAIR_TX, + (const bstring *)&be_const_str_EVENT_DELETE, + (const bstring *)&be_const_str_FS_RES_FS_ERR, + (const bstring *)&be_const_str_AS608_RX, + (const bstring *)&be_const_str_STYLE_TRANSITION_PROP_5, + (const bstring *)&be_const_str_SCROLLBAR_MODE_ON, + (const bstring *)&be_const_str_SYMBOL_GPS, + (const bstring *)&be_const_str___iterator__, + (const bstring *)&be_const_str_get_offset_y, + (const bstring *)&be_const_str_get_cursor_click_pos, + (const bstring *)&be_const_str_DHT22, + (const bstring *)&be_const_str_ALIGN_IN_LEFT_MID, + (const bstring *)&be_const_str_DEEPSLEEP, + (const bstring *)&be_const_str_set_bright, + (const bstring *)&be_const_str_EVENT_REFRESH, + (const bstring *)&be_const_str_set_style_local_transform_angle, + (const bstring *)&be_const_str_MCP39F5_TX, + NULL, + (const bstring *)&be_const_str_get_start_value, + (const bstring *)&be_const_str_get_style_value_letter_space, + (const bstring *)&be_const_str_ETH_PHY_MDC, + (const bstring *)&be_const_str_HALLEFFECT, + (const bstring *)&be_const_str_DDSU666_RX, + (const bstring *)&be_const_str_ALIGN_IN_TOP_RIGHT, (const bstring *)&be_const_str_INPUT, + (const bstring *)&be_const_str_ARC_TYPE_SYMMETRIC, + (const bstring *)&be_const_str_STYLE_TRANSFORM_ANGLE, + (const bstring *)&be_const_str_STYLE_LINE_WIDTH, NULL, - (const bstring *)&be_const_str_remove, - (const bstring *)&be_const_str_TM1638CLK, - (const bstring *)&be_const_str_opt_eq + (const bstring *)&be_const_str_LED1_INV, + NULL, + NULL, + (const bstring *)&be_const_str_get_arc_length, + (const bstring *)&be_const_str_CHECKBOX_PART_BULLET, + (const bstring *)&be_const_str_acos, + (const bstring *)&be_const_str_HIGH, + (const bstring *)&be_const_str_set_bg_end_angle, + (const bstring *)&be_const_str_STYLE_PAD_RIGHT, + (const bstring *)&be_const_str_SHELLY_DIMMER_BOOT0, + (const bstring *)&be_const_str_return, + (const bstring *)&be_const_str_compile, + (const bstring *)&be_const_str_resize, + (const bstring *)&be_const_str_SYMBOL_BATTERY_1, + (const bstring *)&be_const_str_get_y_invert, + NULL, + (const bstring *)&be_const_str_REL1_INV, + (const bstring *)&be_const_str_LABEL_LONG_BREAK, + (const bstring *)&be_const_str_draw_line, + (const bstring *)&be_const_str_STYLE_SCALE_WIDTH, + (const bstring *)&be_const_str_add_style, + (const bstring *)&be_const_str_STYLE_LINE_ROUNDED, + (const bstring *)&be_const_str_ADC_BUTTON_INV, + (const bstring *)&be_const_str_add_element, + NULL, + (const bstring *)&be_const_str_SSPI_MAX31865_CS1, + (const bstring *)&be_const_str_TEXT_DECOR_NONE, + (const bstring *)&be_const_str_set_style_local_transition_prop_5, + (const bstring *)&be_const_str_DISP_SIZE_LARGE, + (const bstring *)&be_const_str_get_text_sel_en, + NULL, + (const bstring *)&be_const_str_SSPI_MISO, + (const bstring *)&be_const_str_OPA_TRANSP, + (const bstring *)&be_const_str_WEBCAM_SIOC, + (const bstring *)&be_const_str_LABEL_ALIGN_CENTER, + (const bstring *)&be_const_str_SM16716_CLK, + (const bstring *)&be_const_str_ARIRFRCV, + (const bstring *)&be_const_str_SPI_CS, + (const bstring *)&be_const_str_CHART_CURSOR_DOWN, + (const bstring *)&be_const_str_ADC_JOY, + (const bstring *)&be_const_str_IEM3000_RX, + (const bstring *)&be_const_str_TXT_FLAG_RECOLOR, + (const bstring *)&be_const_str_set_left_value, + NULL, + (const bstring *)&be_const_str_clear_state, + (const bstring *)&be_const_str_CALENDAR_PART_BG, + (const bstring *)&be_const_str_ALIGN_IN_BOTTOM_MID, + (const bstring *)&be_const_str_get_angle_offset, + (const bstring *)&be_const_str_get_style_pad_top, + (const bstring *)&be_const_str_DROPDOWN_DIR_RIGHT, + NULL, + (const bstring *)&be_const_str_SI7021, + (const bstring *)&be_const_str_DISP_SIZE_MEDIUM, + NULL, + (const bstring *)&be_const_str_KEY1, + (const bstring *)&be_const_str_TEAL, + (const bstring *)&be_const_str_ADC_PH, + (const bstring *)&be_const_str_REL1, + (const bstring *)&be_const_str_ILI9341_CS, + (const bstring *)&be_const_str_EVENT_INSERT, + (const bstring *)&be_const_str_get_style_transition_prop_3, + (const bstring *)&be_const_str_EVENT_PRESSING, + (const bstring *)&be_const_str_STYLE_TEXT_OPA, + (const bstring *)&be_const_str_set_disabled, + (const bstring *)&be_const_str_LED1, + (const bstring *)&be_const_str_input, + (const bstring *)&be_const_str_WEBCAM_XCLK, + (const bstring *)&be_const_str_STYLE_LINE_OPA, + NULL, + (const bstring *)&be_const_str_EVENT_GESTURE, + (const bstring *)&be_const_str_BTNMATRIX_CTRL_NO_REPEAT, + (const bstring *)&be_const_str_get_letter_pos, + (const bstring *)&be_const_str_WIEGAND_D1, + (const bstring *)&be_const_str_STYLE_IMAGE_RECOLOR, + (const bstring *)&be_const_str_get_day_of_week, + (const bstring *)&be_const_str_ST7789_DC, + NULL, + (const bstring *)&be_const_str_EVENT_PRESSED, + (const bstring *)&be_const_str_PROJECTOR_CTRL_RX, + (const bstring *)&be_const_str_DSB, + (const bstring *)&be_const_str_get_ext_click_pad_top, + (const bstring *)&be_const_str_CPICKER_COLOR_MODE_SATURATION, + (const bstring *)&be_const_str_fromstring, + (const bstring *)&be_const_str_lv_label, + (const bstring *)&be_const_str_SYMBOL_NEXT, + (const bstring *)&be_const_str_ADC_CT_POWER, + (const bstring *)&be_const_str_SDM120_RX, + (const bstring *)&be_const_str_refr_text, + (const bstring *)&be_const_str_lv_keyboard, + (const bstring *)&be_const_str_SYMBOL_DIRECTORY, + (const bstring *)&be_const_str_set_start_angle, + (const bstring *)&be_const_str_CHART_PART_BG, + NULL, + (const bstring *)&be_const_str_FS_RES_NOT_EX, + NULL, + (const bstring *)&be_const_str_ALIGN_OUT_BOTTOM_RIGHT, + (const bstring *)&be_const_str_get_option_cnt, + (const bstring *)&be_const_str_close_event_cb, + NULL, + (const bstring *)&be_const_str_KEY1_NP, + (const bstring *)&be_const_str_NRF24_DC, + (const bstring *)&be_const_str_set_image_recolor_opa, + (const bstring *)&be_const_str_GRAD_DIR_NONE, + (const bstring *)&be_const_str_CHART_AXIS_SKIP_LAST_TICK, + (const bstring *)&be_const_str_PAGE_EDGE_RIGHT, + (const bstring *)&be_const_str_MCP39F5_RX, + (const bstring *)&be_const_str_FS_RES_LOCKED, + (const bstring *)&be_const_str_CPICKER_TYPE_DISC, + (const bstring *)&be_const_str_get_btn_img, + (const bstring *)&be_const_str_get_style_transition_delay, + (const bstring *)&be_const_str_get_min_value, + (const bstring *)&be_const_str_PWM1, + (const bstring *)&be_const_str_BTN_STATE_RELEASED, + NULL, + (const bstring *)&be_const_str_SLIDER_TYPE_RANGE, + NULL, + NULL, + (const bstring *)&be_const_str_ARC_TYPE_REVERSE, + (const bstring *)&be_const_str_STYLE_TEXT_BLEND_MODE, + (const bstring *)&be_const_str_set_scrollbar_mode, + (const bstring *)&be_const_str_increment, + (const bstring *)&be_const_str_WEBCAM_PSRCS, + (const bstring *)&be_const_str_SSD1331_CS, + (const bstring *)&be_const_str_BTNMATRIX_CTRL_CHECK_STATE, + (const bstring *)&be_const_str_FIT_NONE, + (const bstring *)&be_const_str_MAX31855CS, + (const bstring *)&be_const_str_AQUA, + (const bstring *)&be_const_str_range, + NULL, + (const bstring *)&be_const_str_A4988_STP, + (const bstring *)&be_const_str___upper__, + (const bstring *)&be_const_str_DRAG_DIR_ONE, + (const bstring *)&be_const_str_HM10_RX, + (const bstring *)&be_const_str_get_textarea, + NULL, + (const bstring *)&be_const_str_get_anim_time, + (const bstring *)&be_const_str_STATE_DISABLED, + (const bstring *)&be_const_str_SYMBOL_FILE, + (const bstring *)&be_const_str_ADE7953_IRQ, + (const bstring *)&be_const_str_OLIVE, + (const bstring *)&be_const_str_get_active_btn, + (const bstring *)&be_const_str_CC1101_GDO2, + (const bstring *)&be_const_str_BORDER_SIDE_NONE, + (const bstring *)&be_const_str_STYLE_VALUE_BLEND_MODE, + (const bstring *)&be_const_str_BUZZER, + (const bstring *)&be_const_str_WEBCAM_RESET, + (const bstring *)&be_const_str_get_style_shadow_spread, + (const bstring *)&be_const_str_STYLE_SCALE_END_BORDER_WIDTH, + (const bstring *)&be_const_str_LAYOUT_ROW_MID, + (const bstring *)&be_const_str_ALIGN_OUT_RIGHT_BOTTOM, + (const bstring *)&be_const_str_ALIGN_OUT_BOTTOM_LEFT, + (const bstring *)&be_const_str_DHT11, + (const bstring *)&be_const_str_TXT_CMD_STATE_WAIT, + (const bstring *)&be_const_str_SPINNER_TYPE_FILLSPIN_ARC, + (const bstring *)&be_const_str_STYLE_IMAGE_OPA, + (const bstring *)&be_const_str_ALIGN_OUT_LEFT_BOTTOM, + (const bstring *)&be_const_str_get_prev_btn, + (const bstring *)&be_const_str_DISP_SIZE_SMALL, + (const bstring *)&be_const_str_invalidate, + (const bstring *)&be_const_str_SYMBOL_CUT, + (const bstring *)&be_const_str_on, + NULL, + (const bstring *)&be_const_str_is_inactive, + NULL, + (const bstring *)&be_const_str_YELLOW, + (const bstring *)&be_const_str_set_top, + (const bstring *)&be_const_str_STYLE_OUTLINE_BLEND_MODE, + (const bstring *)&be_const_str_ANIM_OFF, + NULL, + (const bstring *)&be_const_str_set_bg_grad_dir, + (const bstring *)&be_const_str_OPA_60, + (const bstring *)&be_const_str_opt_neq, + (const bstring *)&be_const_str_OBJ_PART_ALL, + (const bstring *)&be_const_str_set_y_invert, + (const bstring *)&be_const_str_get_protect, + NULL, + (const bstring *)&be_const_str_BTNMATRIX_CTRL_DISABLED, + (const bstring *)&be_const_str_lv_style, + (const bstring *)&be_const_str_DROPDOWN_PART_LIST, + (const bstring *)&be_const_str_LABEL_LONG_EXPAND, + (const bstring *)&be_const_str_get_style_outline_width, + (const bstring *)&be_const_str_fade_in, + (const bstring *)&be_const_str_get_file_name, + (const bstring *)&be_const_str_get_cell_type, + (const bstring *)&be_const_str_TXT_FLAG_CENTER, + (const bstring *)&be_const_str_SYMBOL_EYE_CLOSE, + (const bstring *)&be_const_str_SYMBOL_IMAGE, + (const bstring *)&be_const_str_SPINNER_DIR_FORWARD, + (const bstring *)&be_const_str_EVENT_LONG_PRESSED, + (const bstring *)&be_const_str_SPI_CLK, + (const bstring *)&be_const_str_DROPDOWN_DIR_UP, + (const bstring *)&be_const_str_KEYBOARD_MODE_SPECIAL, + (const bstring *)&be_const_str_set_style_local_outline_blend_mode, + (const bstring *)&be_const_str_set_shadow_ofs_x, + (const bstring *)&be_const_str_EXS_ENABLE, + (const bstring *)&be_const_str_TXT_CMD_STATE_IN, + (const bstring *)&be_const_str_STYLE_BORDER_OPA, + (const bstring *)&be_const_str_ALIGN_OUT_RIGHT_TOP, + NULL, + (const bstring *)&be_const_str_WEBCAM_SIOD, + (const bstring *)&be_const_str_text_is_selected, + NULL, + (const bstring *)&be_const_str_get_selected_str, + (const bstring *)&be_const_str_get_style_pattern_image, + (const bstring *)&be_const_str_align_mid_y, + (const bstring *)&be_const_str_BAR_TYPE_NORMAL, + NULL, + (const bstring *)&be_const_str_SYMBOL_KEYBOARD, + NULL, + (const bstring *)&be_const_str_set_palette, + (const bstring *)&be_const_str_TASMOTACLIENT_RXD, + (const bstring *)&be_const_str_NRG_SEL_INV, + (const bstring *)&be_const_str_TEXTAREA_CURSOR_LAST, + (const bstring *)&be_const_str_RFSEND, + NULL, + (const bstring *)&be_const_str_get_style_clip_corner, + (const bstring *)&be_const_str_TXT_FLAG_FIT, + (const bstring *)&be_const_str_STYLE_LINE_COLOR, + (const bstring *)&be_const_str_BAR_TYPE_SYMMETRICAL, + (const bstring *)&be_const_str_DISP_ROT_NONE, + (const bstring *)&be_const_str_OUTPUT, + (const bstring *)&be_const_str_asin, + (const bstring *)&be_const_str_TXT_FLAG_RIGHT, + (const bstring *)&be_const_str_OPA_100, + NULL, + (const bstring *)&be_const_str_STYLE_SHADOW_OPA, + (const bstring *)&be_const_str_CHANGE, + NULL, + (const bstring *)&be_const_str_I2C_SDA, + (const bstring *)&be_const_str_BTN_STATE_CHECKED_DISABLED, + (const bstring *)&be_const_str_LAYOUT_COLUMN_RIGHT, + (const bstring *)&be_const_str_ADC_BUTTON, + (const bstring *)&be_const_str_get_style_margin_right, + NULL, + (const bstring *)&be_const_str_GESTURE_DIR_RIGHT, + (const bstring *)&be_const_str_OPA_20, + (const bstring *)&be_const_str_SYMBOL_EDIT, + (const bstring *)&be_const_str_isinstance, + (const bstring *)&be_const_str_CSE7766_RX, + (const bstring *)&be_const_str_TELEINFO_RX, + (const bstring *)&be_const_str_SYMBOL_VOLUME_MAX, + NULL, + (const bstring *)&be_const_str_CSE7761_TX, + (const bstring *)&be_const_str_LINEMETER_PART_MAIN, + (const bstring *)&be_const_str_SYMBOL_OK, + (const bstring *)&be_const_str_LIST_PART_EDGE_FLASH, + NULL, + (const bstring *)&be_const_str_EVENT_DRAG_END, + (const bstring *)&be_const_str_MAX7219DIN, + (const bstring *)&be_const_str_set_style_local_border_post, + (const bstring *)&be_const_str_set_state, + (const bstring *)&be_const_str_KEY_ENTER, + (const bstring *)&be_const_str_KEY_DOWN, + (const bstring *)&be_const_str_get_highlighted_dates_num, + (const bstring *)&be_const_str_CNTR1, + (const bstring *)&be_const_str_step_next, + NULL, + (const bstring *)&be_const_str_refresh_ext_draw_pad, + (const bstring *)&be_const_str_get_drag_parent, + NULL, + (const bstring *)&be_const_str_CALENDAR_PART_HEADER, + (const bstring *)&be_const_str_del_async, + (const bstring *)&be_const_str_STYLE_SHADOW_OFS_X, + (const bstring *)&be_const_str_remove_prop, + (const bstring *)&be_const_str_set_style_local_pad_left, + (const bstring *)&be_const_str_ZIGBEE_RST, + (const bstring *)&be_const_str_PROJECTOR_CTRL_TX, + (const bstring *)&be_const_str_get_point_count, + (const bstring *)&be_const_str_get_ver_res, + (const bstring *)&be_const_str_LABEL_LONG_SROLL_CIRC, + NULL, + NULL, + (const bstring *)&be_const_str_FIT_PARENT, + (const bstring *)&be_const_str_set_line_rounded, + NULL, + (const bstring *)&be_const_str_GAUGE_PART_MAIN, + (const bstring *)&be_const_str_opt_add, + (const bstring *)&be_const_str_ALIGN_OUT_RIGHT_MID, + (const bstring *)&be_const_str_get_needle_img_pivot_y, + (const bstring *)&be_const_str_SDS0X1_RX, + (const bstring *)&be_const_str_ZEROCROSS, + (const bstring *)&be_const_str_lv_win, + (const bstring *)&be_const_str_A4988_DIR, + (const bstring *)&be_const_str_STATE_EDITED, + (const bstring *)&be_const_str_BTNMATRIX_CTRL_CLICK_TRIG, + (const bstring *)&be_const_str_AS608_TX, + (const bstring *)&be_const_str_XPT2046_CS, + (const bstring *)&be_const_str_STYLE_BORDER_POST, + (const bstring *)&be_const_str_DISP_ROT_270, + (const bstring *)&be_const_str_set_bg_angles, + (const bstring *)&be_const_str_set_arc_length, + (const bstring *)&be_const_str_focus_obj, + (const bstring *)&be_const_str_KEY_NEXT, + (const bstring *)&be_const_str_set_style_local_shadow_color, + (const bstring *)&be_const_str_BS814_CLK, + (const bstring *)&be_const_str_set_angles, + (const bstring *)&be_const_str_OPA_30, + (const bstring *)&be_const_str_get_x_from_index, + (const bstring *)&be_const_str_get_btnmatrix, + (const bstring *)&be_const_str_INPUT_PULLUP, + (const bstring *)&be_const_str_BORDER_SIDE_BOTTOM, + (const bstring *)&be_const_str_FS_RES_UNKNOWN, + (const bstring *)&be_const_str_KEY_PREV, + (const bstring *)&be_const_str_dot_p, + (const bstring *)&be_const_str_HPMA_RX, + (const bstring *)&be_const_str_fill_bg, + (const bstring *)&be_const_str_set_tile_act, + (const bstring *)&be_const_str_SYMBOL_CHARGE, + (const bstring *)&be_const_str_get_antialias, + (const bstring *)&be_const_str_set_height_margin, + (const bstring *)&be_const_str_EVENT_APPLY, + (const bstring *)&be_const_str_get_auto_realign, + (const bstring *)&be_const_str_glue_obj, + (const bstring *)&be_const_str_ALIGN_OUT_TOP_RIGHT, + (const bstring *)&be_const_str_BORDER_SIDE_FULL, + (const bstring *)&be_const_str_set_ext_array, + (const bstring *)&be_const_str_opt_eq, + (const bstring *)&be_const_str_lv_canvas, + (const bstring *)&be_const_str_find, + (const bstring *)&be_const_str_LEDLNK, + (const bstring *)&be_const_str_DROPDOWN_DIR_DOWN, + (const bstring *)&be_const_str_SYMBOL_COPY, + (const bstring *)&be_const_str_get_scrl_layout, + (const bstring *)&be_const_str_ARC_PART_BG, + (const bstring *)&be_const_str_SENSOR_END, + (const bstring *)&be_const_str_GAUGE_PART_NEEDLE, + NULL, + (const bstring *)&be_const_str_CNTR1_NP, + (const bstring *)&be_const_str_get_drag_throw, + (const bstring *)&be_const_str_MHZ_RXD, + (const bstring *)&be_const_str_get_cell_align, + (const bstring *)&be_const_str_align_mid_x, + (const bstring *)&be_const_str_get_label, + NULL, + (const bstring *)&be_const_str_DROPDOWN_DIR_LEFT, + NULL, + (const bstring *)&be_const_str_LOW, + (const bstring *)&be_const_str_HRXL_RX, + (const bstring *)&be_const_str_add_tab, + (const bstring *)&be_const_str_OBJMASK_PART_MAIN, + (const bstring *)&be_const_str_SYMBOL_PAUSE, + (const bstring *)&be_const_str_BL0940_RX, + (const bstring *)&be_const_str_CHART_CURSOR_NONE, + (const bstring *)&be_const_str_set_one_line, + (const bstring *)&be_const_str_set_btn_width, + (const bstring *)&be_const_str_DI, + NULL, + NULL, + (const bstring *)&be_const_str_get_style_pattern_recolor_opa, + (const bstring *)&be_const_str_TM1638STB, + (const bstring *)&be_const_str_LEDLNK_INV, + (const bstring *)&be_const_str_CHART_PART_SERIES, + (const bstring *)&be_const_str_STYLE_PAD_TOP, + (const bstring *)&be_const_str_issubclass, + (const bstring *)&be_const_str_set_image_opa, + (const bstring *)&be_const_str_get_btn_ctrl, + (const bstring *)&be_const_str_MIEL_HVAC_RX, + (const bstring *)&be_const_str_set_pattern_recolor, + (const bstring *)&be_const_str_SLIDER_TYPE_NORMAL, + (const bstring *)&be_const_str_SDM630_TX, + (const bstring *)&be_const_str_ZIGBEE_RX, + (const bstring *)&be_const_str_clear, + (const bstring *)&be_const_str_PN532_TXD, + (const bstring *)&be_const_str_TEMPL_STYLE_X, + NULL, + (const bstring *)&be_const_str_set_scale_end_color, + (const bstring *)&be_const_str_lv_obj, + (const bstring *)&be_const_str_SYMBOL_BATTERY_EMPTY, + NULL, + (const bstring *)&be_const_str_STATE_CHECKED, + (const bstring *)&be_const_str_SSPI_SCLK, + (const bstring *)&be_const_str_ALIGN_IN_TOP_LEFT, + (const bstring *)&be_const_str_ADC_TEMP, + (const bstring *)&be_const_str_DYP_RX, + NULL, + (const bstring *)&be_const_str_set_show_selected, + (const bstring *)&be_const_str_GRAY, + (const bstring *)&be_const_str_STYLE_TRANSITION_TIME, + (const bstring *)&be_const_str_TM1637DIO, + NULL, + (const bstring *)&be_const_str_opt_connect, + (const bstring *)&be_const_str_TXD, + (const bstring *)&be_const_str_ALIGN_IN_BOTTOM_RIGHT, + (const bstring *)&be_const_str_BTN_STATE_PRESSED, + (const bstring *)&be_const_str_DRAG_DIR_HOR, + (const bstring *)&be_const_str_BTNMATRIX_CTRL_CHECKABLE, + NULL, + (const bstring *)&be_const_str_CHART_AXIS_SECONDARY_Y, + (const bstring *)&be_const_str_LABEL_ALIGN_LEFT, + (const bstring *)&be_const_str_OPEN_DRAIN, + (const bstring *)&be_const_str_OPA_0, + NULL, + (const bstring *)&be_const_str_RC522_RST, + (const bstring *)&be_const_str_IBEACON_RX, + NULL, + (const bstring *)&be_const_str_CC1101_GDO0, + (const bstring *)&be_const_str_STYLE_TRANSITION_DELAY, + (const bstring *)&be_const_str_GRAD_DIR_HOR, + (const bstring *)&be_const_str_lv_checkbox, + NULL, + (const bstring *)&be_const_str_EVENT_DRAG_BEGIN, + NULL, + (const bstring *)&be_const_str_SYMBOL_TRASH, + (const bstring *)&be_const_str_OLED_RESET, + NULL, + (const bstring *)&be_const_str_SYMBOL_MINUS, + NULL, + (const bstring *)&be_const_str_LAYOUT_COLUMN_MID, + (const bstring *)&be_const_str_ROT1A_NP, + (const bstring *)&be_const_str_cut_text, + (const bstring *)&be_const_str_KEY1_INV, + (const bstring *)&be_const_str_get_scale_angle, + (const bstring *)&be_const_str_ALIGN_IN_RIGHT_MID, + NULL, + (const bstring *)&be_const_str_PROTECT_NONE, + (const bstring *)&be_const_str_PROTECT_CLICK_FOCUS, + (const bstring *)&be_const_str_MCP39F5_RST, + (const bstring *)&be_const_str_CHART_UPDATE_MODE_SHIFT, + NULL, + NULL, + (const bstring *)&be_const_str_ALIGN_CENTER, + (const bstring *)&be_const_str_STYLE_VALUE_OPA, + (const bstring *)&be_const_str_PAGE_EDGE_TOP, + (const bstring *)&be_const_str_CALENDAR_PART_DATE, + (const bstring *)&be_const_str_get_color, + (const bstring *)&be_const_str_FS_MODE_WR, + NULL, + (const bstring *)&be_const_str_add_option, + (const bstring *)&be_const_str_IRSEND, + (const bstring *)&be_const_str_EVENT_CLICKED, + NULL, + (const bstring *)&be_const_str_KEY_LEFT, + (const bstring *)&be_const_str_CPICKER_COLOR_MODE_VALUE, + (const bstring *)&be_const_str_set_style_local_bg_opa, + (const bstring *)&be_const_str_collect, + (const bstring *)&be_const_str_, + (const bstring *)&be_const_str_SPINNER_DIR_BACKWARD, + (const bstring *)&be_const_str_get_content, + (const bstring *)&be_const_str_SYMBOL_UP, + (const bstring *)&be_const_str_get_style_opa_scale, + (const bstring *)&be_const_str_set_transition_prop_6, + (const bstring *)&be_const_str_STYLE_BG_GRAD_STOP, + (const bstring *)&be_const_str_get_dir, + (const bstring *)&be_const_str_CHART_CURSOR_UP, + (const bstring *)&be_const_str_DISP_SIZE_EXTRA_LARGE, + NULL, + (const bstring *)&be_const_str_BS814_DAT, + NULL, + (const bstring *)&be_const_str_set_style_local_transform_width, + (const bstring *)&be_const_str_char, + (const bstring *)&be_const_str_ST7789_CS, + (const bstring *)&be_const_str_BORDER_SIDE_LEFT, + (const bstring *)&be_const_str_get_hor_res, + (const bstring *)&be_const_str_CHART_CURSOR_RIGHT, + (const bstring *)&be_const_str_VSPI, + (const bstring *)&be_const_str_STYLE_OUTLINE_OPA, + (const bstring *)&be_const_str_ADC_RANGE, + (const bstring *)&be_const_str_BTN_STATE_DISABLED, + (const bstring *)&be_const_str_CHART_PART_CURSOR, + (const bstring *)&be_const_str_LE01MR_RX, + (const bstring *)&be_const_str_set_style_local_pattern_repeat, + (const bstring *)&be_const_str_SYMBOL_STOP, + (const bstring *)&be_const_str_EVENT_PRESS_LOST, + (const bstring *)&be_const_str_NEOPOOL_RX }; static const struct bconststrtab m_const_string_table = { - .size = 176, - .count = 352, + .size = 801, + .count = 1603, .table = m_string_table }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h new file mode 100644 index 000000000..979b597cc --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h @@ -0,0 +1,42 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_arc_map) { + { be_const_key(set_type, -1), be_const_func(lvbe_arc_set_type) }, + { be_const_key(set_adjustable, -1), be_const_func(lvbe_arc_set_adjustable) }, + { be_const_key(set_bg_start_angle, -1), be_const_func(lvbe_arc_set_bg_start_angle) }, + { be_const_key(set_chg_rate, -1), be_const_func(lvbe_arc_set_chg_rate) }, + { be_const_key(set_start_angle, 18), be_const_func(lvbe_arc_set_start_angle) }, + { be_const_key(get_min_value, -1), be_const_func(lvbe_arc_get_min_value) }, + { be_const_key(create, 7), be_const_func(lvbe_arc_create) }, + { be_const_key(dot_p, 16), be_const_int(0) }, + { be_const_key(get_bg_angle_start, 5), be_const_func(lvbe_arc_get_bg_angle_start) }, + { be_const_key(is_dragged, -1), be_const_func(lvbe_arc_is_dragged) }, + { be_const_key(set_range, 21), be_const_func(lvbe_arc_set_range) }, + { be_const_key(get_angle_end, 6), be_const_func(lvbe_arc_get_angle_end) }, + { be_const_key(get_max_value, 9), be_const_func(lvbe_arc_get_max_value) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(set_bg_angles, -1), be_const_func(lvbe_arc_set_bg_angles) }, + { be_const_key(set_end_angle, -1), be_const_func(lvbe_arc_set_end_angle) }, + { be_const_key(set_bg_end_angle, 23), be_const_func(lvbe_arc_set_bg_end_angle) }, + { be_const_key(get_adjustable, -1), be_const_func(lvbe_arc_get_adjustable) }, + { be_const_key(set_rotation, -1), be_const_func(lvbe_arc_set_rotation) }, + { be_const_key(set_value, 10), be_const_func(lvbe_arc_set_value) }, + { be_const_key(set_angles, -1), be_const_func(lvbe_arc_set_angles) }, + { be_const_key(init, -1), be_const_func(lvbe_arc_create) }, + { be_const_key(get_angle_start, -1), be_const_func(lvbe_arc_get_angle_start) }, + { be_const_key(get_bg_angle_end, -1), be_const_func(lvbe_arc_get_bg_angle_end) }, + { be_const_key(get_type, 4), be_const_func(lvbe_arc_get_type) }, + { be_const_key(get_value, 15), be_const_func(lvbe_arc_get_value) }, +}; + +static be_define_const_map( + be_class_lv_arc_map, + 26 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_arc, + 1, + (bclass *)&be_class_lv_obj, + lv_arc +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h new file mode 100644 index 000000000..fe06ad0d9 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h @@ -0,0 +1,31 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_bar_map) { + { be_const_key(set_value, 8), be_const_func(lvbe_bar_set_value) }, + { be_const_key(get_anim_time, -1), be_const_func(lvbe_bar_get_anim_time) }, + { be_const_key(set_anim_time, 7), be_const_func(lvbe_bar_set_anim_time) }, + { be_const_key(set_range, -1), be_const_func(lvbe_bar_set_range) }, + { be_const_key(get_type, 11), be_const_func(lvbe_bar_get_type) }, + { be_const_key(get_start_value, -1), be_const_func(lvbe_bar_get_start_value) }, + { be_const_key(set_type, -1), be_const_func(lvbe_bar_set_type) }, + { be_const_key(create, -1), be_const_func(lvbe_bar_create) }, + { be_const_key(init, -1), be_const_func(lvbe_bar_create) }, + { be_const_key(get_min_value, -1), be_const_func(lvbe_bar_get_min_value) }, + { be_const_key(tostring, 1), be_const_func(lvx_tostring) }, + { be_const_key(set_start_value, 13), be_const_func(lvbe_bar_set_start_value) }, + { be_const_key(get_value, -1), be_const_func(lvbe_bar_get_value) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_max_value, -1), be_const_func(lvbe_bar_get_max_value) }, +}; + +static be_define_const_map( + be_class_lv_bar_map, + 15 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_bar, + 1, + (bclass *)&be_class_lv_obj, + lv_bar +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h new file mode 100644 index 000000000..97cd84937 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h @@ -0,0 +1,34 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_btn_map) { + { be_const_key(get_state, -1), be_const_func(lvbe_btn_get_state) }, + { be_const_key(get_fit_top, 10), be_const_func(lvbe_btn_get_fit_top) }, + { be_const_key(get_fit_bottom, 0), be_const_func(lvbe_btn_get_fit_bottom) }, + { be_const_key(set_fit4, -1), be_const_func(lvbe_btn_set_fit4) }, + { be_const_key(get_fit_right, -1), be_const_func(lvbe_btn_get_fit_right) }, + { be_const_key(create, -1), be_const_func(lvbe_btn_create) }, + { be_const_key(set_fit, -1), be_const_func(lvbe_btn_set_fit) }, + { be_const_key(tostring, 3), be_const_func(lvx_tostring) }, + { be_const_key(set_layout, -1), be_const_func(lvbe_btn_set_layout) }, + { be_const_key(get_fit_left, -1), be_const_func(lvbe_btn_get_fit_left) }, + { be_const_key(dot_p, 13), be_const_int(0) }, + { be_const_key(set_state, 6), be_const_func(lvbe_btn_set_state) }, + { be_const_key(set_checkable, 14), be_const_func(lvbe_btn_set_checkable) }, + { be_const_key(toggle, -1), be_const_func(lvbe_btn_toggle) }, + { be_const_key(get_layout, 16), be_const_func(lvbe_btn_get_layout) }, + { be_const_key(init, 9), be_const_func(lvbe_btn_create) }, + { be_const_key(get_checkable, -1), be_const_func(lvbe_btn_get_checkable) }, + { be_const_key(set_fit2, 2), be_const_func(lvbe_btn_set_fit2) }, +}; + +static be_define_const_map( + be_class_lv_btn_map, + 18 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_btn, + 1, + (bclass *)&be_class_lv_obj, + lv_btn +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h new file mode 100644 index 000000000..10067df1d --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h @@ -0,0 +1,39 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_btnmatrix_map) { + { be_const_key(clear_btn_ctrl, 13), be_const_func(lvbe_btnmatrix_clear_btn_ctrl) }, + { be_const_key(set_align, -1), be_const_func(lvbe_btnmatrix_set_align) }, + { be_const_key(get_btn_text, 7), be_const_func(lvbe_btnmatrix_get_btn_text) }, + { be_const_key(get_active_btn_text, -1), be_const_func(lvbe_btnmatrix_get_active_btn_text) }, + { be_const_key(create, 3), be_const_func(lvbe_btnmatrix_create) }, + { be_const_key(set_btn_ctrl_all, -1), be_const_func(lvbe_btnmatrix_set_btn_ctrl_all) }, + { be_const_key(clear_btn_ctrl_all, 12), be_const_func(lvbe_btnmatrix_clear_btn_ctrl_all) }, + { be_const_key(get_one_check, -1), be_const_func(lvbe_btnmatrix_get_one_check) }, + { be_const_key(get_active_btn, -1), be_const_func(lvbe_btnmatrix_get_active_btn) }, + { be_const_key(get_align, 22), be_const_func(lvbe_btnmatrix_get_align) }, + { be_const_key(set_focused_btn, 4), be_const_func(lvbe_btnmatrix_set_focused_btn) }, + { be_const_key(set_map, -1), be_const_func(lvbe_btnmatrix_set_map) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_one_check, 20), be_const_func(lvbe_btnmatrix_set_one_check) }, + { be_const_key(init, -1), be_const_func(lvbe_btnmatrix_create) }, + { be_const_key(get_recolor, -1), be_const_func(lvbe_btnmatrix_get_recolor) }, + { be_const_key(set_recolor, 8), be_const_func(lvbe_btnmatrix_set_recolor) }, + { be_const_key(set_btn_ctrl, -1), be_const_func(lvbe_btnmatrix_set_btn_ctrl) }, + { be_const_key(get_focused_btn, -1), be_const_func(lvbe_btnmatrix_get_focused_btn) }, + { be_const_key(set_btn_width, 0), be_const_func(lvbe_btnmatrix_set_btn_width) }, + { be_const_key(get_btn_ctrl, -1), be_const_func(lvbe_btnmatrix_get_btn_ctrl) }, + { be_const_key(set_ctrl_map, 5), be_const_func(lvbe_btnmatrix_set_ctrl_map) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, +}; + +static be_define_const_map( + be_class_lv_btnmatrix_map, + 23 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_btnmatrix, + 1, + (bclass *)&be_class_lv_obj, + lv_btnmatrix +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h new file mode 100644 index 000000000..cd6df54f3 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h @@ -0,0 +1,27 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_calendar_map) { + { be_const_key(create, -1), be_const_func(lvbe_calendar_create) }, + { be_const_key(get_day_of_week, -1), be_const_func(lvbe_calendar_get_day_of_week) }, + { be_const_key(get_highlighted_dates_num, 5), be_const_func(lvbe_calendar_get_highlighted_dates_num) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(set_highlighted_dates, -1), be_const_func(lvbe_calendar_set_highlighted_dates) }, + { be_const_key(set_showed_date, -1), be_const_func(lvbe_calendar_set_showed_date) }, + { be_const_key(set_day_names, -1), be_const_func(lvbe_calendar_set_day_names) }, + { be_const_key(set_today_date, -1), be_const_func(lvbe_calendar_set_today_date) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(init, 4), be_const_func(lvbe_calendar_create) }, + { be_const_key(set_month_names, -1), be_const_func(lvbe_calendar_set_month_names) }, +}; + +static be_define_const_map( + be_class_lv_calendar_map, + 11 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_calendar, + 1, + (bclass *)&be_class_lv_obj, + lv_calendar +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h new file mode 100644 index 000000000..8557ba375 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h @@ -0,0 +1,35 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_canvas_map) { + { be_const_key(init, 16), be_const_func(lvbe_canvas_create) }, + { be_const_key(set_palette, -1), be_const_func(lvbe_canvas_set_palette) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(draw_img, -1), be_const_func(lvbe_canvas_draw_img) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(copy_buf, 6), be_const_func(lvbe_canvas_copy_buf) }, + { be_const_key(create, 17), be_const_func(lvbe_canvas_create) }, + { be_const_key(draw_arc, 10), be_const_func(lvbe_canvas_draw_arc) }, + { be_const_key(get_px, 7), be_const_func(lvbe_canvas_get_px) }, + { be_const_key(transform, -1), be_const_func(lvbe_canvas_transform) }, + { be_const_key(draw_text, 3), be_const_func(lvbe_canvas_draw_text) }, + { be_const_key(fill_bg, -1), be_const_func(lvbe_canvas_fill_bg) }, + { be_const_key(draw_polygon, -1), be_const_func(lvbe_canvas_draw_polygon) }, + { be_const_key(blur_ver, 0), be_const_func(lvbe_canvas_blur_ver) }, + { be_const_key(blur_hor, -1), be_const_func(lvbe_canvas_blur_hor) }, + { be_const_key(draw_line, -1), be_const_func(lvbe_canvas_draw_line) }, + { be_const_key(draw_rect, -1), be_const_func(lvbe_canvas_draw_rect) }, + { be_const_key(set_buffer, -1), be_const_func(lvbe_canvas_set_buffer) }, + { be_const_key(set_px, -1), be_const_func(lvbe_canvas_set_px) }, +}; + +static be_define_const_map( + be_class_lv_canvas_map, + 19 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_canvas, + 1, + (bclass *)&be_class_lv_obj, + lv_canvas +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h new file mode 100644 index 000000000..65d0c2bc5 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h @@ -0,0 +1,53 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_chart_map) { + { be_const_key(init, -1), be_const_func(lvbe_chart_create) }, + { be_const_key(set_secondary_y_tick_length, -1), be_const_func(lvbe_chart_set_secondary_y_tick_length) }, + { be_const_key(create, -1), be_const_func(lvbe_chart_create) }, + { be_const_key(set_x_tick_length, -1), be_const_func(lvbe_chart_set_x_tick_length) }, + { be_const_key(set_next, -1), be_const_func(lvbe_chart_set_next) }, + { be_const_key(set_x_start_point, 14), be_const_func(lvbe_chart_set_x_start_point) }, + { be_const_key(set_point_id, 23), be_const_func(lvbe_chart_set_point_id) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_ext_array, 12), be_const_func(lvbe_chart_set_ext_array) }, + { be_const_key(get_cursor_point, 4), be_const_func(lvbe_chart_get_cursor_point) }, + { be_const_key(hide_series, -1), be_const_func(lvbe_chart_hide_series) }, + { be_const_key(refresh, -1), be_const_func(lvbe_chart_refresh) }, + { be_const_key(set_point_count, -1), be_const_func(lvbe_chart_set_point_count) }, + { be_const_key(set_secondary_y_tick_texts, -1), be_const_func(lvbe_chart_set_secondary_y_tick_texts) }, + { be_const_key(set_points, 27), be_const_func(lvbe_chart_set_points) }, + { be_const_key(set_update_mode, -1), be_const_func(lvbe_chart_set_update_mode) }, + { be_const_key(set_y_tick_texts, 1), be_const_func(lvbe_chart_set_y_tick_texts) }, + { be_const_key(set_cursor_point, -1), be_const_func(lvbe_chart_set_cursor_point) }, + { be_const_key(get_point_count, -1), be_const_func(lvbe_chart_get_point_count) }, + { be_const_key(init_points, 20), be_const_func(lvbe_chart_init_points) }, + { be_const_key(remove_series, -1), be_const_func(lvbe_chart_remove_series) }, + { be_const_key(set_series_axis, 8), be_const_func(lvbe_chart_set_series_axis) }, + { be_const_key(set_type, -1), be_const_func(lvbe_chart_set_type) }, + { be_const_key(clear_series, -1), be_const_func(lvbe_chart_clear_series) }, + { be_const_key(set_div_line_count, -1), be_const_func(lvbe_chart_set_div_line_count) }, + { be_const_key(get_point_id, 31), be_const_func(lvbe_chart_get_point_id) }, + { be_const_key(tostring, 17), be_const_func(lvx_tostring) }, + { be_const_key(set_y_range, -1), be_const_func(lvbe_chart_set_y_range) }, + { be_const_key(get_type, -1), be_const_func(lvbe_chart_get_type) }, + { be_const_key(get_series_axis, 30), be_const_func(lvbe_chart_get_series_axis) }, + { be_const_key(set_y_tick_length, -1), be_const_func(lvbe_chart_set_y_tick_length) }, + { be_const_key(get_nearest_index_from_coord, -1), be_const_func(lvbe_chart_get_nearest_index_from_coord) }, + { be_const_key(set_x_tick_texts, -1), be_const_func(lvbe_chart_set_x_tick_texts) }, + { be_const_key(get_x_from_index, -1), be_const_func(lvbe_chart_get_x_from_index) }, + { be_const_key(get_x_start_point, -1), be_const_func(lvbe_chart_get_x_start_point) }, + { be_const_key(get_series_area, 33), be_const_func(lvbe_chart_get_series_area) }, + { be_const_key(get_y_from_index, -1), be_const_func(lvbe_chart_get_y_from_index) }, +}; + +static be_define_const_map( + be_class_lv_chart_map, + 37 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_chart, + 1, + (bclass *)&be_class_lv_obj, + lv_chart +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h new file mode 100644 index 000000000..ea7f09ac4 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h @@ -0,0 +1,29 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_checkbox_map) { + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(get_state, -1), be_const_func(lvbe_checkbox_get_state) }, + { be_const_key(is_checked, 7), be_const_func(lvbe_checkbox_is_checked) }, + { be_const_key(dot_p, 4), be_const_int(0) }, + { be_const_key(create, 9), be_const_func(lvbe_checkbox_create) }, + { be_const_key(set_state, -1), be_const_func(lvbe_checkbox_set_state) }, + { be_const_key(is_inactive, 10), be_const_func(lvbe_checkbox_is_inactive) }, + { be_const_key(set_disabled, -1), be_const_func(lvbe_checkbox_set_disabled) }, + { be_const_key(set_checked, -1), be_const_func(lvbe_checkbox_set_checked) }, + { be_const_key(get_text, -1), be_const_func(lvbe_checkbox_get_text) }, + { be_const_key(init, -1), be_const_func(lvbe_checkbox_create) }, + { be_const_key(set_text, 3), be_const_func(lvbe_checkbox_set_text) }, + { be_const_key(set_text_static, 2), be_const_func(lvbe_checkbox_set_text_static) }, +}; + +static be_define_const_map( + be_class_lv_checkbox_map, + 13 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_checkbox, + 1, + (bclass *)&be_class_lv_obj, + lv_checkbox +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h new file mode 100644 index 000000000..252a6d6ab --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h @@ -0,0 +1,19 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_color_map) { + { be_const_key(init, -1), be_const_func(lco_init) }, + { be_const_key(tostring, 2), be_const_func(lco_tostring) }, + { be_const_key(dot_p, -1), be_const_int(0) }, +}; + +static be_define_const_map( + be_class_lv_color_map, + 3 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_color, + 1, + NULL, + lv_color +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h new file mode 100644 index 000000000..5925f9691 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h @@ -0,0 +1,29 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_cont_map) { + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(get_layout, -1), be_const_func(lvbe_cont_get_layout) }, + { be_const_key(set_fit2, -1), be_const_func(lvbe_cont_set_fit2) }, + { be_const_key(set_fit, -1), be_const_func(lvbe_cont_set_fit) }, + { be_const_key(get_fit_top, -1), be_const_func(lvbe_cont_get_fit_top) }, + { be_const_key(get_fit_bottom, -1), be_const_func(lvbe_cont_get_fit_bottom) }, + { be_const_key(init, 9), be_const_func(lvbe_cont_create) }, + { be_const_key(create, -1), be_const_func(lvbe_cont_create) }, + { be_const_key(get_fit_right, 1), be_const_func(lvbe_cont_get_fit_right) }, + { be_const_key(get_fit_left, -1), be_const_func(lvbe_cont_get_fit_left) }, + { be_const_key(set_layout, -1), be_const_func(lvbe_cont_set_layout) }, + { be_const_key(dot_p, 7), be_const_int(0) }, + { be_const_key(set_fit4, -1), be_const_func(lvbe_cont_set_fit4) }, +}; + +static be_define_const_map( + be_class_lv_cont_map, + 13 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_cont, + 1, + (bclass *)&be_class_lv_obj, + lv_cont +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h new file mode 100644 index 000000000..a9ff749d2 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h @@ -0,0 +1,37 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_cpicker_map) { + { be_const_key(init, 2), be_const_func(lvbe_cpicker_create) }, + { be_const_key(get_hue, -1), be_const_func(lvbe_cpicker_get_hue) }, + { be_const_key(get_value, -1), be_const_func(lvbe_cpicker_get_value) }, + { be_const_key(set_color, 13), be_const_func(lvbe_cpicker_set_color) }, + { be_const_key(set_color_mode, -1), be_const_func(lvbe_cpicker_set_color_mode) }, + { be_const_key(get_knob_colored, 15), be_const_func(lvbe_cpicker_get_knob_colored) }, + { be_const_key(get_color_mode, -1), be_const_func(lvbe_cpicker_get_color_mode) }, + { be_const_key(set_hsv, 18), be_const_func(lvbe_cpicker_set_hsv) }, + { be_const_key(set_saturation, -1), be_const_func(lvbe_cpicker_set_saturation) }, + { be_const_key(set_knob_colored, -1), be_const_func(lvbe_cpicker_set_knob_colored) }, + { be_const_key(set_hue, 17), be_const_func(lvbe_cpicker_set_hue) }, + { be_const_key(set_color_mode_fixed, -1), be_const_func(lvbe_cpicker_set_color_mode_fixed) }, + { be_const_key(set_value, 0), be_const_func(lvbe_cpicker_set_value) }, + { be_const_key(set_type, -1), be_const_func(lvbe_cpicker_set_type) }, + { be_const_key(create, -1), be_const_func(lvbe_cpicker_create) }, + { be_const_key(get_color, 16), be_const_func(lvbe_cpicker_get_color) }, + { be_const_key(get_color_mode_fixed, -1), be_const_func(lvbe_cpicker_get_color_mode_fixed) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_saturation, -1), be_const_func(lvbe_cpicker_get_saturation) }, + { be_const_key(get_hsv, -1), be_const_func(lvbe_cpicker_get_hsv) }, +}; + +static be_define_const_map( + be_class_lv_cpicker_map, + 21 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_cpicker, + 1, + (bclass *)&be_class_lv_obj, + lv_cpicker +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h new file mode 100644 index 000000000..ee5d4904e --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h @@ -0,0 +1,41 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_dropdown_map) { + { be_const_key(get_selected, -1), be_const_func(lvbe_dropdown_get_selected) }, + { be_const_key(get_show_selected, -1), be_const_func(lvbe_dropdown_get_show_selected) }, + { be_const_key(init, -1), be_const_func(lvbe_dropdown_create) }, + { be_const_key(set_symbol, 18), be_const_func(lvbe_dropdown_set_symbol) }, + { be_const_key(get_text, -1), be_const_func(lvbe_dropdown_get_text) }, + { be_const_key(set_text, 2), be_const_func(lvbe_dropdown_set_text) }, + { be_const_key(set_dir, 8), be_const_func(lvbe_dropdown_set_dir) }, + { be_const_key(get_dir, -1), be_const_func(lvbe_dropdown_get_dir) }, + { be_const_key(get_option_cnt, -1), be_const_func(lvbe_dropdown_get_option_cnt) }, + { be_const_key(create, -1), be_const_func(lvbe_dropdown_create) }, + { be_const_key(set_selected, -1), be_const_func(lvbe_dropdown_set_selected) }, + { be_const_key(dot_p, 24), be_const_int(0) }, + { be_const_key(open, 7), be_const_func(lvbe_dropdown_open) }, + { be_const_key(set_max_height, -1), be_const_func(lvbe_dropdown_set_max_height) }, + { be_const_key(add_option, -1), be_const_func(lvbe_dropdown_add_option) }, + { be_const_key(set_show_selected, 16), be_const_func(lvbe_dropdown_set_show_selected) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(set_options_static, 9), be_const_func(lvbe_dropdown_set_options_static) }, + { be_const_key(clear_options, -1), be_const_func(lvbe_dropdown_clear_options) }, + { be_const_key(get_max_height, 11), be_const_func(lvbe_dropdown_get_max_height) }, + { be_const_key(set_options, 15), be_const_func(lvbe_dropdown_set_options) }, + { be_const_key(close, -1), be_const_func(lvbe_dropdown_close) }, + { be_const_key(get_selected_str, -1), be_const_func(lvbe_dropdown_get_selected_str) }, + { be_const_key(get_symbol, 13), be_const_func(lvbe_dropdown_get_symbol) }, + { be_const_key(get_options, -1), be_const_func(lvbe_dropdown_get_options) }, +}; + +static be_define_const_map( + be_class_lv_dropdown_map, + 25 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_dropdown, + 1, + (bclass *)&be_class_lv_obj, + lv_dropdown +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h new file mode 100644 index 000000000..47cf8975f --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h @@ -0,0 +1,19 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_font_map) { + { be_const_key(init, -1), be_const_func(lvx_init) }, + { be_const_key(tostring, 2), be_const_func(lvx_tostring) }, + { be_const_key(dot_p, -1), be_const_int(0) }, +}; + +static be_define_const_map( + be_class_lv_font_map, + 3 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_font, + 1, + NULL, + lv_font +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h new file mode 100644 index 000000000..eb7d98fa4 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h @@ -0,0 +1,40 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_gauge_map) { + { be_const_key(get_needle_img_pivot_y, -1), be_const_func(lvbe_gauge_get_needle_img_pivot_y) }, + { be_const_key(get_needle_img_pivot_x, -1), be_const_func(lvbe_gauge_get_needle_img_pivot_x) }, + { be_const_key(get_line_count, -1), be_const_func(lvbe_gauge_get_line_count) }, + { be_const_key(init, -1), be_const_func(lvbe_gauge_create) }, + { be_const_key(dot_p, 20), be_const_int(0) }, + { be_const_key(create, -1), be_const_func(lvbe_gauge_create) }, + { be_const_key(get_min_value, 2), be_const_func(lvbe_gauge_get_min_value) }, + { be_const_key(set_range, -1), be_const_func(lvbe_gauge_set_range) }, + { be_const_key(get_max_value, -1), be_const_func(lvbe_gauge_get_max_value) }, + { be_const_key(get_value, 7), be_const_func(lvbe_gauge_get_value) }, + { be_const_key(get_label_count, -1), be_const_func(lvbe_gauge_get_label_count) }, + { be_const_key(set_needle_img, 1), be_const_func(lvbe_gauge_set_needle_img) }, + { be_const_key(get_needle_count, -1), be_const_func(lvbe_gauge_get_needle_count) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(set_scale, -1), be_const_func(lvbe_gauge_set_scale) }, + { be_const_key(set_critical_value, 16), be_const_func(lvbe_gauge_set_critical_value) }, + { be_const_key(get_angle_offset, -1), be_const_func(lvbe_gauge_get_angle_offset) }, + { be_const_key(get_critical_value, -1), be_const_func(lvbe_gauge_get_critical_value) }, + { be_const_key(set_formatter_cb, -1), be_const_func(lvbe_gauge_set_formatter_cb) }, + { be_const_key(set_needle_count, 4), be_const_func(lvbe_gauge_set_needle_count) }, + { be_const_key(set_angle_offset, 17), be_const_func(lvbe_gauge_set_angle_offset) }, + { be_const_key(set_value, -1), be_const_func(lvbe_gauge_set_value) }, + { be_const_key(get_scale_angle, -1), be_const_func(lvbe_gauge_get_scale_angle) }, + { be_const_key(get_needle_img, 12), be_const_func(lvbe_gauge_get_needle_img) }, +}; + +static be_define_const_map( + be_class_lv_gauge_map, + 24 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_gauge, + 1, + (bclass *)&be_class_lv_obj, + lv_gauge +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h new file mode 100644 index 000000000..46caf5358 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h @@ -0,0 +1,39 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_group_map) { + { be_const_key(get_focus_cb, 17), be_const_func(lvbe_group_get_focus_cb) }, + { be_const_key(init, 7), be_const_func(lvbe_group_create) }, + { be_const_key(focus_next, -1), be_const_func(lvbe_group_focus_next) }, + { be_const_key(focus_freeze, -1), be_const_func(lvbe_group_focus_freeze) }, + { be_const_key(set_click_focus, -1), be_const_func(lvbe_group_set_click_focus) }, + { be_const_key(get_wrap, 8), be_const_func(lvbe_group_get_wrap) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_editing, 11), be_const_func(lvbe_group_get_editing) }, + { be_const_key(get_focused, -1), be_const_func(lvbe_group_get_focused) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(create, 2), be_const_func(lvbe_group_create) }, + { be_const_key(set_refocus_policy, -1), be_const_func(lvbe_group_set_refocus_policy) }, + { be_const_key(send_data, 21), be_const_func(lvbe_group_send_data) }, + { be_const_key(add_obj, 22), be_const_func(lvbe_group_add_obj) }, + { be_const_key(set_focus_cb, 1), be_const_func(lvbe_group_set_focus_cb) }, + { be_const_key(set_editing, -1), be_const_func(lvbe_group_set_editing) }, + { be_const_key(set_wrap, 0), be_const_func(lvbe_group_set_wrap) }, + { be_const_key(remove_obj, -1), be_const_func(lvbe_group_remove_obj) }, + { be_const_key(focus_obj, -1), be_const_func(lvbe_group_focus_obj) }, + { be_const_key(remove_all_objs, 12), be_const_func(lvbe_group_remove_all_objs) }, + { be_const_key(focus_prev, -1), be_const_func(lvbe_group_focus_prev) }, + { be_const_key(get_click_focus, -1), be_const_func(lvbe_group_get_click_focus) }, + { be_const_key(del, -1), be_const_func(lvbe_group_del) }, +}; + +static be_define_const_map( + be_class_lv_group_map, + 23 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_group, + 1, + NULL, + lv_group +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h new file mode 100644 index 000000000..afca9d38d --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h @@ -0,0 +1,38 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_img_map) { + { be_const_key(get_offset_y, -1), be_const_func(lvbe_img_get_offset_y) }, + { be_const_key(get_zoom, 2), be_const_func(lvbe_img_get_zoom) }, + { be_const_key(set_tasmota_logo, -1), be_const_func(lvbe_img_set_tasmota_logo) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(get_pivot, 15), be_const_func(lvbe_img_get_pivot) }, + { be_const_key(get_auto_size, 1), be_const_func(lvbe_img_get_auto_size) }, + { be_const_key(get_offset_x, 4), be_const_func(lvbe_img_get_offset_x) }, + { be_const_key(set_angle, 0), be_const_func(lvbe_img_set_angle) }, + { be_const_key(get_src, -1), be_const_func(lvbe_img_get_src) }, + { be_const_key(set_zoom, 12), be_const_func(lvbe_img_set_zoom) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(create, -1), be_const_func(lvbe_img_create) }, + { be_const_key(init, -1), be_const_func(lvbe_img_create) }, + { be_const_key(get_angle, -1), be_const_func(lvbe_img_get_angle) }, + { be_const_key(set_src, -1), be_const_func(lvbe_img_set_src) }, + { be_const_key(set_pivot, 17), be_const_func(lvbe_img_set_pivot) }, + { be_const_key(set_antialias, -1), be_const_func(lvbe_img_set_antialias) }, + { be_const_key(get_antialias, -1), be_const_func(lvbe_img_get_antialias) }, + { be_const_key(set_offset_x, -1), be_const_func(lvbe_img_set_offset_x) }, + { be_const_key(set_offset_y, 10), be_const_func(lvbe_img_set_offset_y) }, + { be_const_key(get_file_name, -1), be_const_func(lvbe_img_get_file_name) }, + { be_const_key(set_auto_size, -1), be_const_func(lvbe_img_set_auto_size) }, +}; + +static be_define_const_map( + be_class_lv_img_map, + 22 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_img, + 1, + (bclass *)&be_class_lv_obj, + lv_img +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h new file mode 100644 index 000000000..fb982bdc8 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h @@ -0,0 +1,26 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_imgbtn_map) { + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_state, -1), be_const_func(lvbe_imgbtn_set_state) }, + { be_const_key(set_checkable, -1), be_const_func(lvbe_imgbtn_set_checkable) }, + { be_const_key(toggle, 1), be_const_func(lvbe_imgbtn_toggle) }, + { be_const_key(get_src, -1), be_const_func(lvbe_imgbtn_get_src) }, + { be_const_key(init, 6), be_const_func(lvbe_imgbtn_create) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(create, -1), be_const_func(lvbe_imgbtn_create) }, + { be_const_key(set_src, -1), be_const_func(lvbe_imgbtn_set_src) }, + { be_const_key(get_state, 0), be_const_func(lvbe_imgbtn_get_state) }, +}; + +static be_define_const_map( + be_class_lv_imgbtn_map, + 10 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_imgbtn, + 1, + (bclass *)&be_class_lv_obj, + lv_imgbtn +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h new file mode 100644 index 000000000..57de28968 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h @@ -0,0 +1,28 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_keyboard_map) { + { be_const_key(set_ctrl_map, -1), be_const_func(lvbe_keyboard_set_ctrl_map) }, + { be_const_key(def_event_cb, 10), be_const_func(lvbe_keyboard_def_event_cb) }, + { be_const_key(get_textarea, 6), be_const_func(lvbe_keyboard_get_textarea) }, + { be_const_key(init, -1), be_const_func(lvbe_keyboard_create) }, + { be_const_key(get_cursor_manage, -1), be_const_func(lvbe_keyboard_get_cursor_manage) }, + { be_const_key(create, -1), be_const_func(lvbe_keyboard_create) }, + { be_const_key(set_textarea, 9), be_const_func(lvbe_keyboard_set_textarea) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_cursor_manage, -1), be_const_func(lvbe_keyboard_set_cursor_manage) }, + { be_const_key(set_map, -1), be_const_func(lvbe_keyboard_set_map) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(set_mode, -1), be_const_func(lvbe_keyboard_set_mode) }, +}; + +static be_define_const_map( + be_class_lv_keyboard_map, + 12 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_keyboard, + 1, + (bclass *)&be_class_lv_obj, + lv_keyboard +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h new file mode 100644 index 000000000..b59c025e1 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h @@ -0,0 +1,42 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_label_map) { + { be_const_key(get_letter_on, -1), be_const_func(lvbe_label_get_letter_on) }, + { be_const_key(create, 14), be_const_func(lvbe_label_create) }, + { be_const_key(is_char_under_pos, -1), be_const_func(lvbe_label_is_char_under_pos) }, + { be_const_key(ins_text, -1), be_const_func(lvbe_label_ins_text) }, + { be_const_key(set_text_static, -1), be_const_func(lvbe_label_set_text_static) }, + { be_const_key(set_anim_speed, -1), be_const_func(lvbe_label_set_anim_speed) }, + { be_const_key(init, -1), be_const_func(lvbe_label_create) }, + { be_const_key(get_text_sel_start, -1), be_const_func(lvbe_label_get_text_sel_start) }, + { be_const_key(set_recolor, 15), be_const_func(lvbe_label_set_recolor) }, + { be_const_key(get_letter_pos, 23), be_const_func(lvbe_label_get_letter_pos) }, + { be_const_key(get_text_sel_end, -1), be_const_func(lvbe_label_get_text_sel_end) }, + { be_const_key(set_text_sel_start, 1), be_const_func(lvbe_label_set_text_sel_start) }, + { be_const_key(refr_text, 4), be_const_func(lvbe_label_refr_text) }, + { be_const_key(cut_text, 9), be_const_func(lvbe_label_cut_text) }, + { be_const_key(get_text, 16), be_const_func(lvbe_label_get_text) }, + { be_const_key(set_long_mode, -1), be_const_func(lvbe_label_set_long_mode) }, + { be_const_key(set_text, 17), be_const_func(lvbe_label_set_text) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_long_mode, -1), be_const_func(lvbe_label_get_long_mode) }, + { be_const_key(get_align, 6), be_const_func(lvbe_label_get_align) }, + { be_const_key(set_text_sel_end, 2), be_const_func(lvbe_label_set_text_sel_end) }, + { be_const_key(set_text_fmt, -1), be_const_func(lvbe_label_set_text_fmt) }, + { be_const_key(get_recolor, -1), be_const_func(lvbe_label_get_recolor) }, + { be_const_key(tostring, 24), be_const_func(lvx_tostring) }, + { be_const_key(get_anim_speed, -1), be_const_func(lvbe_label_get_anim_speed) }, + { be_const_key(set_align, -1), be_const_func(lvbe_label_set_align) }, +}; + +static be_define_const_map( + be_class_lv_label_map, + 26 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_label, + 1, + (bclass *)&be_class_lv_obj, + lv_label +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h new file mode 100644 index 000000000..87f42c003 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h @@ -0,0 +1,25 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_led_map) { + { be_const_key(get_bright, -1), be_const_func(lvbe_led_get_bright) }, + { be_const_key(toggle, 4), be_const_func(lvbe_led_toggle) }, + { be_const_key(on, -1), be_const_func(lvbe_led_on) }, + { be_const_key(set_bright, -1), be_const_func(lvbe_led_set_bright) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(off, 8), be_const_func(lvbe_led_off) }, + { be_const_key(init, 3), be_const_func(lvbe_led_create) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(create, -1), be_const_func(lvbe_led_create) }, +}; + +static be_define_const_map( + be_class_lv_led_map, + 9 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_led, + 1, + (bclass *)&be_class_lv_obj, + lv_led +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h new file mode 100644 index 000000000..6bd3d7bc7 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h @@ -0,0 +1,25 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_line_map) { + { be_const_key(get_y_invert, -1), be_const_func(lvbe_line_get_y_invert) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_auto_size, -1), be_const_func(lvbe_line_get_auto_size) }, + { be_const_key(init, -1), be_const_func(lvbe_line_create) }, + { be_const_key(set_auto_size, -1), be_const_func(lvbe_line_set_auto_size) }, + { be_const_key(set_points, 8), be_const_func(lvbe_line_set_points) }, + { be_const_key(set_y_invert, 3), be_const_func(lvbe_line_set_y_invert) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(create, -1), be_const_func(lvbe_line_create) }, +}; + +static be_define_const_map( + be_class_lv_line_map, + 9 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_line, + 1, + (bclass *)&be_class_lv_obj, + lv_line +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h new file mode 100644 index 000000000..c9742f1be --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h @@ -0,0 +1,33 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_linemeter_map) { + { be_const_key(set_mirror, 9), be_const_func(lvbe_linemeter_set_mirror) }, + { be_const_key(get_max_value, 10), be_const_func(lvbe_linemeter_get_max_value) }, + { be_const_key(tostring, 12), be_const_func(lvx_tostring) }, + { be_const_key(set_value, -1), be_const_func(lvbe_linemeter_set_value) }, + { be_const_key(set_angle_offset, -1), be_const_func(lvbe_linemeter_set_angle_offset) }, + { be_const_key(draw_scale, -1), be_const_func(lvbe_linemeter_draw_scale) }, + { be_const_key(get_mirror, 11), be_const_func(lvbe_linemeter_get_mirror) }, + { be_const_key(get_line_count, -1), be_const_func(lvbe_linemeter_get_line_count) }, + { be_const_key(set_scale, -1), be_const_func(lvbe_linemeter_set_scale) }, + { be_const_key(get_value, -1), be_const_func(lvbe_linemeter_get_value) }, + { be_const_key(get_scale_angle, -1), be_const_func(lvbe_linemeter_get_scale_angle) }, + { be_const_key(get_angle_offset, -1), be_const_func(lvbe_linemeter_get_angle_offset) }, + { be_const_key(set_range, -1), be_const_func(lvbe_linemeter_set_range) }, + { be_const_key(dot_p, 5), be_const_int(0) }, + { be_const_key(get_min_value, -1), be_const_func(lvbe_linemeter_get_min_value) }, + { be_const_key(init, -1), be_const_func(lvbe_linemeter_create) }, + { be_const_key(create, -1), be_const_func(lvbe_linemeter_create) }, +}; + +static be_define_const_map( + be_class_lv_linemeter_map, + 17 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_linemeter, + 1, + (bclass *)&be_class_lv_obj, + lv_linemeter +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h new file mode 100644 index 000000000..0de5de999 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h @@ -0,0 +1,45 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_list_map) { + { be_const_key(remove, -1), be_const_func(lvbe_list_remove) }, + { be_const_key(get_edge_flash, 16), be_const_func(lvbe_list_get_edge_flash) }, + { be_const_key(get_anim_time, -1), be_const_func(lvbe_list_get_anim_time) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(get_btn_label, 24), be_const_func(lvbe_list_get_btn_label) }, + { be_const_key(up, -1), be_const_func(lvbe_list_up) }, + { be_const_key(get_scrollbar_mode, -1), be_const_func(lvbe_list_get_scrollbar_mode) }, + { be_const_key(get_prev_btn, 28), be_const_func(lvbe_list_get_prev_btn) }, + { be_const_key(get_scroll_propagation, 14), be_const_func(lvbe_list_get_scroll_propagation) }, + { be_const_key(focus, 13), be_const_func(lvbe_list_focus) }, + { be_const_key(get_layout, 4), be_const_func(lvbe_list_get_layout) }, + { be_const_key(down, -1), be_const_func(lvbe_list_down) }, + { be_const_key(get_btn_index, -1), be_const_func(lvbe_list_get_btn_index) }, + { be_const_key(clean, -1), be_const_func(lvbe_list_clean) }, + { be_const_key(create, -1), be_const_func(lvbe_list_create) }, + { be_const_key(get_next_btn, -1), be_const_func(lvbe_list_get_next_btn) }, + { be_const_key(get_btn_img, -1), be_const_func(lvbe_list_get_btn_img) }, + { be_const_key(get_btn_selected, -1), be_const_func(lvbe_list_get_btn_selected) }, + { be_const_key(set_edge_flash, -1), be_const_func(lvbe_list_set_edge_flash) }, + { be_const_key(get_btn_text, -1), be_const_func(lvbe_list_get_btn_text) }, + { be_const_key(set_layout, -1), be_const_func(lvbe_list_set_layout) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_scrollbar_mode, -1), be_const_func(lvbe_list_set_scrollbar_mode) }, + { be_const_key(focus_btn, -1), be_const_func(lvbe_list_focus_btn) }, + { be_const_key(init, -1), be_const_func(lvbe_list_create) }, + { be_const_key(set_scroll_propagation, 27), be_const_func(lvbe_list_set_scroll_propagation) }, + { be_const_key(get_size, 20), be_const_func(lvbe_list_get_size) }, + { be_const_key(set_anim_time, -1), be_const_func(lvbe_list_set_anim_time) }, + { be_const_key(add_btn, -1), be_const_func(lvbe_list_add_btn) }, +}; + +static be_define_const_map( + be_class_lv_list_map, + 29 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_list, + 1, + (bclass *)&be_class_lv_obj, + lv_list +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h new file mode 100644 index 000000000..6a349f213 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h @@ -0,0 +1,33 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_msgbox_map) { + { be_const_key(get_text, 12), be_const_func(lvbe_msgbox_get_text) }, + { be_const_key(set_anim_time, 3), be_const_func(lvbe_msgbox_set_anim_time) }, + { be_const_key(tostring, 0), be_const_func(lvx_tostring) }, + { be_const_key(add_btns, 4), be_const_func(lvbe_msgbox_add_btns) }, + { be_const_key(get_active_btn, -1), be_const_func(lvbe_msgbox_get_active_btn) }, + { be_const_key(stop_auto_close, -1), be_const_func(lvbe_msgbox_stop_auto_close) }, + { be_const_key(start_auto_close, -1), be_const_func(lvbe_msgbox_start_auto_close) }, + { be_const_key(init, -1), be_const_func(lvbe_msgbox_create) }, + { be_const_key(get_btnmatrix, -1), be_const_func(lvbe_msgbox_get_btnmatrix) }, + { be_const_key(get_anim_time, 6), be_const_func(lvbe_msgbox_get_anim_time) }, + { be_const_key(set_text_fmt, -1), be_const_func(lvbe_msgbox_set_text_fmt) }, + { be_const_key(set_recolor, 10), be_const_func(lvbe_msgbox_set_recolor) }, + { be_const_key(get_active_btn_text, -1), be_const_func(lvbe_msgbox_get_active_btn_text) }, + { be_const_key(dot_p, 8), be_const_int(0) }, + { be_const_key(get_recolor, -1), be_const_func(lvbe_msgbox_get_recolor) }, + { be_const_key(set_text, 7), be_const_func(lvbe_msgbox_set_text) }, + { be_const_key(create, -1), be_const_func(lvbe_msgbox_create) }, +}; + +static be_define_const_map( + be_class_lv_msgbox_map, + 17 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_msgbox, + 1, + (bclass *)&be_class_lv_obj, + lv_msgbox +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h new file mode 100644 index 000000000..8a35a219f --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h @@ -0,0 +1,307 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_obj_map) { + { be_const_key(get_style_border_color, -1), be_const_func(lvbe_obj_get_style_border_color) }, + { be_const_key(get_style_scale_grad_color, -1), be_const_func(lvbe_obj_get_style_scale_grad_color) }, + { be_const_key(get_state, -1), be_const_func(lvbe_obj_get_state) }, + { be_const_key(refresh_style, -1), be_const_func(lvbe_obj_refresh_style) }, + { be_const_key(set_style_local_text_opa, -1), be_const_func(lvbe_obj_set_style_local_text_opa) }, + { be_const_key(create, 181), be_const_func(lvbe_obj_create) }, + { be_const_key(refresh_ext_draw_pad, -1), be_const_func(lvbe_obj_refresh_ext_draw_pad) }, + { be_const_key(get_style_pad_top, 75), be_const_func(lvbe_obj_get_style_pad_top) }, + { be_const_key(get_style_opa_scale, 82), be_const_func(lvbe_obj_get_style_opa_scale) }, + { be_const_key(align_mid_x, 151), be_const_func(lvbe_obj_align_mid_x) }, + { be_const_key(set_style_local_margin_top, -1), be_const_func(lvbe_obj_set_style_local_margin_top) }, + { be_const_key(align_y, -1), be_const_func(lvbe_obj_align_y) }, + { be_const_key(set_ext_click_area, 208), be_const_func(lvbe_obj_set_ext_click_area) }, + { be_const_key(init, -1), be_const_func(lvbe_obj_create) }, + { be_const_key(clear_protect, -1), be_const_func(lvbe_obj_clear_protect) }, + { be_const_key(set_style_local_transition_prop_1, -1), be_const_func(lvbe_obj_set_style_local_transition_prop_1) }, + { be_const_key(set_style_local_shadow_width, -1), be_const_func(lvbe_obj_set_style_local_shadow_width) }, + { be_const_key(set_drag_dir, -1), be_const_func(lvbe_obj_set_drag_dir) }, + { be_const_key(set_style_local_pattern_recolor, -1), be_const_func(lvbe_obj_set_style_local_pattern_recolor) }, + { be_const_key(is_visible, 130), be_const_func(lvbe_obj_is_visible) }, + { be_const_key(set_style_local_value_blend_mode, 234), be_const_func(lvbe_obj_set_style_local_value_blend_mode) }, + { be_const_key(hittest, -1), be_const_func(lvbe_obj_hittest) }, + { be_const_key(is_protected, -1), be_const_func(lvbe_obj_is_protected) }, + { be_const_key(get_style_transform_width, 17), be_const_func(lvbe_obj_get_style_transform_width) }, + { be_const_key(set_event_cb, 145), be_const_func(lvbe_obj_set_event_cb) }, + { be_const_key(align_x, -1), be_const_func(lvbe_obj_align_x) }, + { be_const_key(set_style_local_outline_pad, 9), be_const_func(lvbe_obj_set_style_local_outline_pad) }, + { be_const_key(set_style_local_text_line_space, -1), be_const_func(lvbe_obj_set_style_local_text_line_space) }, + { be_const_key(get_child, -1), be_const_func(lvbe_obj_get_child) }, + { be_const_key(set_style_local_margin_left, 195), be_const_func(lvbe_obj_set_style_local_margin_left) }, + { be_const_key(set_style_local_shadow_ofs_y, -1), be_const_func(lvbe_obj_set_style_local_shadow_ofs_y) }, + { be_const_key(set_top, -1), be_const_func(lvbe_obj_set_top) }, + { be_const_key(get_style_pattern_image, -1), be_const_func(lvbe_obj_get_style_pattern_image) }, + { be_const_key(get_style_outline_opa, 138), be_const_func(lvbe_obj_get_style_outline_opa) }, + { be_const_key(fade_out, 176), be_const_func(lvbe_obj_fade_out) }, + { be_const_key(del, -1), be_const_func(lvbe_obj_del) }, + { be_const_key(get_style_pad_right, 1), be_const_func(lvbe_obj_get_style_pad_right) }, + { be_const_key(clean, -1), be_const_func(lvbe_obj_clean) }, + { be_const_key(get_style_border_width, -1), be_const_func(lvbe_obj_get_style_border_width) }, + { be_const_key(set_style_local_pattern_opa, 226), be_const_func(lvbe_obj_set_style_local_pattern_opa) }, + { be_const_key(align_mid_y, -1), be_const_func(lvbe_obj_align_mid_y) }, + { be_const_key(get_style_line_color, -1), be_const_func(lvbe_obj_get_style_line_color) }, + { be_const_key(is_focused, -1), be_const_func(lvbe_obj_is_focused) }, + { be_const_key(set_style_local_transition_prop_3, 113), be_const_func(lvbe_obj_set_style_local_transition_prop_3) }, + { be_const_key(set_style_local_image_opa, -1), be_const_func(lvbe_obj_set_style_local_image_opa) }, + { be_const_key(set_style_local_bg_grad_stop, -1), be_const_func(lvbe_obj_set_style_local_bg_grad_stop) }, + { be_const_key(del_async, 260), be_const_func(lvbe_obj_del_async) }, + { be_const_key(set_y, 119), be_const_func(lvbe_obj_set_y) }, + { be_const_key(set_hidden, -1), be_const_func(lvbe_obj_set_hidden) }, + { be_const_key(get_adv_hittest, -1), be_const_func(lvbe_obj_get_adv_hittest) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(set_style_local_value_line_space, -1), be_const_func(lvbe_obj_set_style_local_value_line_space) }, + { be_const_key(set_style_local_border_side, -1), be_const_func(lvbe_obj_set_style_local_border_side) }, + { be_const_key(set_style_local_bg_grad_color, 136), be_const_func(lvbe_obj_set_style_local_bg_grad_color) }, + { be_const_key(set_style_local_shadow_color, -1), be_const_func(lvbe_obj_set_style_local_shadow_color) }, + { be_const_key(set_style_local_pad_left, -1), be_const_func(lvbe_obj_set_style_local_pad_left) }, + { be_const_key(set_style_local_transition_delay, -1), be_const_func(lvbe_obj_set_style_local_transition_delay) }, + { be_const_key(get_auto_realign, 38), be_const_func(lvbe_obj_get_auto_realign) }, + { be_const_key(get_style_value_ofs_x, -1), be_const_func(lvbe_obj_get_style_value_ofs_x) }, + { be_const_key(set_style_local_image_blend_mode, 56), be_const_func(lvbe_obj_set_style_local_image_blend_mode) }, + { be_const_key(set_style_local_pad_bottom, -1), be_const_func(lvbe_obj_set_style_local_pad_bottom) }, + { be_const_key(get_style_image_recolor, 255), be_const_func(lvbe_obj_get_style_image_recolor) }, + { be_const_key(set_height_fit, -1), be_const_func(lvbe_obj_set_height_fit) }, + { be_const_key(set_style_local_line_width, 32), be_const_func(lvbe_obj_set_style_local_line_width) }, + { be_const_key(set_style_local_border_color, 135), be_const_func(lvbe_obj_set_style_local_border_color) }, + { be_const_key(get_width, -1), be_const_func(lvbe_obj_get_width) }, + { be_const_key(set_style_local_scale_width, -1), be_const_func(lvbe_obj_set_style_local_scale_width) }, + { be_const_key(get_local_style, 189), be_const_func(lvbe_obj_get_local_style) }, + { be_const_key(get_ext_click_pad_bottom, -1), be_const_func(lvbe_obj_get_ext_click_pad_bottom) }, + { be_const_key(set_style_local_border_post, -1), be_const_func(lvbe_obj_set_style_local_border_post) }, + { be_const_key(get_screen, -1), be_const_func(lvbe_obj_get_screen) }, + { be_const_key(set_style_local_line_opa, 162), be_const_func(lvbe_obj_set_style_local_line_opa) }, + { be_const_key(set_style_local_pattern_blend_mode, -1), be_const_func(lvbe_obj_set_style_local_pattern_blend_mode) }, + { be_const_key(set_style_local_transform_height, -1), be_const_func(lvbe_obj_set_style_local_transform_height) }, + { be_const_key(set_style_local_border_opa, 86), be_const_func(lvbe_obj_set_style_local_border_opa) }, + { be_const_key(get_style_text_color, -1), be_const_func(lvbe_obj_get_style_text_color) }, + { be_const_key(get_style_shadow_ofs_x, 84), be_const_func(lvbe_obj_get_style_shadow_ofs_x) }, + { be_const_key(get_ext_click_pad_right, -1), be_const_func(lvbe_obj_get_ext_click_pad_right) }, + { be_const_key(get_style_bg_opa, 104), be_const_func(lvbe_obj_get_style_bg_opa) }, + { be_const_key(set_style_local_text_sel_bg_color, 219), be_const_func(lvbe_obj_set_style_local_text_sel_bg_color) }, + { be_const_key(set_style_local_opa_scale, -1), be_const_func(lvbe_obj_set_style_local_opa_scale) }, + { be_const_key(set_style_local_value_opa, -1), be_const_func(lvbe_obj_set_style_local_value_opa) }, + { be_const_key(set_style_local_margin_bottom, 242), be_const_func(lvbe_obj_set_style_local_margin_bottom) }, + { be_const_key(set_style_local_scale_end_line_width, -1), be_const_func(lvbe_obj_set_style_local_scale_end_line_width) }, + { be_const_key(set_gesture_parent, -1), be_const_func(lvbe_obj_set_gesture_parent) }, + { be_const_key(get_protect, -1), be_const_func(lvbe_obj_get_protect) }, + { be_const_key(set_style_local_bg_main_stop, 281), be_const_func(lvbe_obj_set_style_local_bg_main_stop) }, + { be_const_key(get_style_transition_prop_1, -1), be_const_func(lvbe_obj_get_style_transition_prop_1) }, + { be_const_key(set_style_local_scale_end_border_width, -1), be_const_func(lvbe_obj_set_style_local_scale_end_border_width) }, + { be_const_key(set_style_local_outline_color, -1), be_const_func(lvbe_obj_set_style_local_outline_color) }, + { be_const_key(set_style_local_transform_zoom, 128), be_const_func(lvbe_obj_set_style_local_transform_zoom) }, + { be_const_key(get_style_image_opa, -1), be_const_func(lvbe_obj_get_style_image_opa) }, + { be_const_key(get_focused_obj, -1), be_const_func(lvbe_obj_get_focused_obj) }, + { be_const_key(set_user_data, -1), be_const_func(lvbe_obj_set_user_data) }, + { be_const_key(set_adv_hittest, -1), be_const_func(lvbe_obj_set_adv_hittest) }, + { be_const_key(init_draw_line_dsc, -1), be_const_func(lvbe_obj_init_draw_line_dsc) }, + { be_const_key(set_focus_parent, -1), be_const_func(lvbe_obj_set_focus_parent) }, + { be_const_key(set_style_local_image_recolor, -1), be_const_func(lvbe_obj_set_style_local_image_recolor) }, + { be_const_key(get_parent, -1), be_const_func(lvbe_obj_get_parent) }, + { be_const_key(init_draw_rect_dsc, 67), be_const_func(lvbe_obj_init_draw_rect_dsc) }, + { be_const_key(set_style_local_line_dash_width, -1), be_const_func(lvbe_obj_set_style_local_line_dash_width) }, + { be_const_key(get_style_transition_prop_2, 182), be_const_func(lvbe_obj_get_style_transition_prop_2) }, + { be_const_key(get_drag_parent, -1), be_const_func(lvbe_obj_get_drag_parent) }, + { be_const_key(get_style_line_opa, -1), be_const_func(lvbe_obj_get_style_line_opa) }, + { be_const_key(get_y, -1), be_const_func(lvbe_obj_get_y) }, + { be_const_key(set_style_local_shadow_opa, 18), be_const_func(lvbe_obj_set_style_local_shadow_opa) }, + { be_const_key(add_protect, 69), be_const_func(lvbe_obj_add_protect) }, + { be_const_key(get_width_margin, -1), be_const_func(lvbe_obj_get_width_margin) }, + { be_const_key(remove_style_local_prop, -1), be_const_func(lvbe_obj_remove_style_local_prop) }, + { be_const_key(set_style_local_value_align, -1), be_const_func(lvbe_obj_set_style_local_value_align) }, + { be_const_key(get_style_text_letter_space, -1), be_const_func(lvbe_obj_get_style_text_letter_space) }, + { be_const_key(set_style_local_pattern_image, -1), be_const_func(lvbe_obj_set_style_local_pattern_image) }, + { be_const_key(get_style_pattern_recolor_opa, -1), be_const_func(lvbe_obj_get_style_pattern_recolor_opa) }, + { be_const_key(get_width_grid, 127), be_const_func(lvbe_obj_get_width_grid) }, + { be_const_key(get_top, 223), be_const_func(lvbe_obj_get_top) }, + { be_const_key(get_style_transition_prop_3, -1), be_const_func(lvbe_obj_get_style_transition_prop_3) }, + { be_const_key(get_user_data, 28), be_const_func(lvbe_obj_get_user_data) }, + { be_const_key(get_width_fit, 158), be_const_func(lvbe_obj_get_width_fit) }, + { be_const_key(align_mid, 283), be_const_func(lvbe_obj_align_mid) }, + { be_const_key(get_style_value_str, 178), be_const_func(lvbe_obj_get_style_value_str) }, + { be_const_key(set_style_local_outline_width, 175), be_const_func(lvbe_obj_set_style_local_outline_width) }, + { be_const_key(set_style_local_value_str, 94), be_const_func(lvbe_obj_set_style_local_value_str) }, + { be_const_key(get_drag, 251), be_const_func(lvbe_obj_get_drag) }, + { be_const_key(set_style_local_line_rounded, -1), be_const_func(lvbe_obj_set_style_local_line_rounded) }, + { be_const_key(get_type, 139), be_const_func(lvbe_obj_get_type) }, + { be_const_key(set_style_local_pattern_repeat, -1), be_const_func(lvbe_obj_set_style_local_pattern_repeat) }, + { be_const_key(get_style_text_sel_bg_color, 133), be_const_func(lvbe_obj_get_style_text_sel_bg_color) }, + { be_const_key(get_style_transition_time, 72), be_const_func(lvbe_obj_get_style_transition_time) }, + { be_const_key(invalidate, 184), be_const_func(lvbe_obj_invalidate) }, + { be_const_key(get_style_transition_prop_4, 0), be_const_func(lvbe_obj_get_style_transition_prop_4) }, + { be_const_key(set_style_local_bg_blend_mode, -1), be_const_func(lvbe_obj_set_style_local_bg_blend_mode) }, + { be_const_key(get_style_bg_main_stop, 37), be_const_func(lvbe_obj_get_style_bg_main_stop) }, + { be_const_key(get_ext_attr, 80), be_const_func(lvbe_obj_get_ext_attr) }, + { be_const_key(set_signal_cb, 51), be_const_func(lvbe_obj_set_signal_cb) }, + { be_const_key(get_style_pad_inner, -1), be_const_func(lvbe_obj_get_style_pad_inner) }, + { be_const_key(get_x, 272), be_const_func(lvbe_obj_get_x) }, + { be_const_key(get_style_bg_grad_stop, -1), be_const_func(lvbe_obj_get_style_bg_grad_stop) }, + { be_const_key(add_state, -1), be_const_func(lvbe_obj_add_state) }, + { be_const_key(set_x, -1), be_const_func(lvbe_obj_set_x) }, + { be_const_key(get_draw_rect_ext_pad_size, -1), be_const_func(lvbe_obj_get_draw_rect_ext_pad_size) }, + { be_const_key(get_style_margin_right, -1), be_const_func(lvbe_obj_get_style_margin_right) }, + { be_const_key(init_draw_img_dsc, -1), be_const_func(lvbe_obj_init_draw_img_dsc) }, + { be_const_key(set_size, -1), be_const_func(lvbe_obj_set_size) }, + { be_const_key(get_style_transition_prop_5, 89), be_const_func(lvbe_obj_get_style_transition_prop_5) }, + { be_const_key(set_style_local_size, -1), be_const_func(lvbe_obj_set_style_local_size) }, + { be_const_key(handle_get_type_signal, -1), be_const_func(lvbe_obj_handle_get_type_signal) }, + { be_const_key(get_style_transform_height, -1), be_const_func(lvbe_obj_get_style_transform_height) }, + { be_const_key(set_style_local_pad_top, 263), be_const_func(lvbe_obj_set_style_local_pad_top) }, + { be_const_key(get_group, 165), be_const_func(lvbe_obj_get_group) }, + { be_const_key(set_width_margin, -1), be_const_func(lvbe_obj_set_width_margin) }, + { be_const_key(set_style_local_line_dash_gap, 248), be_const_func(lvbe_obj_set_style_local_line_dash_gap) }, + { be_const_key(set_parent_event, -1), be_const_func(lvbe_obj_set_parent_event) }, + { be_const_key(remove_style, -1), be_const_func(lvbe_obj_remove_style) }, + { be_const_key(set_pos, -1), be_const_func(lvbe_obj_set_pos) }, + { be_const_key(get_style_value_letter_space, -1), be_const_func(lvbe_obj_get_style_value_letter_space) }, + { be_const_key(fade_in, -1), be_const_func(lvbe_obj_fade_in) }, + { be_const_key(get_style_text_opa, 213), be_const_func(lvbe_obj_get_style_text_opa) }, + { be_const_key(get_style_transition_prop_6, -1), be_const_func(lvbe_obj_get_style_transition_prop_6) }, + { be_const_key(set_auto_realign, -1), be_const_func(lvbe_obj_set_auto_realign) }, + { be_const_key(set_style_local_shadow_ofs_x, 118), be_const_func(lvbe_obj_set_style_local_shadow_ofs_x) }, + { be_const_key(set_style_local_radius, -1), be_const_func(lvbe_obj_set_style_local_radius) }, + { be_const_key(get_style_transform_angle, -1), be_const_func(lvbe_obj_get_style_transform_angle) }, + { be_const_key(get_drag_throw, 216), be_const_func(lvbe_obj_get_drag_throw) }, + { be_const_key(set_style_local_border_width, -1), be_const_func(lvbe_obj_set_style_local_border_width) }, + { be_const_key(get_style_bg_grad_color, 132), be_const_func(lvbe_obj_get_style_bg_grad_color) }, + { be_const_key(set_style_local_shadow_spread, -1), be_const_func(lvbe_obj_set_style_local_shadow_spread) }, + { be_const_key(get_hidden, -1), be_const_func(lvbe_obj_get_hidden) }, + { be_const_key(set_base_dir, 134), be_const_func(lvbe_obj_set_base_dir) }, + { be_const_key(allocate_ext_attr, -1), be_const_func(lvbe_obj_allocate_ext_attr) }, + { be_const_key(set_style_local_scale_border_width, 116), be_const_func(lvbe_obj_set_style_local_scale_border_width) }, + { be_const_key(get_style_line_dash_width, -1), be_const_func(lvbe_obj_get_style_line_dash_width) }, + { be_const_key(set_style_local_image_recolor_opa, -1), be_const_func(lvbe_obj_set_style_local_image_recolor_opa) }, + { be_const_key(set_style_local_outline_opa, -1), be_const_func(lvbe_obj_set_style_local_outline_opa) }, + { be_const_key(set_drag_parent, 30), be_const_func(lvbe_obj_set_drag_parent) }, + { be_const_key(add_style, -1), be_const_func(lvbe_obj_add_style) }, + { be_const_key(get_child_back, 215), be_const_func(lvbe_obj_get_child_back) }, + { be_const_key(get_style_scale_end_color, 10), be_const_func(lvbe_obj_get_style_scale_end_color) }, + { be_const_key(get_style_bg_color, 171), be_const_func(lvbe_obj_get_style_bg_color) }, + { be_const_key(get_style_outline_pad, -1), be_const_func(lvbe_obj_get_style_outline_pad) }, + { be_const_key(get_style_transition_delay, -1), be_const_func(lvbe_obj_get_style_transition_delay) }, + { be_const_key(get_style_text_sel_color, -1), be_const_func(lvbe_obj_get_style_text_sel_color) }, + { be_const_key(set_style_local_text_sel_color, -1), be_const_func(lvbe_obj_set_style_local_text_sel_color) }, + { be_const_key(set_style_local_transform_width, -1), be_const_func(lvbe_obj_set_style_local_transform_width) }, + { be_const_key(get_height_margin, 60), be_const_func(lvbe_obj_get_height_margin) }, + { be_const_key(get_style_shadow_ofs_y, -1), be_const_func(lvbe_obj_get_style_shadow_ofs_y) }, + { be_const_key(get_style_shadow_color, 150), be_const_func(lvbe_obj_get_style_shadow_color) }, + { be_const_key(get_height_fit, -1), be_const_func(lvbe_obj_get_height_fit) }, + { be_const_key(get_style_value_opa, -1), be_const_func(lvbe_obj_get_style_value_opa) }, + { be_const_key(set_parent, -1), be_const_func(lvbe_obj_set_parent) }, + { be_const_key(clear_state, 142), be_const_func(lvbe_obj_clear_state) }, + { be_const_key(invalidate_area, -1), be_const_func(lvbe_obj_invalidate_area) }, + { be_const_key(is_point_on_coords, -1), be_const_func(lvbe_obj_is_point_on_coords) }, + { be_const_key(set_style_local_scale_grad_color, -1), be_const_func(lvbe_obj_set_style_local_scale_grad_color) }, + { be_const_key(get_style_line_rounded, 217), be_const_func(lvbe_obj_get_style_line_rounded) }, + { be_const_key(set_style_local_transform_angle, 117), be_const_func(lvbe_obj_set_style_local_transform_angle) }, + { be_const_key(set_style_local_transition_prop_2, -1), be_const_func(lvbe_obj_set_style_local_transition_prop_2) }, + { be_const_key(set_style_local_value_ofs_y, -1), be_const_func(lvbe_obj_set_style_local_value_ofs_y) }, + { be_const_key(get_style_transform_zoom, 229), be_const_func(lvbe_obj_get_style_transform_zoom) }, + { be_const_key(get_style_size, -1), be_const_func(lvbe_obj_get_style_size) }, + { be_const_key(get_style_margin_top, -1), be_const_func(lvbe_obj_get_style_margin_top) }, + { be_const_key(set_style_local_text_letter_space, -1), be_const_func(lvbe_obj_set_style_local_text_letter_space) }, + { be_const_key(set_style_local_pattern_recolor_opa, -1), be_const_func(lvbe_obj_set_style_local_pattern_recolor_opa) }, + { be_const_key(set_style_local_scale_end_color, 271), be_const_func(lvbe_obj_set_style_local_scale_end_color) }, + { be_const_key(area_is_visible, -1), be_const_func(lvbe_obj_area_is_visible) }, + { be_const_key(get_height_grid, -1), be_const_func(lvbe_obj_get_height_grid) }, + { be_const_key(get_style_text_line_space, 107), be_const_func(lvbe_obj_get_style_text_line_space) }, + { be_const_key(set_style_local_shadow_blend_mode, -1), be_const_func(lvbe_obj_set_style_local_shadow_blend_mode) }, + { be_const_key(set_style_local_border_blend_mode, 13), be_const_func(lvbe_obj_set_style_local_border_blend_mode) }, + { be_const_key(get_base_dir, -1), be_const_func(lvbe_obj_get_base_dir) }, + { be_const_key(get_focus_parent, -1), be_const_func(lvbe_obj_get_focus_parent) }, + { be_const_key(set_style_local_bg_color, 249), be_const_func(lvbe_obj_set_style_local_bg_color) }, + { be_const_key(get_style_pattern_repeat, -1), be_const_func(lvbe_obj_get_style_pattern_repeat) }, + { be_const_key(get_coords, -1), be_const_func(lvbe_obj_get_coords) }, + { be_const_key(get_style_shadow_spread, -1), be_const_func(lvbe_obj_get_style_shadow_spread) }, + { be_const_key(set_width_fit, -1), be_const_func(lvbe_obj_set_width_fit) }, + { be_const_key(set_style_local_value_font, -1), be_const_func(lvbe_obj_set_style_local_value_font) }, + { be_const_key(set_width, -1), be_const_func(lvbe_obj_set_width) }, + { be_const_key(set_style_local_text_font, 209), be_const_func(lvbe_obj_set_style_local_text_font) }, + { be_const_key(align, -1), be_const_func(lvbe_obj_align) }, + { be_const_key(set_design_cb, -1), be_const_func(lvbe_obj_set_design_cb) }, + { be_const_key(reset_style_list, 102), be_const_func(lvbe_obj_reset_style_list) }, + { be_const_key(set_drag_throw, -1), be_const_func(lvbe_obj_set_drag_throw) }, + { be_const_key(get_ext_click_pad_top, -1), be_const_func(lvbe_obj_get_ext_click_pad_top) }, + { be_const_key(set_style_local_value_letter_space, 211), be_const_func(lvbe_obj_set_style_local_value_letter_space) }, + { be_const_key(get_click, -1), be_const_func(lvbe_obj_get_click) }, + { be_const_key(get_style_value_ofs_y, -1), be_const_func(lvbe_obj_get_style_value_ofs_y) }, + { be_const_key(get_style_pattern_opa, -1), be_const_func(lvbe_obj_get_style_pattern_opa) }, + { be_const_key(set_style_local_line_blend_mode, -1), be_const_func(lvbe_obj_set_style_local_line_blend_mode) }, + { be_const_key(get_inner_coords, -1), be_const_func(lvbe_obj_get_inner_coords) }, + { be_const_key(get_style_radius, -1), be_const_func(lvbe_obj_get_style_radius) }, + { be_const_key(get_style_line_width, -1), be_const_func(lvbe_obj_get_style_line_width) }, + { be_const_key(set_style_local_pad_inner, -1), be_const_func(lvbe_obj_set_style_local_pad_inner) }, + { be_const_key(set_style_local_line_color, 124), be_const_func(lvbe_obj_set_style_local_line_color) }, + { be_const_key(set_style_local_pad_right, -1), be_const_func(lvbe_obj_set_style_local_pad_right) }, + { be_const_key(set_state, -1), be_const_func(lvbe_obj_set_state) }, + { be_const_key(move_background, -1), be_const_func(lvbe_obj_move_background) }, + { be_const_key(set_style_local_transition_prop_4, -1), be_const_func(lvbe_obj_set_style_local_transition_prop_4) }, + { be_const_key(get_ext_click_pad_left, -1), be_const_func(lvbe_obj_get_ext_click_pad_left) }, + { be_const_key(get_ext_draw_pad, -1), be_const_func(lvbe_obj_get_ext_draw_pad) }, + { be_const_key(get_style_shadow_width, 58), be_const_func(lvbe_obj_get_style_shadow_width) }, + { be_const_key(clean_style_list, -1), be_const_func(lvbe_obj_clean_style_list) }, + { be_const_key(get_style_pad_bottom, -1), be_const_func(lvbe_obj_get_style_pad_bottom) }, + { be_const_key(set_style_local_value_color, -1), be_const_func(lvbe_obj_set_style_local_value_color) }, + { be_const_key(get_style_value_line_space, 44), be_const_func(lvbe_obj_get_style_value_line_space) }, + { be_const_key(get_style_shadow_opa, 62), be_const_func(lvbe_obj_get_style_shadow_opa) }, + { be_const_key(get_style_margin_left, -1), be_const_func(lvbe_obj_get_style_margin_left) }, + { be_const_key(get_style_scale_end_line_width, -1), be_const_func(lvbe_obj_get_style_scale_end_line_width) }, + { be_const_key(get_style_scale_width, 50), be_const_func(lvbe_obj_get_style_scale_width) }, + { be_const_key(finish_transitions, -1), be_const_func(lvbe_obj_finish_transitions) }, + { be_const_key(set_style_local_value_ofs_x, -1), be_const_func(lvbe_obj_set_style_local_value_ofs_x) }, + { be_const_key(set_style_local_transition_prop_5, 53), be_const_func(lvbe_obj_set_style_local_transition_prop_5) }, + { be_const_key(get_drag_dir, -1), be_const_func(lvbe_obj_get_drag_dir) }, + { be_const_key(set_style_local_text_decor, -1), be_const_func(lvbe_obj_set_style_local_text_decor) }, + { be_const_key(get_style_outline_color, -1), be_const_func(lvbe_obj_get_style_outline_color) }, + { be_const_key(count_children, 79), be_const_func(lvbe_obj_count_children) }, + { be_const_key(del_anim_ready_cb, 98), be_const_func(lvbe_obj_del_anim_ready_cb) }, + { be_const_key(get_style_pattern_recolor, 227), be_const_func(lvbe_obj_get_style_pattern_recolor) }, + { be_const_key(get_gesture_parent, 282), be_const_func(lvbe_obj_get_gesture_parent) }, + { be_const_key(get_style_image_recolor_opa, -1), be_const_func(lvbe_obj_get_style_image_recolor_opa) }, + { be_const_key(realign, -1), be_const_func(lvbe_obj_realign) }, + { be_const_key(get_parent_event, -1), be_const_func(lvbe_obj_get_parent_event) }, + { be_const_key(set_style_local_bg_grad_dir, -1), be_const_func(lvbe_obj_set_style_local_bg_grad_dir) }, + { be_const_key(set_style_local_transition_path, -1), be_const_func(lvbe_obj_set_style_local_transition_path) }, + { be_const_key(get_style_line_dash_gap, -1), be_const_func(lvbe_obj_get_style_line_dash_gap) }, + { be_const_key(set_style_local_transition_prop_6, 95), be_const_func(lvbe_obj_set_style_local_transition_prop_6) }, + { be_const_key(set_click, -1), be_const_func(lvbe_obj_set_click) }, + { be_const_key(count_children_recursive, -1), be_const_func(lvbe_obj_count_children_recursive) }, + { be_const_key(set_height, 154), be_const_func(lvbe_obj_set_height) }, + { be_const_key(get_style_border_opa, -1), be_const_func(lvbe_obj_get_style_border_opa) }, + { be_const_key(set_style_local_text_color, 140), be_const_func(lvbe_obj_set_style_local_text_color) }, + { be_const_key(set_style_local_clip_corner, -1), be_const_func(lvbe_obj_set_style_local_clip_corner) }, + { be_const_key(get_style_outline_width, -1), be_const_func(lvbe_obj_get_style_outline_width) }, + { be_const_key(set_style_local_text_blend_mode, -1), be_const_func(lvbe_obj_set_style_local_text_blend_mode) }, + { be_const_key(get_style_margin_bottom, -1), be_const_func(lvbe_obj_get_style_margin_bottom) }, + { be_const_key(get_style_scale_border_width, -1), be_const_func(lvbe_obj_get_style_scale_border_width) }, + { be_const_key(set_style_local_transition_time, -1), be_const_func(lvbe_obj_set_style_local_transition_time) }, + { be_const_key(move_foreground, -1), be_const_func(lvbe_obj_move_foreground) }, + { be_const_key(set_style_local_outline_blend_mode, -1), be_const_func(lvbe_obj_set_style_local_outline_blend_mode) }, + { be_const_key(set_drag, -1), be_const_func(lvbe_obj_set_drag) }, + { be_const_key(get_style_clip_corner, -1), be_const_func(lvbe_obj_get_style_clip_corner) }, + { be_const_key(get_height, 285), be_const_func(lvbe_obj_get_height) }, + { be_const_key(set_style_local_bg_opa, -1), be_const_func(lvbe_obj_set_style_local_bg_opa) }, + { be_const_key(init_draw_label_dsc, -1), be_const_func(lvbe_obj_init_draw_label_dsc) }, + { be_const_key(get_style_border_post, -1), be_const_func(lvbe_obj_get_style_border_post) }, + { be_const_key(get_style_value_color, -1), be_const_func(lvbe_obj_get_style_value_color) }, + { be_const_key(set_height_margin, 289), be_const_func(lvbe_obj_set_height_margin) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_style_pad_left, -1), be_const_func(lvbe_obj_get_style_pad_left) }, + { be_const_key(report_style_mod, -1), be_const_func(lvbe_obj_report_style_mod) }, + { be_const_key(set_style_local_margin_right, -1), be_const_func(lvbe_obj_set_style_local_margin_right) }, + { be_const_key(get_style_scale_end_border_width, 141), be_const_func(lvbe_obj_get_style_scale_end_border_width) }, +}; + +static be_define_const_map( + be_class_lv_obj_map, + 291 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_obj, + 1, + NULL, + lv_obj +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h new file mode 100644 index 000000000..2175712ca --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h @@ -0,0 +1,22 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_objmask_map) { + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(tostring, 0), be_const_func(lvx_tostring) }, + { be_const_key(remove_mask, -1), be_const_func(lvbe_objmask_remove_mask) }, + { be_const_key(init, -1), be_const_func(lvbe_objmask_create) }, + { be_const_key(create, -1), be_const_func(lvbe_objmask_create) }, + { be_const_key(update_mask, 4), be_const_func(lvbe_objmask_update_mask) }, +}; + +static be_define_const_map( + be_class_lv_objmask_map, + 6 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_objmask, + 1, + (bclass *)&be_class_lv_obj, + lv_objmask +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h new file mode 100644 index 000000000..2e8e90c40 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h @@ -0,0 +1,52 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_page_map) { + { be_const_key(on_edge, -1), be_const_func(lvbe_page_on_edge) }, + { be_const_key(glue_obj, -1), be_const_func(lvbe_page_glue_obj) }, + { be_const_key(scroll_ver, -1), be_const_func(lvbe_page_scroll_ver) }, + { be_const_key(get_height_fit, -1), be_const_func(lvbe_page_get_height_fit) }, + { be_const_key(get_scrollbar_mode, 16), be_const_func(lvbe_page_get_scrollbar_mode) }, + { be_const_key(create, 29), be_const_func(lvbe_page_create) }, + { be_const_key(get_scrl_height, -1), be_const_func(lvbe_page_get_scrl_height) }, + { be_const_key(set_scrl_layout, -1), be_const_func(lvbe_page_set_scrl_layout) }, + { be_const_key(set_edge_flash, -1), be_const_func(lvbe_page_set_edge_flash) }, + { be_const_key(get_height_grid, -1), be_const_func(lvbe_page_get_height_grid) }, + { be_const_key(get_scrl_fit_bottom, 1), be_const_func(lvbe_page_get_scrl_fit_bottom) }, + { be_const_key(get_scrl_layout, 18), be_const_func(lvbe_page_get_scrl_layout) }, + { be_const_key(get_scrl_fit_left, 33), be_const_func(lvbe_page_get_scrl_fit_left) }, + { be_const_key(get_width_grid, -1), be_const_func(lvbe_page_get_width_grid) }, + { be_const_key(set_scrl_height, 6), be_const_func(lvbe_page_set_scrl_height) }, + { be_const_key(init, -1), be_const_func(lvbe_page_create) }, + { be_const_key(get_edge_flash, -1), be_const_func(lvbe_page_get_edge_flash) }, + { be_const_key(focus, -1), be_const_func(lvbe_page_focus) }, + { be_const_key(set_anim_time, -1), be_const_func(lvbe_page_set_anim_time) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_width_fit, 22), be_const_func(lvbe_page_get_width_fit) }, + { be_const_key(get_scrollable, 34), be_const_func(lvbe_page_get_scrollable) }, + { be_const_key(get_scroll_propagation, -1), be_const_func(lvbe_page_get_scroll_propagation) }, + { be_const_key(get_scrl_width, -1), be_const_func(lvbe_page_get_scrl_width) }, + { be_const_key(set_scrollbar_mode, 9), be_const_func(lvbe_page_set_scrollbar_mode) }, + { be_const_key(tostring, 27), be_const_func(lvx_tostring) }, + { be_const_key(clean, -1), be_const_func(lvbe_page_clean) }, + { be_const_key(set_scrollable_fit2, -1), be_const_func(lvbe_page_set_scrollable_fit2) }, + { be_const_key(set_scroll_propagation, 32), be_const_func(lvbe_page_set_scroll_propagation) }, + { be_const_key(set_scrollable_fit, -1), be_const_func(lvbe_page_set_scrollable_fit) }, + { be_const_key(scroll_hor, -1), be_const_func(lvbe_page_scroll_hor) }, + { be_const_key(get_anim_time, 17), be_const_func(lvbe_page_get_anim_time) }, + { be_const_key(start_edge_flash, -1), be_const_func(lvbe_page_start_edge_flash) }, + { be_const_key(get_scrl_fit_top, -1), be_const_func(lvbe_page_get_scrl_fit_top) }, + { be_const_key(get_scrl_fit_right, -1), be_const_func(lvbe_page_get_scrl_fit_right) }, + { be_const_key(set_scrl_width, -1), be_const_func(lvbe_page_set_scrl_width) }, +}; + +static be_define_const_map( + be_class_lv_page_map, + 36 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_page, + 1, + (bclass *)&be_class_lv_obj, + lv_page +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h new file mode 100644 index 000000000..b7ba4f84f --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h @@ -0,0 +1,33 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_roller_map) { + { be_const_key(set_options, -1), be_const_func(lvbe_roller_set_options) }, + { be_const_key(get_align, 6), be_const_func(lvbe_roller_get_align) }, + { be_const_key(set_visible_row_count, 12), be_const_func(lvbe_roller_set_visible_row_count) }, + { be_const_key(get_selected_str, -1), be_const_func(lvbe_roller_get_selected_str) }, + { be_const_key(get_selected, -1), be_const_func(lvbe_roller_get_selected) }, + { be_const_key(set_selected, -1), be_const_func(lvbe_roller_set_selected) }, + { be_const_key(set_anim_time, 0), be_const_func(lvbe_roller_set_anim_time) }, + { be_const_key(set_align, -1), be_const_func(lvbe_roller_set_align) }, + { be_const_key(get_auto_fit, -1), be_const_func(lvbe_roller_get_auto_fit) }, + { be_const_key(set_auto_fit, 10), be_const_func(lvbe_roller_set_auto_fit) }, + { be_const_key(get_anim_time, -1), be_const_func(lvbe_roller_get_anim_time) }, + { be_const_key(get_option_cnt, 5), be_const_func(lvbe_roller_get_option_cnt) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(get_options, 14), be_const_func(lvbe_roller_get_options) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(init, 7), be_const_func(lvbe_roller_create) }, + { be_const_key(create, -1), be_const_func(lvbe_roller_create) }, +}; + +static be_define_const_map( + be_class_lv_roller_map, + 17 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_roller, + 1, + (bclass *)&be_class_lv_obj, + lv_roller +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h new file mode 100644 index 000000000..6e51a05c7 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h @@ -0,0 +1,32 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_slider_map) { + { be_const_key(get_type, -1), be_const_func(lvbe_slider_get_type) }, + { be_const_key(get_anim_time, -1), be_const_func(lvbe_slider_get_anim_time) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(init, 10), be_const_func(lvbe_slider_create) }, + { be_const_key(is_dragged, -1), be_const_func(lvbe_slider_is_dragged) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(create, -1), be_const_func(lvbe_slider_create) }, + { be_const_key(get_value, -1), be_const_func(lvbe_slider_get_value) }, + { be_const_key(get_max_value, -1), be_const_func(lvbe_slider_get_max_value) }, + { be_const_key(set_range, 7), be_const_func(lvbe_slider_set_range) }, + { be_const_key(set_anim_time, 2), be_const_func(lvbe_slider_set_anim_time) }, + { be_const_key(get_left_value, -1), be_const_func(lvbe_slider_get_left_value) }, + { be_const_key(set_type, -1), be_const_func(lvbe_slider_set_type) }, + { be_const_key(set_value, 6), be_const_func(lvbe_slider_set_value) }, + { be_const_key(get_min_value, -1), be_const_func(lvbe_slider_get_min_value) }, + { be_const_key(set_left_value, 1), be_const_func(lvbe_slider_set_left_value) }, +}; + +static be_define_const_map( + be_class_lv_slider_map, + 16 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_slider, + 1, + (bclass *)&be_class_lv_obj, + lv_slider +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h new file mode 100644 index 000000000..c641683f3 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h @@ -0,0 +1,33 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_spinbox_map) { + { be_const_key(get_value, 6), be_const_func(lvbe_spinbox_get_value) }, + { be_const_key(decrement, -1), be_const_func(lvbe_spinbox_decrement) }, + { be_const_key(tostring, 4), be_const_func(lvx_tostring) }, + { be_const_key(set_value, -1), be_const_func(lvbe_spinbox_set_value) }, + { be_const_key(step_next, 11), be_const_func(lvbe_spinbox_step_next) }, + { be_const_key(init, -1), be_const_func(lvbe_spinbox_create) }, + { be_const_key(set_rollover, -1), be_const_func(lvbe_spinbox_set_rollover) }, + { be_const_key(get_step, -1), be_const_func(lvbe_spinbox_get_step) }, + { be_const_key(set_padding_left, -1), be_const_func(lvbe_spinbox_set_padding_left) }, + { be_const_key(set_digit_format, -1), be_const_func(lvbe_spinbox_set_digit_format) }, + { be_const_key(increment, -1), be_const_func(lvbe_spinbox_increment) }, + { be_const_key(set_range, -1), be_const_func(lvbe_spinbox_set_range) }, + { be_const_key(get_rollover, -1), be_const_func(lvbe_spinbox_get_rollover) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_step, -1), be_const_func(lvbe_spinbox_set_step) }, + { be_const_key(step_prev, 5), be_const_func(lvbe_spinbox_step_prev) }, + { be_const_key(create, -1), be_const_func(lvbe_spinbox_create) }, +}; + +static be_define_const_map( + be_class_lv_spinbox_map, + 17 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_spinbox, + 1, + (bclass *)&be_class_lv_obj, + lv_spinbox +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h new file mode 100644 index 000000000..1e61698e5 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h @@ -0,0 +1,29 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_spinner_map) { + { be_const_key(tostring, 8), be_const_func(lvx_tostring) }, + { be_const_key(get_dir, -1), be_const_func(lvbe_spinner_get_dir) }, + { be_const_key(get_arc_length, -1), be_const_func(lvbe_spinner_get_arc_length) }, + { be_const_key(dot_p, 4), be_const_int(0) }, + { be_const_key(create, -1), be_const_func(lvbe_spinner_create) }, + { be_const_key(get_spin_time, -1), be_const_func(lvbe_spinner_get_spin_time) }, + { be_const_key(init, 1), be_const_func(lvbe_spinner_create) }, + { be_const_key(anim_cb, -1), be_const_func(lvbe_spinner_anim_cb) }, + { be_const_key(set_spin_time, 10), be_const_func(lvbe_spinner_set_spin_time) }, + { be_const_key(set_arc_length, -1), be_const_func(lvbe_spinner_set_arc_length) }, + { be_const_key(set_type, 7), be_const_func(lvbe_spinner_set_type) }, + { be_const_key(get_type, 3), be_const_func(lvbe_spinner_get_type) }, + { be_const_key(set_dir, 5), be_const_func(lvbe_spinner_set_dir) }, +}; + +static be_define_const_map( + be_class_lv_spinner_map, + 13 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_spinner, + 1, + (bclass *)&be_class_lv_obj, + lv_spinner +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h new file mode 100644 index 000000000..1cb58622f --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h @@ -0,0 +1,119 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_style_map) { + { be_const_key(set_line_dash_width, -1), be_const_func(lvbe_style_set_line_dash_width) }, + { be_const_key(set_bg_grad_dir, -1), be_const_func(lvbe_style_set_bg_grad_dir) }, + { be_const_key(set_text_blend_mode, 84), be_const_func(lvbe_style_set_text_blend_mode) }, + { be_const_key(set_border_blend_mode, 75), be_const_func(lvbe_style_set_border_blend_mode) }, + { be_const_key(set_bg_main_stop, -1), be_const_func(lvbe_style_set_bg_main_stop) }, + { be_const_key(list_get_local_style, -1), be_const_func(lvbe_style_list_get_local_style) }, + { be_const_key(set_transform_height, 40), be_const_func(lvbe_style_set_transform_height) }, + { be_const_key(set_shadow_opa, 33), be_const_func(lvbe_style_set_shadow_opa) }, + { be_const_key(set_value_blend_mode, 51), be_const_func(lvbe_style_set_value_blend_mode) }, + { be_const_key(set_shadow_ofs_x, -1), be_const_func(lvbe_style_set_shadow_ofs_x) }, + { be_const_key(set_pattern_blend_mode, -1), be_const_func(lvbe_style_set_pattern_blend_mode) }, + { be_const_key(set_text_letter_space, -1), be_const_func(lvbe_style_set_text_letter_space) }, + { be_const_key(set_margin_right, 14), be_const_func(lvbe_style_set_margin_right) }, + { be_const_key(set_transition_delay, -1), be_const_func(lvbe_style_set_transition_delay) }, + { be_const_key(set_shadow_blend_mode, -1), be_const_func(lvbe_style_set_shadow_blend_mode) }, + { be_const_key(set_value_color, -1), be_const_func(lvbe_style_set_value_color) }, + { be_const_key(set_text_line_space, -1), be_const_func(lvbe_style_set_text_line_space) }, + { be_const_key(set_transition_prop_1, -1), be_const_func(lvbe_style_set_transition_prop_1) }, + { be_const_key(set_pattern_image, 47), be_const_func(lvbe_style_set_pattern_image) }, + { be_const_key(set_image_recolor, -1), be_const_func(lvbe_style_set_image_recolor) }, + { be_const_key(set_pattern_opa, -1), be_const_func(lvbe_style_set_pattern_opa) }, + { be_const_key(set_outline_blend_mode, -1), be_const_func(lvbe_style_set_outline_blend_mode) }, + { be_const_key(set_radius, -1), be_const_func(lvbe_style_set_radius) }, + { be_const_key(set_text_color, -1), be_const_func(lvbe_style_set_text_color) }, + { be_const_key(set_pattern_repeat, -1), be_const_func(lvbe_style_set_pattern_repeat) }, + { be_const_key(set_value_align, -1), be_const_func(lvbe_style_set_value_align) }, + { be_const_key(set_scale_width, 82), be_const_func(lvbe_style_set_scale_width) }, + { be_const_key(set_line_color, -1), be_const_func(lvbe_style_set_line_color) }, + { be_const_key(set_text_opa, 4), be_const_func(lvbe_style_set_text_opa) }, + { be_const_key(set_size, -1), be_const_func(lvbe_style_set_size) }, + { be_const_key(set_border_opa, 72), be_const_func(lvbe_style_set_border_opa) }, + { be_const_key(set_line_opa, 12), be_const_func(lvbe_style_set_line_opa) }, + { be_const_key(set_pad_inner, -1), be_const_func(lvbe_style_set_pad_inner) }, + { be_const_key(set_margin_bottom, -1), be_const_func(lvbe_style_set_margin_bottom) }, + { be_const_key(set_margin_top, 66), be_const_func(lvbe_style_set_margin_top) }, + { be_const_key(init, -1), be_const_func(lvs_init) }, + { be_const_key(set_transition_prop_2, -1), be_const_func(lvbe_style_set_transition_prop_2) }, + { be_const_key(set_transition_prop_5, -1), be_const_func(lvbe_style_set_transition_prop_5) }, + { be_const_key(set_transition_prop_6, 26), be_const_func(lvbe_style_set_transition_prop_6) }, + { be_const_key(set_border_post, 30), be_const_func(lvbe_style_set_border_post) }, + { be_const_key(set_scale_end_line_width, -1), be_const_func(lvbe_style_set_scale_end_line_width) }, + { be_const_key(set_pad_left, 64), be_const_func(lvbe_style_set_pad_left) }, + { be_const_key(set_scale_border_width, -1), be_const_func(lvbe_style_set_scale_border_width) }, + { be_const_key(set_line_blend_mode, 34), be_const_func(lvbe_style_set_line_blend_mode) }, + { be_const_key(set_image_recolor_opa, -1), be_const_func(lvbe_style_set_image_recolor_opa) }, + { be_const_key(set_bg_color, -1), be_const_func(lvbe_style_set_bg_color) }, + { be_const_key(set_pad_bottom, -1), be_const_func(lvbe_style_set_pad_bottom) }, + { be_const_key(set_transition_time, -1), be_const_func(lvbe_style_set_transition_time) }, + { be_const_key(set_outline_pad, 67), be_const_func(lvbe_style_set_outline_pad) }, + { be_const_key(set_transform_angle, 32), be_const_func(lvbe_style_set_transform_angle) }, + { be_const_key(set_value_line_space, -1), be_const_func(lvbe_style_set_value_line_space) }, + { be_const_key(set_image_opa, 76), be_const_func(lvbe_style_set_image_opa) }, + { be_const_key(set_pattern_recolor, -1), be_const_func(lvbe_style_set_pattern_recolor) }, + { be_const_key(set_bg_grad_color, 85), be_const_func(lvbe_style_set_bg_grad_color) }, + { be_const_key(set_value_letter_space, -1), be_const_func(lvbe_style_set_value_letter_space) }, + { be_const_key(set_shadow_spread, 0), be_const_func(lvbe_style_set_shadow_spread) }, + { be_const_key(set_text_font, 97), be_const_func(lvbe_style_set_text_font) }, + { be_const_key(set_line_width, -1), be_const_func(lvbe_style_set_line_width) }, + { be_const_key(set_shadow_color, -1), be_const_func(lvbe_style_set_shadow_color) }, + { be_const_key(set_transform_zoom, -1), be_const_func(lvbe_style_set_transform_zoom) }, + { be_const_key(set_outline_color, 79), be_const_func(lvbe_style_set_outline_color) }, + { be_const_key(set_shadow_ofs_y, 87), be_const_func(lvbe_style_set_shadow_ofs_y) }, + { be_const_key(set_text_sel_bg_color, -1), be_const_func(lvbe_style_set_text_sel_bg_color) }, + { be_const_key(set_text_decor, -1), be_const_func(lvbe_style_set_text_decor) }, + { be_const_key(tostring, -1), be_const_func(lvs_tostring) }, + { be_const_key(set_clip_corner, -1), be_const_func(lvbe_style_set_clip_corner) }, + { be_const_key(set_value_str, -1), be_const_func(lvbe_style_set_value_str) }, + { be_const_key(set_pattern_recolor_opa, 16), be_const_func(lvbe_style_set_pattern_recolor_opa) }, + { be_const_key(set_border_side, -1), be_const_func(lvbe_style_set_border_side) }, + { be_const_key(set_scale_grad_color, -1), be_const_func(lvbe_style_set_scale_grad_color) }, + { be_const_key(set_line_rounded, 10), be_const_func(lvbe_style_set_line_rounded) }, + { be_const_key(set_pad_right, 35), be_const_func(lvbe_style_set_pad_right) }, + { be_const_key(set_transition_prop_4, -1), be_const_func(lvbe_style_set_transition_prop_4) }, + { be_const_key(set_transition_prop_3, 99), be_const_func(lvbe_style_set_transition_prop_3) }, + { be_const_key(list_init, -1), be_const_func(lvbe_style_list_init) }, + { be_const_key(set_transform_width, -1), be_const_func(lvbe_style_set_transform_width) }, + { be_const_key(set_bg_grad_stop, -1), be_const_func(lvbe_style_set_bg_grad_stop) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_value_opa, 50), be_const_func(lvbe_style_set_value_opa) }, + { be_const_key(set_value_font, -1), be_const_func(lvbe_style_set_value_font) }, + { be_const_key(set_text_sel_color, -1), be_const_func(lvbe_style_set_text_sel_color) }, + { be_const_key(set_outline_width, -1), be_const_func(lvbe_style_set_outline_width) }, + { be_const_key(set_value_ofs_x, 11), be_const_func(lvbe_style_set_value_ofs_x) }, + { be_const_key(set_scale_end_color, -1), be_const_func(lvbe_style_set_scale_end_color) }, + { be_const_key(set_margin_left, -1), be_const_func(lvbe_style_set_margin_left) }, + { be_const_key(copy, -1), be_const_func(lvbe_style_copy) }, + { be_const_key(set_shadow_width, -1), be_const_func(lvbe_style_set_shadow_width) }, + { be_const_key(set_bg_opa, -1), be_const_func(lvbe_style_set_bg_opa) }, + { be_const_key(list_copy, 73), be_const_func(lvbe_style_list_copy) }, + { be_const_key(set_value_ofs_y, 17), be_const_func(lvbe_style_set_value_ofs_y) }, + { be_const_key(set_opa_scale, 15), be_const_func(lvbe_style_set_opa_scale) }, + { be_const_key(set_scale_end_border_width, 37), be_const_func(lvbe_style_set_scale_end_border_width) }, + { be_const_key(set_border_color, 81), be_const_func(lvbe_style_set_border_color) }, + { be_const_key(set_line_dash_gap, 95), be_const_func(lvbe_style_set_line_dash_gap) }, + { be_const_key(set_bg_blend_mode, -1), be_const_func(lvbe_style_set_bg_blend_mode) }, + { be_const_key(remove_prop, 77), be_const_func(lvbe_style_remove_prop) }, + { be_const_key(set_border_width, -1), be_const_func(lvbe_style_set_border_width) }, + { be_const_key(set_image_blend_mode, -1), be_const_func(lvbe_style_set_image_blend_mode) }, + { be_const_key(set_transition_path, -1), be_const_func(lvbe_style_set_transition_path) }, + { be_const_key(set_outline_opa, 29), be_const_func(lvbe_style_set_outline_opa) }, + { be_const_key(reset, -1), be_const_func(lvbe_style_reset) }, + { be_const_key(set_pad_top, 45), be_const_func(lvbe_style_set_pad_top) }, + { be_const_key(list_get_style, -1), be_const_func(lvbe_style_list_get_style) }, +}; + +static be_define_const_map( + be_class_lv_style_map, + 103 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_style, + 1, + (bclass *)&be_class_lv_obj, + lv_style +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h new file mode 100644 index 000000000..e7011f6d0 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h @@ -0,0 +1,26 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_switch_map) { + { be_const_key(get_anim_time, 1), be_const_func(lvbe_switch_get_anim_time) }, + { be_const_key(init, -1), be_const_func(lvbe_switch_create) }, + { be_const_key(off, -1), be_const_func(lvbe_switch_off) }, + { be_const_key(toggle, -1), be_const_func(lvbe_switch_toggle) }, + { be_const_key(on, -1), be_const_func(lvbe_switch_on) }, + { be_const_key(tostring, 0), be_const_func(lvx_tostring) }, + { be_const_key(get_state, -1), be_const_func(lvbe_switch_get_state) }, + { be_const_key(set_anim_time, 8), be_const_func(lvbe_switch_set_anim_time) }, + { be_const_key(create, -1), be_const_func(lvbe_switch_create) }, + { be_const_key(dot_p, 6), be_const_int(0) }, +}; + +static be_define_const_map( + be_class_lv_switch_map, + 10 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_switch, + 1, + (bclass *)&be_class_lv_obj, + lv_switch +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h new file mode 100644 index 000000000..9b63755bc --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h @@ -0,0 +1,38 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_table_map) { + { be_const_key(init, -1), be_const_func(lvbe_table_create) }, + { be_const_key(set_cell_crop, -1), be_const_func(lvbe_table_set_cell_crop) }, + { be_const_key(set_cell_value, -1), be_const_func(lvbe_table_set_cell_value) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(set_cell_merge_right, -1), be_const_func(lvbe_table_set_cell_merge_right) }, + { be_const_key(set_cell_type, -1), be_const_func(lvbe_table_set_cell_type) }, + { be_const_key(get_col_width, 15), be_const_func(lvbe_table_get_col_width) }, + { be_const_key(get_row_cnt, 12), be_const_func(lvbe_table_get_row_cnt) }, + { be_const_key(set_row_cnt, -1), be_const_func(lvbe_table_set_row_cnt) }, + { be_const_key(get_cell_crop, 0), be_const_func(lvbe_table_get_cell_crop) }, + { be_const_key(get_cell_align, 14), be_const_func(lvbe_table_get_cell_align) }, + { be_const_key(create, -1), be_const_func(lvbe_table_create) }, + { be_const_key(get_cell_merge_right, -1), be_const_func(lvbe_table_get_cell_merge_right) }, + { be_const_key(set_col_width, -1), be_const_func(lvbe_table_set_col_width) }, + { be_const_key(set_cell_align, -1), be_const_func(lvbe_table_set_cell_align) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_cell_value_fmt, 10), be_const_func(lvbe_table_set_cell_value_fmt) }, + { be_const_key(set_col_cnt, -1), be_const_func(lvbe_table_set_col_cnt) }, + { be_const_key(get_col_cnt, 17), be_const_func(lvbe_table_get_col_cnt) }, + { be_const_key(get_cell_type, 6), be_const_func(lvbe_table_get_cell_type) }, + { be_const_key(get_cell_value, 7), be_const_func(lvbe_table_get_cell_value) }, + { be_const_key(get_pressed_cell, 13), be_const_func(lvbe_table_get_pressed_cell) }, +}; + +static be_define_const_map( + be_class_lv_table_map, + 22 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_table, + 1, + (bclass *)&be_class_lv_obj, + lv_table +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h new file mode 100644 index 000000000..5aba1814a --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h @@ -0,0 +1,31 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_tabview_map) { + { be_const_key(init, -1), be_const_func(lvbe_tabview_create) }, + { be_const_key(get_anim_time, 13), be_const_func(lvbe_tabview_get_anim_time) }, + { be_const_key(set_anim_time, 8), be_const_func(lvbe_tabview_set_anim_time) }, + { be_const_key(add_tab, 6), be_const_func(lvbe_tabview_add_tab) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(set_btns_pos, 12), be_const_func(lvbe_tabview_set_btns_pos) }, + { be_const_key(get_tab_count, -1), be_const_func(lvbe_tabview_get_tab_count) }, + { be_const_key(get_tab_act, 11), be_const_func(lvbe_tabview_get_tab_act) }, + { be_const_key(create, -1), be_const_func(lvbe_tabview_create) }, + { be_const_key(get_btns_pos, -1), be_const_func(lvbe_tabview_get_btns_pos) }, + { be_const_key(set_tab_act, 1), be_const_func(lvbe_tabview_set_tab_act) }, + { be_const_key(clean_tab, -1), be_const_func(lvbe_tabview_clean_tab) }, + { be_const_key(get_tab, -1), be_const_func(lvbe_tabview_get_tab) }, + { be_const_key(tostring, 14), be_const_func(lvx_tostring) }, + { be_const_key(set_tab_name, -1), be_const_func(lvbe_tabview_set_tab_name) }, +}; + +static be_define_const_map( + be_class_lv_tabview_map, + 15 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_tabview, + 1, + (bclass *)&be_class_lv_obj, + lv_tabview +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h new file mode 100644 index 000000000..25cbc8835 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h @@ -0,0 +1,63 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_textarea_map) { + { be_const_key(get_text, -1), be_const_func(lvbe_textarea_get_text) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_pwd_mode, 10), be_const_func(lvbe_textarea_get_pwd_mode) }, + { be_const_key(get_text_sel_en, 27), be_const_func(lvbe_textarea_get_text_sel_en) }, + { be_const_key(set_scrollbar_mode, 41), be_const_func(lvbe_textarea_set_scrollbar_mode) }, + { be_const_key(set_cursor_click_pos, -1), be_const_func(lvbe_textarea_set_cursor_click_pos) }, + { be_const_key(set_text, 9), be_const_func(lvbe_textarea_set_text) }, + { be_const_key(del_char, 39), be_const_func(lvbe_textarea_del_char) }, + { be_const_key(cursor_right, 42), be_const_func(lvbe_textarea_cursor_right) }, + { be_const_key(cursor_up, -1), be_const_func(lvbe_textarea_cursor_up) }, + { be_const_key(cursor_down, -1), be_const_func(lvbe_textarea_cursor_down) }, + { be_const_key(set_text_align, 45), be_const_func(lvbe_textarea_set_text_align) }, + { be_const_key(set_pwd_mode, -1), be_const_func(lvbe_textarea_set_pwd_mode) }, + { be_const_key(del_char_forward, -1), be_const_func(lvbe_textarea_del_char_forward) }, + { be_const_key(text_is_selected, 38), be_const_func(lvbe_textarea_text_is_selected) }, + { be_const_key(get_cursor_hidden, -1), be_const_func(lvbe_textarea_get_cursor_hidden) }, + { be_const_key(set_text_sel, -1), be_const_func(lvbe_textarea_set_text_sel) }, + { be_const_key(set_insert_replace, -1), be_const_func(lvbe_textarea_set_insert_replace) }, + { be_const_key(get_max_length, 34), be_const_func(lvbe_textarea_get_max_length) }, + { be_const_key(set_cursor_blink_time, 25), be_const_func(lvbe_textarea_set_cursor_blink_time) }, + { be_const_key(add_char, 19), be_const_func(lvbe_textarea_add_char) }, + { be_const_key(init, -1), be_const_func(lvbe_textarea_create) }, + { be_const_key(get_edge_flash, -1), be_const_func(lvbe_textarea_get_edge_flash) }, + { be_const_key(set_cursor_hidden, 0), be_const_func(lvbe_textarea_set_cursor_hidden) }, + { be_const_key(get_one_line, -1), be_const_func(lvbe_textarea_get_one_line) }, + { be_const_key(get_placeholder_text, -1), be_const_func(lvbe_textarea_get_placeholder_text) }, + { be_const_key(set_cursor_pos, -1), be_const_func(lvbe_textarea_set_cursor_pos) }, + { be_const_key(get_scrollbar_mode, -1), be_const_func(lvbe_textarea_get_scrollbar_mode) }, + { be_const_key(get_cursor_blink_time, 17), be_const_func(lvbe_textarea_get_cursor_blink_time) }, + { be_const_key(get_scroll_propagation, 28), be_const_func(lvbe_textarea_get_scroll_propagation) }, + { be_const_key(get_label, 18), be_const_func(lvbe_textarea_get_label) }, + { be_const_key(cursor_left, -1), be_const_func(lvbe_textarea_cursor_left) }, + { be_const_key(set_accepted_chars, -1), be_const_func(lvbe_textarea_set_accepted_chars) }, + { be_const_key(set_placeholder_text, 31), be_const_func(lvbe_textarea_set_placeholder_text) }, + { be_const_key(set_max_length, -1), be_const_func(lvbe_textarea_set_max_length) }, + { be_const_key(get_accepted_chars, 37), be_const_func(lvbe_textarea_get_accepted_chars) }, + { be_const_key(get_cursor_click_pos, -1), be_const_func(lvbe_textarea_get_cursor_click_pos) }, + { be_const_key(get_cursor_pos, -1), be_const_func(lvbe_textarea_get_cursor_pos) }, + { be_const_key(set_pwd_show_time, -1), be_const_func(lvbe_textarea_set_pwd_show_time) }, + { be_const_key(set_edge_flash, -1), be_const_func(lvbe_textarea_set_edge_flash) }, + { be_const_key(clear_selection, 22), be_const_func(lvbe_textarea_clear_selection) }, + { be_const_key(get_pwd_show_time, -1), be_const_func(lvbe_textarea_get_pwd_show_time) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(set_one_line, -1), be_const_func(lvbe_textarea_set_one_line) }, + { be_const_key(add_text, 7), be_const_func(lvbe_textarea_add_text) }, + { be_const_key(set_scroll_propagation, -1), be_const_func(lvbe_textarea_set_scroll_propagation) }, + { be_const_key(create, -1), be_const_func(lvbe_textarea_create) }, +}; + +static be_define_const_map( + be_class_lv_textarea_map, + 47 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_textarea, + 1, + (bclass *)&be_class_lv_obj, + lv_textarea +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h new file mode 100644 index 000000000..2887c8219 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h @@ -0,0 +1,28 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_tileview_map) { + { be_const_key(get_tile_act, 2), be_const_func(lvbe_tileview_get_tile_act) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(init, -1), be_const_func(lvbe_tileview_create) }, + { be_const_key(add_element, 0), be_const_func(lvbe_tileview_add_element) }, + { be_const_key(get_edge_flash, -1), be_const_func(lvbe_tileview_get_edge_flash) }, + { be_const_key(set_valid_positions, 6), be_const_func(lvbe_tileview_set_valid_positions) }, + { be_const_key(create, -1), be_const_func(lvbe_tileview_create) }, + { be_const_key(set_tile_act, 9), be_const_func(lvbe_tileview_set_tile_act) }, + { be_const_key(set_edge_flash, -1), be_const_func(lvbe_tileview_set_edge_flash) }, + { be_const_key(dot_p, 10), be_const_int(0) }, + { be_const_key(get_anim_time, -1), be_const_func(lvbe_tileview_get_anim_time) }, + { be_const_key(set_anim_time, -1), be_const_func(lvbe_tileview_set_anim_time) }, +}; + +static be_define_const_map( + be_class_lv_tileview_map, + 12 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_tileview, + 1, + (bclass *)&be_class_lv_obj, + lv_tileview +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h new file mode 100644 index 000000000..bf7f60f75 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h @@ -0,0 +1,47 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_win_map) { + { be_const_key(set_content_size, 10), be_const_func(lvbe_win_set_content_size) }, + { be_const_key(set_layout, -1), be_const_func(lvbe_win_set_layout) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(get_title, -1), be_const_func(lvbe_win_get_title) }, + { be_const_key(clean, 8), be_const_func(lvbe_win_clean) }, + { be_const_key(get_content, -1), be_const_func(lvbe_win_get_content) }, + { be_const_key(set_btn_width, -1), be_const_func(lvbe_win_set_btn_width) }, + { be_const_key(title_get_alignment, -1), be_const_func(lvbe_win_title_get_alignment) }, + { be_const_key(scroll_hor, -1), be_const_func(lvbe_win_scroll_hor) }, + { be_const_key(add_btn_right, -1), be_const_func(lvbe_win_add_btn_right) }, + { be_const_key(get_anim_time, 13), be_const_func(lvbe_win_get_anim_time) }, + { be_const_key(init, -1), be_const_func(lvbe_win_create) }, + { be_const_key(get_from_btn, 15), be_const_func(lvbe_win_get_from_btn) }, + { be_const_key(add_btn_left, -1), be_const_func(lvbe_win_add_btn_left) }, + { be_const_key(title_set_alignment, -1), be_const_func(lvbe_win_title_set_alignment) }, + { be_const_key(scroll_ver, -1), be_const_func(lvbe_win_scroll_ver) }, + { be_const_key(set_header_height, -1), be_const_func(lvbe_win_set_header_height) }, + { be_const_key(focus, 19), be_const_func(lvbe_win_focus) }, + { be_const_key(set_anim_time, 5), be_const_func(lvbe_win_set_anim_time) }, + { be_const_key(close_event_cb, -1), be_const_func(lvbe_win_close_event_cb) }, + { be_const_key(create, -1), be_const_func(lvbe_win_create) }, + { be_const_key(get_sb_mode, 7), be_const_func(lvbe_win_get_sb_mode) }, + { be_const_key(get_btn_width, -1), be_const_func(lvbe_win_get_btn_width) }, + { be_const_key(get_width, -1), be_const_func(lvbe_win_get_width) }, + { be_const_key(get_layout, -1), be_const_func(lvbe_win_get_layout) }, + { be_const_key(set_drag, 2), be_const_func(lvbe_win_set_drag) }, + { be_const_key(tostring, 3), be_const_func(lvx_tostring) }, + { be_const_key(set_scrollbar_mode, -1), be_const_func(lvbe_win_set_scrollbar_mode) }, + { be_const_key(set_title, 24), be_const_func(lvbe_win_set_title) }, + { be_const_key(get_drag, 11), be_const_func(lvbe_win_get_drag) }, + { be_const_key(get_header_height, -1), be_const_func(lvbe_win_get_header_height) }, +}; + +static be_define_const_map( + be_class_lv_win_map, + 31 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_win, + 1, + (bclass *)&be_class_lv_obj, + lv_win +); diff --git a/lib/libesp32/Berry/generate/be_fixed_lvgl.h b/lib/libesp32/Berry/generate/be_fixed_lvgl.h new file mode 100644 index 000000000..4be8b8684 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_lvgl.h @@ -0,0 +1,472 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(m_liblvgl_map) { + { be_const_key(SYMBOL_RIGHT, 114), be_const_str(&be_local_const_str_SYMBOL_RIGHT) }, + { be_const_key(CALENDAR_PART_BG, -1), be_const_int(0) }, + { be_const_key(FS_RES_LOCKED, 106), be_const_int(5) }, + { be_const_key(STYLE_PAD_INNER, 28), be_const_int(20) }, + { be_const_key(DISP_SIZE_MEDIUM, 96), be_const_int(1) }, + { be_const_key(BTNMATRIX_CTRL_CHECKABLE, -1), be_const_int(64) }, + { be_const_key(OPA_40, 53), be_const_int(102) }, + { be_const_key(SYMBOL_IMAGE, 277), be_const_str(&be_local_const_str_SYMBOL_IMAGE) }, + { be_const_key(STYLE_TRANSITION_PROP_6, -1), be_const_int(183) }, + { be_const_key(RED, 270), be_const_int(16711680) }, + { be_const_key(BTN_STATE_RELEASED, -1), be_const_int(0) }, + { be_const_key(FIT_TIGHT, -1), be_const_int(1) }, + { be_const_key(ALIGN_IN_TOP_LEFT, 396), be_const_int(1) }, + { be_const_key(STYLE_BG_GRAD_DIR, 323), be_const_int(35) }, + { be_const_key(OPA_100, -1), be_const_int(255) }, + { be_const_key(LABEL_ALIGN_LEFT, 10), be_const_int(0) }, + { be_const_key(SYMBOL_BATTERY_FULL, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_FULL) }, + { be_const_key(EVENT_FOCUSED, 376), be_const_int(13) }, + { be_const_key(SYMBOL_DUMMY, -1), be_const_str(&be_local_const_str_SYMBOL_DUMMY) }, + { be_const_key(OPA_10, -1), be_const_int(25) }, + { be_const_key(ALIGN_IN_RIGHT_MID, -1), be_const_int(8) }, + { be_const_key(STYLE_BG_OPA, -1), be_const_int(44) }, + { be_const_key(KEY_END, 85), be_const_int(3) }, + { be_const_key(SYMBOL_BATTERY_1, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_1) }, + { be_const_key(CHART_CURSOR_RIGHT, -1), be_const_int(1) }, + { be_const_key(KEY_ESC, -1), be_const_int(27) }, + { be_const_key(OPA_70, 255), be_const_int(178) }, + { be_const_key(LAYOUT_PRETTY_TOP, -1), be_const_int(8) }, + { be_const_key(I2C, -1), be_const_int(1) }, + { be_const_key(CALENDAR_PART_DAY_NAMES, -1), be_const_int(2) }, + { be_const_key(ALIGN_OUT_RIGHT_BOTTOM, -1), be_const_int(20) }, + { be_const_key(KEYBOARD_MODE_TEXT_LOWER, -1), be_const_int(0) }, + { be_const_key(TABVIEW_TAB_POS_TOP, -1), be_const_int(1) }, + { be_const_key(YELLOW, -1), be_const_int(16776960) }, + { be_const_key(SYMBOL_BATTERY_2, 82), be_const_str(&be_local_const_str_SYMBOL_BATTERY_2) }, + { be_const_key(ALIGN_OUT_TOP_RIGHT, 435), be_const_int(11) }, + { be_const_key(LABEL_LONG_SROLL_CIRC, -1), be_const_int(4) }, + { be_const_key(LAYOUT_PRETTY_MID, 254), be_const_int(9) }, + { be_const_key(KEY_PREV, 170), be_const_int(11) }, + { be_const_key(OPA_50, -1), be_const_int(127) }, + { be_const_key(EVENT_INSERT, -1), be_const_int(17) }, + { be_const_key(FS_RES_INV_PARAM, -1), be_const_int(11) }, + { be_const_key(KEYBOARD_MODE_SPECIAL, 384), be_const_int(2) }, + { be_const_key(KEYBOARD_MODE_TEXT_UPPER, -1), be_const_int(1) }, + { be_const_key(EVENT_DEFOCUSED, -1), be_const_int(14) }, + { be_const_key(SYMBOL_BATTERY_3, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_3) }, + { be_const_key(TXT_FLAG_FIT, 299), be_const_int(16) }, + { be_const_key(LABEL_LONG_SROLL, -1), be_const_int(3) }, + { be_const_key(ALIGN_OUT_RIGHT_TOP, -1), be_const_int(18) }, + { be_const_key(ARC_TYPE_REVERSE, -1), be_const_int(2) }, + { be_const_key(FS_RES_NOT_IMP, 212), be_const_int(9) }, + { be_const_key(STYLE_SHADOW_COLOR, 140), be_const_int(89) }, + { be_const_key(STYLE_TEXT_LETTER_SPACE, 256), be_const_int(32896) }, + { be_const_key(SYMBOL_MINUS, 74), be_const_str(&be_local_const_str_SYMBOL_MINUS) }, + { be_const_key(TABVIEW_TAB_POS_BOTTOM, -1), be_const_int(2) }, + { be_const_key(SLIDER_TYPE_RANGE, -1), be_const_int(2) }, + { be_const_key(LAYOUT_CENTER, -1), be_const_int(1) }, + { be_const_key(SYMBOL_DIRECTORY, -1), be_const_str(&be_local_const_str_SYMBOL_DIRECTORY) }, + { be_const_key(STATE_HOVERED, -1), be_const_int(8) }, + { be_const_key(ALIGN_IN_BOTTOM_MID, -1), be_const_int(5) }, + { be_const_key(CHART_AXIS_PRIMARY_Y, -1), be_const_int(0) }, + { be_const_key(SCROLLBAR_MODE_HIDE, 25), be_const_int(4) }, + { be_const_key(CHART_AXIS_SKIP_LAST_TICK, 322), be_const_int(0) }, + { be_const_key(ALIGN_OUT_LEFT_BOTTOM, -1), be_const_int(17) }, + { be_const_key(layer_sys, -1), be_const_func(lv0_layer_sys) }, + { be_const_key(FS_RES_FULL, 400), be_const_int(4) }, + { be_const_key(SYMBOL_STOP, -1), be_const_str(&be_local_const_str_SYMBOL_STOP) }, + { be_const_key(BLEND_MODE_ADDITIVE, -1), be_const_int(1) }, + { be_const_key(DROPDOWN_PART_MAIN, -1), be_const_int(0) }, + { be_const_key(CHART_AXIS_DRAW_LAST_TICK, 362), be_const_int(1) }, + { be_const_key(OPA_0, -1), be_const_int(0) }, + { be_const_key(STYLE_TEXT_BLEND_MODE, 193), be_const_int(32899) }, + { be_const_key(STYLE_VALUE_STR, 202), be_const_int(127) }, + { be_const_key(GRAD_DIR_VER, 291), be_const_int(1) }, + { be_const_key(CHART_UPDATE_MODE_SHIFT, 269), be_const_int(0) }, + { be_const_key(TEXTAREA_CURSOR_LAST, 157), be_const_int(32767) }, + { be_const_key(CPICKER_PART_MAIN, -1), be_const_int(0) }, + { be_const_key(CPICKER_PART_KNOB, -1), be_const_int(1) }, + { be_const_key(LAYOUT_ROW_BOTTOM, 205), be_const_int(7) }, + { be_const_key(SCROLLBAR_MODE_OFF, -1), be_const_int(0) }, + { be_const_key(BTN_STATE_CHECKED_DISABLED, -1), be_const_int(5) }, + { be_const_key(EVENT_PRESSING, 280), be_const_int(1) }, + { be_const_key(GESTURE_DIR_BOTTOM, -1), be_const_int(1) }, + { be_const_key(EVENT_RELEASED, -1), be_const_int(7) }, + { be_const_key(GAUGE_PART_MAIN, -1), be_const_int(0) }, + { be_const_key(EVENT_PRESS_LOST, 300), be_const_int(2) }, + { be_const_key(FS_RES_OK, -1), be_const_int(0) }, + { be_const_key(CHART_AXIS_INVERSE_LABELS_ORDER, 389), be_const_int(2) }, + { be_const_key(STYLE_TEXT_FONT, -1), be_const_int(32910) }, + { be_const_key(STYLE_VALUE_OFS_Y, -1), be_const_int(116) }, + { be_const_key(CPICKER_COLOR_MODE_VALUE, 194), be_const_int(2) }, + { be_const_key(STYLE_PATTERN_REPEAT, -1), be_const_int(97) }, + { be_const_key(OPA_80, -1), be_const_int(204) }, + { be_const_key(PROTECT_POS, 265), be_const_int(4) }, + { be_const_key(OBJMASK_PART_MAIN, 6), be_const_int(0) }, + { be_const_key(STYLE_PATTERN_IMAGE, 455), be_const_int(110) }, + { be_const_key(STYLE_TEXT_SEL_COLOR, -1), be_const_int(32906) }, + { be_const_key(DROPDOWN_DIR_UP, -1), be_const_int(1) }, + { be_const_key(STYLE_TRANSFORM_HEIGHT, -1), be_const_int(5) }, + { be_const_key(OBJ_PART_VIRTUAL_FIRST, -1), be_const_int(1) }, + { be_const_key(STYLE_TRANSITION_DELAY, 148), be_const_int(177) }, + { be_const_key(STYLE_TRANSFORM_ZOOM, -1), be_const_int(7) }, + { be_const_key(BAR_TYPE_CUSTOM, 375), be_const_int(2) }, + { be_const_key(ALIGN_OUT_BOTTOM_LEFT, -1), be_const_int(12) }, + { be_const_key(scr_act, 50), be_const_func(lv0_scr_act) }, + { be_const_key(OPA_COVER, -1), be_const_int(255) }, + { be_const_key(GRAY, -1), be_const_int(8421504) }, + { be_const_key(BORDER_SIDE_FULL, 36), be_const_int(15) }, + { be_const_key(BLACK, -1), be_const_int(0) }, + { be_const_key(MAROON, 98), be_const_int(8388608) }, + { be_const_key(FS_RES_UNKNOWN, -1), be_const_int(12) }, + { be_const_key(CALENDAR_PART_HEADER, -1), be_const_int(1) }, + { be_const_key(ALIGN_OUT_TOP_MID, -1), be_const_int(10) }, + { be_const_key(STYLE_IMAGE_OPA, 95), be_const_int(32940) }, + { be_const_key(FS_MODE_WR, -1), be_const_int(1) }, + { be_const_key(BAR_TYPE_SYMMETRICAL, -1), be_const_int(1) }, + { be_const_key(PROTECT_CLICK_FOCUS, 97), be_const_int(32) }, + { be_const_key(SYMBOL_PASTE, -1), be_const_str(&be_local_const_str_SYMBOL_PASTE) }, + { be_const_key(OBJ_PART_MAIN, -1), be_const_int(0) }, + { be_const_key(STYLE_OUTLINE_BLEND_MODE, -1), be_const_int(66) }, + { be_const_key(DROPDOWN_DIR_DOWN, -1), be_const_int(0) }, + { be_const_key(SYMBOL_VIDEO, -1), be_const_str(&be_local_const_str_SYMBOL_VIDEO) }, + { be_const_key(LAYOUT_PRETTY_BOTTOM, -1), be_const_int(10) }, + { be_const_key(SYMBOL_POWER, -1), be_const_str(&be_local_const_str_SYMBOL_POWER) }, + { be_const_key(BTNMATRIX_CTRL_CLICK_TRIG, -1), be_const_int(256) }, + { be_const_key(BTNMATRIX_CTRL_DISABLED, -1), be_const_int(32) }, + { be_const_key(CHART_CURSOR_UP, -1), be_const_int(2) }, + { be_const_key(LINEMETER_PART_MAIN, -1), be_const_int(0) }, + { be_const_key(SYMBOL_EYE_OPEN, 309), be_const_str(&be_local_const_str_SYMBOL_EYE_OPEN) }, + { be_const_key(OPA_30, 107), be_const_int(76) }, + { be_const_key(STYLE_SIZE, -1), be_const_int(3) }, + { be_const_key(ALIGN_IN_BOTTOM_RIGHT, -1), be_const_int(6) }, + { be_const_key(STATE_FOCUSED, -1), be_const_int(2) }, + { be_const_key(DRAG_DIR_BOTH, -1), be_const_int(3) }, + { be_const_key(STYLE_TEXT_DECOR, -1), be_const_int(32898) }, + { be_const_key(TEXT_DECOR_UNDERLINE, -1), be_const_int(1) }, + { be_const_key(LABEL_ALIGN_RIGHT, 290), be_const_int(2) }, + { be_const_key(TXT_FLAG_NONE, -1), be_const_int(0) }, + { be_const_key(STYLE_IMAGE_BLEND_MODE, 258), be_const_int(32928) }, + { be_const_key(STATE_PRESSED, -1), be_const_int(16) }, + { be_const_key(BTNMATRIX_CTRL_CHECK_STATE, -1), be_const_int(128) }, + { be_const_key(ARC_PART_BG, 392), be_const_int(0) }, + { be_const_key(STYLE_SHADOW_OPA, 208), be_const_int(92) }, + { be_const_key(EVENT_DRAG_THROW_BEGIN, -1), be_const_int(10) }, + { be_const_key(LABEL_LONG_DOT, -1), be_const_int(2) }, + { be_const_key(TABVIEW_TAB_POS_RIGHT, 242), be_const_int(4) }, + { be_const_key(CHART_PART_SERIES, 51), be_const_int(2) }, + { be_const_key(STYLE_MARGIN_LEFT, 83), be_const_int(23) }, + { be_const_key(GREEN, -1), be_const_int(32768) }, + { be_const_key(STYLE_BORDER_SIDE, 286), be_const_int(49) }, + { be_const_key(SYMBOL_DRIVE, -1), be_const_str(&be_local_const_str_SYMBOL_DRIVE) }, + { be_const_key(SYMBOL_UP, -1), be_const_str(&be_local_const_str_SYMBOL_UP) }, + { be_const_key(STYLE_PAD_BOTTOM, -1), be_const_int(17) }, + { be_const_key(SCROLLBAR_MODE_UNHIDE, 369), be_const_int(8) }, + { be_const_key(DISP_ROT_90, -1), be_const_int(1) }, + { be_const_key(STYLE_SHADOW_BLEND_MODE, 43), be_const_int(84) }, + { be_const_key(SCROLLBAR_MODE_DRAG, -1), be_const_int(2) }, + { be_const_key(EVENT_DELETE, -1), be_const_int(21) }, + { be_const_key(SYMBOL_PLUS, -1), be_const_str(&be_local_const_str_SYMBOL_PLUS) }, + { be_const_key(PAGE_EDGE_RIGHT, -1), be_const_int(4) }, + { be_const_key(ANIM_ON, -1), be_const_int(1) }, + { be_const_key(FS_RES_BUSY, 16), be_const_int(7) }, + { be_const_key(PAGE_EDGE_TOP, 395), be_const_int(2) }, + { be_const_key(SPINNER_TYPE_CONSTANT_ARC, 146), be_const_int(2) }, + { be_const_key(STYLE_SCALE_GRAD_COLOR, -1), be_const_int(201) }, + { be_const_key(BTN_STATE_CHECKED_PRESSED, -1), be_const_int(4) }, + { be_const_key(KEY_UP, 222), be_const_int(17) }, + { be_const_key(FS_MODE_RD, 213), be_const_int(2) }, + { be_const_key(LABEL_LONG_BREAK, 333), be_const_int(1) }, + { be_const_key(KEY_DOWN, 246), be_const_int(18) }, + { be_const_key(ALIGN_OUT_BOTTOM_RIGHT, -1), be_const_int(14) }, + { be_const_key(LAYOUT_COLUMN_RIGHT, 211), be_const_int(4) }, + { be_const_key(ALIGN_OUT_BOTTOM_MID, -1), be_const_int(13) }, + { be_const_key(DROPDOWN_PART_LIST, 37), be_const_int(64) }, + { be_const_key(KEY_DEL, 31), be_const_int(127) }, + { be_const_key(SYMBOL_SETTINGS, -1), be_const_str(&be_local_const_str_SYMBOL_SETTINGS) }, + { be_const_key(SYMBOL_USB, -1), be_const_str(&be_local_const_str_SYMBOL_USB) }, + { be_const_key(CALENDAR_PART_DATE, 346), be_const_int(3) }, + { be_const_key(layer_top, 342), be_const_func(lv0_layer_top) }, + { be_const_key(STYLE_PATTERN_BLEND_MODE, -1), be_const_int(96) }, + { be_const_key(ARC_TYPE_SYMMETRIC, 38), be_const_int(1) }, + { be_const_key(GESTURE_DIR_RIGHT, 47), be_const_int(3) }, + { be_const_key(BTN_STATE_DISABLED, 71), be_const_int(2) }, + { be_const_key(EVENT_KEY, -1), be_const_int(12) }, + { be_const_key(TEMPL_STYLE_X, 326), be_const_int(0) }, + { be_const_key(SLIDER_TYPE_NORMAL, -1), be_const_int(0) }, + { be_const_key(LIST_PART_SCROLLBAR, -1), be_const_int(1) }, + { be_const_key(CPICKER_COLOR_MODE_SATURATION, -1), be_const_int(1) }, + { be_const_key(STYLE_TEXT_LINE_SPACE, -1), be_const_int(32897) }, + { be_const_key(SYMBOL_HOME, -1), be_const_str(&be_local_const_str_SYMBOL_HOME) }, + { be_const_key(STYLE_BG_GRAD_STOP, 315), be_const_int(34) }, + { be_const_key(TEAL, -1), be_const_int(32896) }, + { be_const_key(LIST_PART_EDGE_FLASH, -1), be_const_int(2) }, + { be_const_key(STYLE_LINE_WIDTH, 427), be_const_int(144) }, + { be_const_key(LIME, -1), be_const_int(65280) }, + { be_const_key(TEMPL_STYLE_Y, 125), be_const_int(1) }, + { be_const_key(EVENT_CANCEL, -1), be_const_int(20) }, + { be_const_key(STYLE_MARGIN_BOTTOM, -1), be_const_int(22) }, + { be_const_key(SYMBOL_EDIT, 426), be_const_str(&be_local_const_str_SYMBOL_EDIT) }, + { be_const_key(SYMBOL_KEYBOARD, 69), be_const_str(&be_local_const_str_SYMBOL_KEYBOARD) }, + { be_const_key(LAYOUT_GRID, 447), be_const_int(11) }, + { be_const_key(SPINNER_DIR_BACKWARD, 252), be_const_int(1) }, + { be_const_key(SILVER, 365), be_const_int(12632256) }, + { be_const_key(SYMBOL_SHUFFLE, -1), be_const_str(&be_local_const_str_SYMBOL_SHUFFLE) }, + { be_const_key(OPA_TRANSP, -1), be_const_int(0) }, + { be_const_key(STYLE_VALUE_OFS_X, 436), be_const_int(115) }, + { be_const_key(STYLE_TRANSITION_PROP_3, -1), be_const_int(180) }, + { be_const_key(SPINNER_DIR_FORWARD, 27), be_const_int(0) }, + { be_const_key(SPINNER_TYPE_FILLSPIN_ARC, -1), be_const_int(1) }, + { be_const_key(STYLE_MARGIN_TOP, 454), be_const_int(21) }, + { be_const_key(SYMBOL_BULLET, -1), be_const_str(&be_local_const_str_SYMBOL_BULLET) }, + { be_const_key(LAYOUT_COLUMN_MID, -1), be_const_int(3) }, + { be_const_key(SSPI, 397), be_const_int(2) }, + { be_const_key(STYLE_IMAGE_RECOLOR, 284), be_const_int(32937) }, + { be_const_key(KEYBOARD_PART_BG, -1), be_const_int(0) }, + { be_const_key(SYMBOL_COPY, 282), be_const_str(&be_local_const_str_SYMBOL_COPY) }, + { be_const_key(STYLE_BG_BLEND_MODE, 273), be_const_int(32) }, + { be_const_key(STYLE_TRANSITION_PROP_2, 388), be_const_int(179) }, + { be_const_key(TXT_FLAG_CENTER, -1), be_const_int(4) }, + { be_const_key(OPA_90, -1), be_const_int(229) }, + { be_const_key(PAGE_EDGE_BOTTOM, 166), be_const_int(8) }, + { be_const_key(FIT_MAX, 26), be_const_int(3) }, + { be_const_key(CHART_AXIS_SECONDARY_Y, -1), be_const_int(1) }, + { be_const_key(LIST_PART_BG, 237), be_const_int(0) }, + { be_const_key(EVENT_DRAG_BEGIN, 35), be_const_int(8) }, + { be_const_key(FIT_PARENT, 424), be_const_int(2) }, + { be_const_key(CHART_CURSOR_LEFT, 177), be_const_int(4) }, + { be_const_key(PROTECT_PRESS_LOST, -1), be_const_int(16) }, + { be_const_key(STYLE_TRANSITION_PROP_5, -1), be_const_int(182) }, + { be_const_key(DROPDOWN_PART_SCROLLBAR, 243), be_const_int(65) }, + { be_const_key(GAUGE_PART_NEEDLE, -1), be_const_int(2) }, + { be_const_key(LABEL_LONG_CROP, -1), be_const_int(5) }, + { be_const_key(SYMBOL_TRASH, 127), be_const_str(&be_local_const_str_SYMBOL_TRASH) }, + { be_const_key(STYLE_LINE_BLEND_MODE, 81), be_const_int(145) }, + { be_const_key(STYLE_TRANSFORM_WIDTH, 196), be_const_int(4) }, + { be_const_key(TXT_FLAG_RIGHT, -1), be_const_int(8) }, + { be_const_key(STYLE_LINE_OPA, -1), be_const_int(156) }, + { be_const_key(ALIGN_OUT_LEFT_TOP, -1), be_const_int(15) }, + { be_const_key(ARC_TYPE_NORMAL, 210), be_const_int(0) }, + { be_const_key(STYLE_TRANSITION_PROP_4, -1), be_const_int(181) }, + { be_const_key(CHART_PART_CURSOR, 356), be_const_int(3) }, + { be_const_key(STYLE_PATTERN_RECOLOR_OPA, -1), be_const_int(109) }, + { be_const_key(STYLE_BG_MAIN_STOP, 301), be_const_int(33) }, + { be_const_key(AQUA, -1), be_const_int(65535) }, + { be_const_key(STATE_CHECKED, 90), be_const_int(1) }, + { be_const_key(CHART_PART_BG, -1), be_const_int(0) }, + { be_const_key(STYLE_LINE_DASH_GAP, 321), be_const_int(147) }, + { be_const_key(SYMBOL_NEXT, -1), be_const_str(&be_local_const_str_SYMBOL_NEXT) }, + { be_const_key(STYLE_SCALE_WIDTH, -1), be_const_int(192) }, + { be_const_key(STYLE_RADIUS, -1), be_const_int(1) }, + { be_const_key(montserrat_font, -1), be_const_func(lv0_load_montserrat_font) }, + { be_const_key(EVENT_LONG_PRESSED_REPEAT, -1), be_const_int(5) }, + { be_const_key(SYMBOL_CHARGE, 316), be_const_str(&be_local_const_str_SYMBOL_CHARGE) }, + { be_const_key(ALIGN_IN_LEFT_MID, -1), be_const_int(7) }, + { be_const_key(STYLE_LINE_COLOR, -1), be_const_int(153) }, + { be_const_key(BORDER_SIDE_LEFT, -1), be_const_int(4) }, + { be_const_key(STYLE_BG_COLOR, 298), be_const_int(41) }, + { be_const_key(PROTECT_PARENT, -1), be_const_int(2) }, + { be_const_key(STYLE_OPA_SCALE, -1), be_const_int(32780) }, + { be_const_key(STYLE_SHADOW_SPREAD, -1), be_const_int(83) }, + { be_const_key(SYMBOL_OK, 337), be_const_str(&be_local_const_str_SYMBOL_OK) }, + { be_const_key(STYLE_TEXT_OPA, 8), be_const_int(32908) }, + { be_const_key(STYLE_PATTERN_OPA, -1), be_const_int(108) }, + { be_const_key(TXT_FLAG_EXPAND, 410), be_const_int(2) }, + { be_const_key(DRAG_DIR_ONE, -1), be_const_int(4) }, + { be_const_key(STYLE_OUTLINE_PAD, -1), be_const_int(65) }, + { be_const_key(STYLE_BORDER_WIDTH, 201), be_const_int(48) }, + { be_const_key(EVENT_LONG_PRESSED, 73), be_const_int(4) }, + { be_const_key(CPICKER_TYPE_RECT, 409), be_const_int(0) }, + { be_const_key(BORDER_SIDE_RIGHT, -1), be_const_int(8) }, + { be_const_key(STYLE_OUTLINE_WIDTH, -1), be_const_int(64) }, + { be_const_key(ARC_PART_INDIC, -1), be_const_int(1) }, + { be_const_key(STYLE_PATTERN_RECOLOR, -1), be_const_int(105) }, + { be_const_key(TXT_CMD_STATE_PAR, 115), be_const_int(1) }, + { be_const_key(STYLE_SCALE_BORDER_WIDTH, -1), be_const_int(193) }, + { be_const_key(SYMBOL_MUTE, 102), be_const_str(&be_local_const_str_SYMBOL_MUTE) }, + { be_const_key(BTN_STATE_PRESSED, 353), be_const_int(1) }, + { be_const_key(STYLE_SCALE_END_BORDER_WIDTH, -1), be_const_int(194) }, + { be_const_key(STATE_EDITED, -1), be_const_int(4) }, + { be_const_key(SYMBOL_LEFT, -1), be_const_str(&be_local_const_str_SYMBOL_LEFT) }, + { be_const_key(LABEL_ALIGN_CENTER, -1), be_const_int(1) }, + { be_const_key(STYLE_BG_GRAD_COLOR, 274), be_const_int(42) }, + { be_const_key(STYLE_SCALE_END_LINE_WIDTH, -1), be_const_int(195) }, + { be_const_key(DISP_ROT_180, 103), be_const_int(2) }, + { be_const_key(FIT_NONE, -1), be_const_int(0) }, + { be_const_key(LAYOUT_OFF, 40), be_const_int(0) }, + { be_const_key(BORDER_SIDE_INTERNAL, -1), be_const_int(16) }, + { be_const_key(BORDER_SIDE_TOP, -1), be_const_int(2) }, + { be_const_key(BLEND_MODE_NORMAL, -1), be_const_int(0) }, + { be_const_key(KEY_RIGHT, 154), be_const_int(19) }, + { be_const_key(CHECKBOX_PART_BG, -1), be_const_int(0) }, + { be_const_key(CHART_UPDATE_MODE_CIRCULAR, -1), be_const_int(1) }, + { be_const_key(TEXT_DECOR_STRIKETHROUGH, -1), be_const_int(2) }, + { be_const_key(ROLLER_MODE_INFINITE, -1), be_const_int(1) }, + { be_const_key(SYMBOL_PAUSE, -1), be_const_str(&be_local_const_str_SYMBOL_PAUSE) }, + { be_const_key(FS_RES_DENIED, 215), be_const_int(6) }, + { be_const_key(SLIDER_TYPE_SYMMETRICAL, -1), be_const_int(1) }, + { be_const_key(SYMBOL_REFRESH, -1), be_const_str(&be_local_const_str_SYMBOL_REFRESH) }, + { be_const_key(SYMBOL_AUDIO, -1), be_const_str(&be_local_const_str_SYMBOL_AUDIO) }, + { be_const_key(FS_RES_OUT_OF_MEM, 293), be_const_int(10) }, + { be_const_key(PROTECT_EVENT_TO_DISABLED, -1), be_const_int(64) }, + { be_const_key(DRAG_DIR_HOR, -1), be_const_int(1) }, + { be_const_key(STYLE_VALUE_ALIGN, -1), be_const_int(117) }, + { be_const_key(KEY_BACKSPACE, -1), be_const_int(8) }, + { be_const_key(EVENT_LEAVE, -1), be_const_int(15) }, + { be_const_key(DRAG_DIR_VER, -1), be_const_int(2) }, + { be_const_key(TXT_CMD_STATE_WAIT, -1), be_const_int(0) }, + { be_const_key(SCROLLBAR_MODE_ON, 442), be_const_int(1) }, + { be_const_key(STYLE_MARGIN_RIGHT, 207), be_const_int(24) }, + { be_const_key(DROPDOWN_DIR_LEFT, -1), be_const_int(2) }, + { be_const_key(STYLE_TEXT_COLOR, -1), be_const_int(32905) }, + { be_const_key(KEYBOARD_PART_BTN, 370), be_const_int(1) }, + { be_const_key(STYLE_TRANSITION_TIME, 272), be_const_int(176) }, + { be_const_key(EVENT_CLICKED, -1), be_const_int(6) }, + { be_const_key(SYMBOL_GPS, 92), be_const_str(&be_local_const_str_SYMBOL_GPS) }, + { be_const_key(DISP_SIZE_EXTRA_LARGE, -1), be_const_int(3) }, + { be_const_key(KEY_HOME, -1), be_const_int(2) }, + { be_const_key(SYMBOL_BATTERY_EMPTY, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_EMPTY) }, + { be_const_key(STYLE_VALUE_COLOR, -1), be_const_int(121) }, + { be_const_key(FS_RES_FS_ERR, 390), be_const_int(2) }, + { be_const_key(MAGENTA, 303), be_const_int(16711935) }, + { be_const_key(ROLLER_MODE_NORMAL, -1), be_const_int(0) }, + { be_const_key(GAUGE_PART_MAJOR, -1), be_const_int(1) }, + { be_const_key(SYMBOL_VOLUME_MAX, -1), be_const_str(&be_local_const_str_SYMBOL_VOLUME_MAX) }, + { be_const_key(STYLE_PAD_LEFT, 310), be_const_int(18) }, + { be_const_key(BLUE, -1), be_const_int(255) }, + { be_const_key(STYLE_TRANSITION_PROP_1, -1), be_const_int(178) }, + { be_const_key(STYLE_OUTLINE_COLOR, -1), be_const_int(73) }, + { be_const_key(TXT_CMD_STATE_IN, 329), be_const_int(2) }, + { be_const_key(GRAD_DIR_NONE, 318), be_const_int(0) }, + { be_const_key(STYLE_SHADOW_OFS_Y, 61), be_const_int(82) }, + { be_const_key(EVENT_GESTURE, -1), be_const_int(11) }, + { be_const_key(EVENT_DRAG_END, 294), be_const_int(9) }, + { be_const_key(STYLE_BORDER_POST, 48), be_const_int(51) }, + { be_const_key(SYMBOL_CALL, 152), be_const_str(&be_local_const_str_SYMBOL_CALL) }, + { be_const_key(PURPLE, 382), be_const_int(8388736) }, + { be_const_key(DROPDOWN_PART_SELECTED, -1), be_const_int(66) }, + { be_const_key(FS_RES_TOUT, -1), be_const_int(8) }, + { be_const_key(OBJ_PART_ALL, -1), be_const_int(255) }, + { be_const_key(CPICKER_TYPE_DISC, -1), be_const_int(1) }, + { be_const_key(CYAN, -1), be_const_int(65535) }, + { be_const_key(STYLE_SHADOW_OFS_X, 317), be_const_int(81) }, + { be_const_key(PAGE_EDGE_LEFT, -1), be_const_int(1) }, + { be_const_key(ALIGN_OUT_TOP_LEFT, -1), be_const_int(9) }, + { be_const_key(PROTECT_NONE, -1), be_const_int(0) }, + { be_const_key(KEY_ENTER, 120), be_const_int(10) }, + { be_const_key(DISP_ROT_NONE, -1), be_const_int(0) }, + { be_const_key(GRAD_DIR_HOR, -1), be_const_int(2) }, + { be_const_key(OPA_60, -1), be_const_int(153) }, + { be_const_key(CHART_CURSOR_NONE, -1), be_const_int(0) }, + { be_const_key(WHITE, -1), be_const_int(16777215) }, + { be_const_key(SYMBOL_EJECT, 304), be_const_str(&be_local_const_str_SYMBOL_EJECT) }, + { be_const_key(STYLE_SHADOW_WIDTH, -1), be_const_int(80) }, + { be_const_key(GESTURE_DIR_TOP, -1), be_const_int(0) }, + { be_const_key(STYLE_IMAGE_RECOLOR_OPA, -1), be_const_int(32941) }, + { be_const_key(CHART_TYPE_LINE, 29), be_const_int(1) }, + { be_const_key(GESTURE_DIR_LEFT, -1), be_const_int(2) }, + { be_const_key(SPI, -1), be_const_int(0) }, + { be_const_key(LAYOUT_COLUMN_LEFT, 367), be_const_int(2) }, + { be_const_key(HSPI, -1), be_const_int(0) }, + { be_const_key(SYMBOL_EYE_CLOSE, 124), be_const_str(&be_local_const_str_SYMBOL_EYE_CLOSE) }, + { be_const_key(KEYBOARD_MODE_NUM, 56), be_const_int(3) }, + { be_const_key(SYMBOL_BELL, -1), be_const_str(&be_local_const_str_SYMBOL_BELL) }, + { be_const_key(STYLE_TEXT_SEL_BG_COLOR, -1), be_const_int(32907) }, + { be_const_key(STATE_DEFAULT, 60), be_const_int(0) }, + { be_const_key(LAYOUT_ROW_TOP, -1), be_const_int(5) }, + { be_const_key(ALIGN_OUT_LEFT_MID, 216), be_const_int(16) }, + { be_const_key(SYMBOL_CLOSE, -1), be_const_str(&be_local_const_str_SYMBOL_CLOSE) }, + { be_const_key(STYLE_VALUE_LETTER_SPACE, -1), be_const_int(112) }, + { be_const_key(NAVY, 414), be_const_int(128) }, + { be_const_key(SYMBOL_SAVE, 420), be_const_str(&be_local_const_str_SYMBOL_SAVE) }, + { be_const_key(SYMBOL_NEW_LINE, -1), be_const_str(&be_local_const_str_SYMBOL_NEW_LINE) }, + { be_const_key(SYMBOL_FILE, -1), be_const_str(&be_local_const_str_SYMBOL_FILE) }, + { be_const_key(SYMBOL_DOWNLOAD, -1), be_const_str(&be_local_const_str_SYMBOL_DOWNLOAD) }, + { be_const_key(ARC_PART_KNOB, -1), be_const_int(2) }, + { be_const_key(BAR_TYPE_NORMAL, -1), be_const_int(0) }, + { be_const_key(VSPI, -1), be_const_int(1) }, + { be_const_key(STYLE_VALUE_OPA, 14), be_const_int(124) }, + { be_const_key(SYMBOL_DOWN, -1), be_const_str(&be_local_const_str_SYMBOL_DOWN) }, + { be_const_key(EVENT_REFRESH, -1), be_const_int(18) }, + { be_const_key(EVENT_APPLY, -1), be_const_int(19) }, + { be_const_key(STYLE_BORDER_BLEND_MODE, -1), be_const_int(50) }, + { be_const_key(CPICKER_COLOR_MODE_HUE, 429), be_const_int(0) }, + { be_const_key(start, -1), be_const_func(lv0_start) }, + { be_const_key(ANIM_OFF, -1), be_const_int(0) }, + { be_const_key(STYLE_CLIP_CORNER, -1), be_const_int(2) }, + { be_const_key(BTNMATRIX_CTRL_NO_REPEAT, -1), be_const_int(16) }, + { be_const_key(TEXT_DECOR_NONE, -1), be_const_int(0) }, + { be_const_key(ALIGN_IN_TOP_RIGHT, -1), be_const_int(3) }, + { be_const_key(BLEND_MODE_SUBTRACTIVE, 439), be_const_int(2) }, + { be_const_key(BORDER_SIDE_BOTTOM, 143), be_const_int(1) }, + { be_const_key(CHART_TYPE_NONE, 344), be_const_int(0) }, + { be_const_key(FS_RES_HW_ERR, -1), be_const_int(1) }, + { be_const_key(LABEL_LONG_EXPAND, -1), be_const_int(0) }, + { be_const_key(SYMBOL_CUT, 340), be_const_str(&be_local_const_str_SYMBOL_CUT) }, + { be_const_key(STYLE_OUTLINE_OPA, -1), be_const_int(76) }, + { be_const_key(SYMBOL_SD_CARD, 448), be_const_str(&be_local_const_str_SYMBOL_SD_CARD) }, + { be_const_key(EVENT_SHORT_CLICKED, 405), be_const_int(3) }, + { be_const_key(BORDER_SIDE_NONE, -1), be_const_int(0) }, + { be_const_key(CHART_CURSOR_DOWN, -1), be_const_int(8) }, + { be_const_key(ALIGN_OUT_RIGHT_MID, -1), be_const_int(19) }, + { be_const_key(SYMBOL_BACKSPACE, 15), be_const_str(&be_local_const_str_SYMBOL_BACKSPACE) }, + { be_const_key(STYLE_TRANSITION_PATH, 188), be_const_int(190) }, + { be_const_key(STYLE_LINE_ROUNDED, -1), be_const_int(148) }, + { be_const_key(OLIVE, 9), be_const_int(8421376) }, + { be_const_key(SYMBOL_LOOP, -1), be_const_str(&be_local_const_str_SYMBOL_LOOP) }, + { be_const_key(STYLE_VALUE_LINE_SPACE, -1), be_const_int(113) }, + { be_const_key(CHART_PART_SERIES_BG, 4), be_const_int(1) }, + { be_const_key(STYLE_VALUE_FONT, -1), be_const_int(126) }, + { be_const_key(SYMBOL_PLAY, -1), be_const_str(&be_local_const_str_SYMBOL_PLAY) }, + { be_const_key(DISP_SIZE_LARGE, -1), be_const_int(2) }, + { be_const_key(BTN_STATE_CHECKED_RELEASED, 133), be_const_int(3) }, + { be_const_key(SYMBOL_BLUETOOTH, -1), be_const_str(&be_local_const_str_SYMBOL_BLUETOOTH) }, + { be_const_key(STYLE_SCALE_END_COLOR, -1), be_const_int(202) }, + { be_const_key(SPINNER_TYPE_SPINNING_ARC, 443), be_const_int(0) }, + { be_const_key(SYMBOL_WIFI, 24), be_const_str(&be_local_const_str_SYMBOL_WIFI) }, + { be_const_key(STYLE_BORDER_OPA, -1), be_const_int(60) }, + { be_const_key(STYLE_PAD_RIGHT, -1), be_const_int(19) }, + { be_const_key(OBJ_PART_REAL_FIRST, 136), be_const_int(64) }, + { be_const_key(STATE_DISABLED, -1), be_const_int(32) }, + { be_const_key(SYMBOL_UPLOAD, -1), be_const_str(&be_local_const_str_SYMBOL_UPLOAD) }, + { be_const_key(STYLE_TRANSFORM_ANGLE, -1), be_const_int(6) }, + { be_const_key(EVENT_VALUE_CHANGED, -1), be_const_int(16) }, + { be_const_key(TABVIEW_TAB_POS_NONE, -1), be_const_int(0) }, + { be_const_key(SYMBOL_VOLUME_MID, -1), be_const_str(&be_local_const_str_SYMBOL_VOLUME_MID) }, + { be_const_key(STYLE_LINE_DASH_WIDTH, -1), be_const_int(146) }, + { be_const_key(SYMBOL_WARNING, -1), be_const_str(&be_local_const_str_SYMBOL_WARNING) }, + { be_const_key(ALIGN_IN_BOTTOM_LEFT, -1), be_const_int(4) }, + { be_const_key(TABVIEW_TAB_POS_LEFT, 88), be_const_int(3) }, + { be_const_key(DISP_SIZE_SMALL, -1), be_const_int(0) }, + { be_const_key(ALIGN_CENTER, -1), be_const_int(0) }, + { be_const_key(SYMBOL_PREV, 385), be_const_str(&be_local_const_str_SYMBOL_PREV) }, + { be_const_key(get_hor_res, -1), be_const_func(lv0_get_hor_res) }, + { be_const_key(DISP_ROT_270, -1), be_const_int(3) }, + { be_const_key(PROTECT_CHILD_CHG, -1), be_const_int(1) }, + { be_const_key(OPA_20, -1), be_const_int(51) }, + { be_const_key(LED_PART_MAIN, -1), be_const_int(0) }, + { be_const_key(CHECKBOX_PART_BULLET, -1), be_const_int(64) }, + { be_const_key(EVENT_PRESSED, -1), be_const_int(0) }, + { be_const_key(LABEL_ALIGN_AUTO, -1), be_const_int(3) }, + { be_const_key(get_ver_res, -1), be_const_func(lv0_get_ver_res) }, + { be_const_key(STYLE_BORDER_COLOR, -1), be_const_int(57) }, + { be_const_key(BTNMATRIX_CTRL_HIDDEN, 453), be_const_int(8) }, + { be_const_key(TXT_FLAG_RECOLOR, -1), be_const_int(1) }, + { be_const_key(KEY_LEFT, -1), be_const_int(20) }, + { be_const_key(SCROLLBAR_MODE_AUTO, -1), be_const_int(3) }, + { be_const_key(SYMBOL_LIST, 165), be_const_str(&be_local_const_str_SYMBOL_LIST) }, + { be_const_key(STYLE_PAD_TOP, -1), be_const_int(16) }, + { be_const_key(PROTECT_FOLLOW, -1), be_const_int(8) }, + { be_const_key(LAYOUT_ROW_MID, -1), be_const_int(6) }, + { be_const_key(STYLE_VALUE_BLEND_MODE, 373), be_const_int(114) }, + { be_const_key(CHART_TYPE_COLUMN, 91), be_const_int(2) }, + { be_const_key(KEY_NEXT, 128), be_const_int(9) }, + { be_const_key(FS_RES_NOT_EX, -1), be_const_int(3) }, + { be_const_key(DROPDOWN_DIR_RIGHT, -1), be_const_int(3) }, + { be_const_key(ALIGN_IN_TOP_MID, -1), be_const_int(2) }, +}; + +static be_define_const_map( + m_liblvgl_map, + 456 +); + +static be_define_const_module( + m_liblvgl, + "lvgl" +); + +BE_EXPORT_VARIABLE be_define_const_native_module(lvgl, NULL); diff --git a/lib/libesp32/Berry/library.json b/lib/libesp32/Berry/library.json index c1a6bf633..705592bd5 100644 --- a/lib/libesp32/Berry/library.json +++ b/lib/libesp32/Berry/library.json @@ -24,6 +24,7 @@ "+<../default/*.hpp>", "+<*.cpp>", "+<*.h>" - ] + ], + "flags": [ "-I$PROJECT_DIR/tasmota", "-DCOMPILE_BERRY_LIB" ] } } \ No newline at end of file diff --git a/lib/libesp32/Berry/src/be_api.c b/lib/libesp32/Berry/src/be_api.c index d1232096c..04c80adac 100644 --- a/lib/libesp32/Berry/src/be_api.c +++ b/lib/libesp32/Berry/src/be_api.c @@ -390,6 +390,12 @@ BERRY_API void be_pushclass(bvm *vm, const char *name, const bnfuncinfo *lib) var_setclass(vm->top - 1, c); } +BERRY_API void be_pushntvclass(bvm *vm, const struct bclass * c) +{ + bvalue *top = be_incrtop(vm); + var_setclass(top, (bclass *) c); +} + BERRY_API void be_pushcomptr(bvm *vm, void *ptr) { bvalue *top = be_incrtop(vm); diff --git a/lib/libesp32/Berry/src/be_constobj.h b/lib/libesp32/Berry/src/be_constobj.h index 6b9e8d737..ebd72e6c8 100644 --- a/lib/libesp32/Berry/src/be_constobj.h +++ b/lib/libesp32/Berry/src/be_constobj.h @@ -47,6 +47,11 @@ extern "C" { .type = BE_REAL \ } +#define be_const_str(_val) { \ + .v.s = (bstring*)(_val), \ + .type = BE_STRING \ +} + #define be_const_class(_class) { \ .v.c = &(_class), \ .type = BE_CLASS \ diff --git a/lib/libesp32/Berry/src/be_solidifylib.c b/lib/libesp32/Berry/src/be_solidifylib.c index 56304bea3..338f6127b 100644 --- a/lib/libesp32/Berry/src/be_solidifylib.c +++ b/lib/libesp32/Berry/src/be_solidifylib.c @@ -81,7 +81,7 @@ static void m_solidify_proto(bvm *vm, bproto *pr, const char * func_name, int bu /* create static strings for name and source */ logfmt("be_define_local_const_str(%s_str_name, \"%s\", %i, 0, %u, 0);\n", - func_name, func_name, be_strhash(pr->name), str_len(pr->name)); + func_name, str(pr->name), be_strhash(pr->name), str_len(pr->name)); logfmt("be_define_local_const_str(%s_str_source, \"%s\", %i, 0, %u, 0);\n", func_name, func_source, be_strhash(pr->source), str_len(pr->source)); diff --git a/lib/libesp32/Berry/src/berry.h b/lib/libesp32/Berry/src/berry.h index 760ec2961..6dd42cd21 100644 --- a/lib/libesp32/Berry/src/berry.h +++ b/lib/libesp32/Berry/src/berry.h @@ -120,6 +120,7 @@ enum berrorcode { typedef struct bvm bvm; /* virtual machine structure */ typedef int (*bntvfunc)(bvm*); /* native function pointer */ +struct bclass; /* native function information */ typedef struct { @@ -428,6 +429,7 @@ BERRY_API void be_pushclosure(bvm *vm, void *cl); BERRY_API void be_pushntvclosure(bvm *vm, bntvfunc f, int nupvals); BERRY_API void be_pushntvfunction(bvm *vm, bntvfunc f); BERRY_API void be_pushclass(bvm *vm, const char *name, const bnfuncinfo *lib); +BERRY_API void be_pushntvclass(bvm *vm, const struct bclass * c); BERRY_API void be_pushcomptr(bvm *vm, void *ptr); BERRY_API bbool be_pushiter(bvm *vm, int index); diff --git a/lib/libesp32/Berry/src/berry_conf.h b/lib/libesp32/Berry/src/berry_conf.h index c0ec957c4..ff5a40419 100644 --- a/lib/libesp32/Berry/src/berry_conf.h +++ b/lib/libesp32/Berry/src/berry_conf.h @@ -1 +1 @@ -#include "../default/berry_conf.h" \ No newline at end of file +#include "../default/berry_conf.h" diff --git a/lib/libesp32/Berry/tools/coc/block_builder.cpp b/lib/libesp32/Berry/tools/coc/block_builder.cpp index eecf9fd8e..9cf05be95 100755 --- a/lib/libesp32/Berry/tools/coc/block_builder.cpp +++ b/lib/libesp32/Berry/tools/coc/block_builder.cpp @@ -27,6 +27,12 @@ block_builder::block_builder(const object_block *object, const macro_table *macr if (depend(object, macro)) { m_block.type = object->type; m_block.attr = object->attr; + + auto it = object->attr.find("name"); + if (it != object->attr.end()) { + m_strtab.push_back(it->second); + } + for (auto i : object->data) { if (i.second.depend.empty() || macro->query(i.second.depend)) { m_block.data[i.first] = i.second.value; diff --git a/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.cpp b/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.cpp new file mode 100644 index 000000000..b8f61d7d3 --- /dev/null +++ b/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.cpp @@ -0,0 +1,447 @@ +#include "Adafruit_LvGL_Glue.h" +#include + +// ARCHITECTURE-SPECIFIC TIMER STUFF --------------------------------------- + +// Tick interval for LittlevGL internal timekeeping; 1 to 10 ms recommended +static const int lv_tick_interval_ms = 10; + +#if defined(ARDUINO_ARCH_SAMD) // -------------------------------------- + +// Because of the way timer/counters are paired, and because parallel TFT +// uses timer 2 for write strobe, this needs to use timer 4 or above... +#define TIMER_NUM 4 +#define TIMER_ISR TC4_Handler + +// Interrupt service routine for zerotimer object +void TIMER_ISR(void) { Adafruit_ZeroTimer::timerHandler(TIMER_NUM); } + +// Timer compare match 0 callback -- invokes LittlevGL timekeeper. +static void timerCallback0(void) { lv_tick_inc(lv_tick_interval_ms); } + +#elif defined(ESP32) // ------------------------------------------------ + +static void lv_tick_handler(void) { lv_tick_inc(lv_tick_interval_ms); } + +#elif defined(NRF52_SERIES) // ----------------------------------------- + +#define TIMER_ID NRF_TIMER4 +#define TIMER_IRQN TIMER4_IRQn +#define TIMER_ISR TIMER4_IRQHandler +#define TIMER_FREQ 16000000 + +extern "C" { +// Timer interrupt service routine +void TIMER_ISR(void) { + if (TIMER_ID->EVENTS_COMPARE[0]) { + TIMER_ID->EVENTS_COMPARE[0] = 0; + } + lv_tick_inc(lv_tick_interval_ms); +} +} + +#endif + +// TOUCHSCREEN STUFF ------------------------------------------------------- + +// STMPE610 calibration for raw touch data +#define TS_MINX 100 +#define TS_MAXX 3800 +#define TS_MINY 100 +#define TS_MAXY 3750 + +// Same, for ADC touchscreen +#define ADC_XMIN 325 +#define ADC_XMAX 750 +#define ADC_YMIN 240 +#define ADC_YMAX 840 + +static bool touchscreen_read(struct _lv_indev_drv_t *indev_drv, + lv_indev_data_t *data) { + static lv_coord_t last_x = 0, last_y = 0; + static uint8_t release_count = 0; + + // Get pointer to glue object from indev user data + Adafruit_LvGL_Glue *glue = (Adafruit_LvGL_Glue *)indev_drv->user_data; + uDisplay_lvgl *disp = glue->display; + + if (glue->is_adc_touch) { + TouchScreen *touch = (TouchScreen *)glue->touchscreen; + TSPoint p = touch->getPoint(); + // Serial.printf("%d %d %d\r\n", p.x, p.y, p.z); + // Having an issue with spurious z=0 results from TouchScreen lib. + // Since touch is polled periodically, workaround is to watch for + // several successive z=0 results, and only then regard it as + // a release event (otherwise still touched). + if (p.z < touch->pressureThreshhold) { // A zero-ish value + release_count += (release_count < 255); + if (release_count >= 4) { + data->state = LV_INDEV_STATE_REL; // Is REALLY RELEASED + } else { + data->state = LV_INDEV_STATE_PR; // Is STILL PRESSED + } + } else { + release_count = 0; // Reset release counter + data->state = LV_INDEV_STATE_PR; // Is PRESSED + switch (glue->display->getRotation()) { + case 0: + last_x = map(p.x, ADC_XMIN, ADC_XMAX, 0, disp->width() - 1); + last_y = map(p.y, ADC_YMAX, ADC_YMIN, 0, disp->height() - 1); + break; + case 1: + last_x = map(p.y, ADC_YMAX, ADC_YMIN, 0, disp->width() - 1); + last_y = map(p.x, ADC_XMAX, ADC_XMIN, 0, disp->height() - 1); + break; + case 2: + last_x = map(p.x, ADC_XMAX, ADC_XMIN, 0, disp->width() - 1); + last_y = map(p.y, ADC_YMIN, ADC_YMAX, 0, disp->height() - 1); + break; + case 3: + last_x = map(p.y, ADC_YMIN, ADC_YMAX, 0, disp->width() - 1); + last_y = map(p.x, ADC_XMIN, ADC_XMAX, 0, disp->height() - 1); + break; + } + } + data->point.x = last_x; // Last-pressed coordinates + data->point.y = last_y; + return false; // No buffering of ADC touch data + } else { + uint8_t fifo; // Number of points in touchscreen FIFO + bool moar = false; + Adafruit_STMPE610 *touch = (Adafruit_STMPE610 *)glue->touchscreen; + // Before accessing SPI touchscreen, wait on any in-progress + // DMA screen transfer to finish (shared bus). + //disp->dmaWait(); + disp->endWrite(); + if ((fifo = touch->bufferSize())) { // 1 or more points await + data->state = LV_INDEV_STATE_PR; // Is PRESSED + TS_Point p = touch->getPoint(); + // Serial.printf("%d %d %d\r\n", p.x, p.y, p.z); + // On big TFT FeatherWing, raw X axis is flipped?? + if ((glue->display->width() == 480) || (glue->display->height() == 480)) { + p.x = (TS_MINX + TS_MAXX) - p.x; + } + switch (glue->display->getRotation()) { + case 0: + last_x = map(p.x, TS_MAXX, TS_MINX, 0, disp->width() - 1); + last_y = map(p.y, TS_MINY, TS_MAXY, 0, disp->height() - 1); + break; + case 1: + last_x = map(p.y, TS_MINY, TS_MAXY, 0, disp->width() - 1); + last_y = map(p.x, TS_MINX, TS_MAXX, 0, disp->height() - 1); + break; + case 2: + last_x = map(p.x, TS_MINX, TS_MAXX, 0, disp->width() - 1); + last_y = map(p.y, TS_MAXY, TS_MINY, 0, disp->height() - 1); + break; + case 3: + last_x = map(p.y, TS_MAXY, TS_MINY, 0, disp->width() - 1); + last_y = map(p.x, TS_MAXX, TS_MINX, 0, disp->height() - 1); + break; + } + moar = (fifo > 1); // true if more in FIFO, false if last point +#if defined(NRF52_SERIES) + // Not sure what's up here, but nRF doesn't seem to always poll + // the FIFO size correctly, causing false release events. If it + // looks like we've read the last point from the FIFO, pause + // briefly to allow any more FIFO events to pile up. This + // doesn't seem to be necessary on SAMD or ESP32. ??? + if (!moar) { + delay(50); + } +#endif + } else { // FIFO empty + data->state = LV_INDEV_STATE_REL; // Is RELEASED + } + + data->point.x = last_x; // Last-pressed coordinates + data->point.y = last_y; + return moar; + } +} + +// OTHER LITTLEVGL VITALS -------------------------------------------------- + +#if LV_COLOR_DEPTH != 16 +#pragma error("LV_COLOR_DEPTH must be 16") +#endif +// This isn't necessarily true, don't mention it for now. See notes later. +//#if LV_COLOR_16_SWAP != 0 +// #pragma message("Set LV_COLOR_16_SWAP to 0 for best display performance") +//#endif + +// Actual RAM usage will be 2X these figures, since using 2 DMA buffers... +#define LV_BUFFER_ROWS 60 // Most others have a bit more space + +// This is the flush function required for LittlevGL screen updates. +// It receives a bounding rect and an array of pixel data (conveniently +// already in 565 format, so the Earth was lucky there). +static void lv_flush_callback(lv_disp_drv_t *disp, const lv_area_t *area, + lv_color_t *color_p) { + // Get pointer to glue object from indev user data + Adafruit_LvGL_Glue *glue = (Adafruit_LvGL_Glue *)disp->user_data; + uDisplay_lvgl *display = glue->display; + + if (!glue->first_frame) { + //display->dmaWait(); // Wait for prior DMA transfer to complete + display->endWrite(); // End transaction from any prior call + } else { + glue->first_frame = false; + } + + uint16_t width = (area->x2 - area->x1 + 1); + uint16_t height = (area->y2 - area->y1 + 1); + // display->startWrite(); + // display->setAddrWindow(area->x1, area->y1, width, height); + display->writePixels(area->x1, area->y1, width, height, + (uint16_t *)color_p, width * height); + // display->pushColors((uint16_t *)color_p, width * height, false); + + lv_disp_flush_ready(disp); +} + +#if (LV_USE_LOG) +// Optional LittlevGL debug print function, writes to Serial if debug is +// enabled when calling glue begin() function. +static void lv_debug(lv_log_level_t level, const char *file, uint32_t line, const char *fname, + const char *dsc) { + Serial.print(file); + Serial.write('@'); + Serial.print(line); + Serial.print(":"); + Serial.print(fname); + Serial.write("->"); + Serial.println(dsc); +} +#endif + +// GLUE LIB FUNCTIONS ------------------------------------------------------ + +// Constructor +/** + * @brief Construct a new Adafruit_LvGL_Glue::Adafruit_LvGL_Glue object, + * initializing minimal variables + * + */ +Adafruit_LvGL_Glue::Adafruit_LvGL_Glue(void) + : first_frame(true), lv_pixel_buf(NULL) { +#if defined(ARDUINO_ARCH_SAMD) + zerotimer = NULL; +#endif +} + +// Destructor +/** + * @brief Destroy the Adafruit_LvGL_Glue::Adafruit_LvGL_Glue object, freeing any + * memory previously allocated within this library. + * + */ +Adafruit_LvGL_Glue::~Adafruit_LvGL_Glue(void) { + delete[] lv_pixel_buf; +#if defined(ARDUINO_ARCH_SAMD) + delete zerotimer; +#endif + // Probably other stuff that could be deallocated here +} + +// begin() function is overloaded for STMPE610 touch, ADC touch, or none. + +// Pass in POINTERS to ALREADY INITIALIZED display & touch objects (user code +// should have previously called corresponding begin() functions and checked +// return states before invoking this), +// they are NOT initialized here. Debug arg is +// touch arg can be NULL (or left off) if using LittlevGL as a passive widget +// display. + +/** + * @brief Configure the glue layer and the underlying LvGL code to use the given + * TFT display driver instance and touchscreen controller + * + * @param tft Pointer to an **already initialized** display object instance + * @param touch Pointer to an **already initialized** `Adafruit_STMPE610` + * touchscreen controller object instance + * @param debug Debug flag to enable debug messages. Only used if LV_USE_LOG is + * configured in LittleLVGL's lv_conf.h + * @return LvGLStatus The status of the initialization: + * * LVGL_OK : Success + * * LVGL_ERR_TIMER : Failure to set up timers + * * LVGL_ERR_ALLOC : Failure to allocate memory + */ +LvGLStatus Adafruit_LvGL_Glue::begin(uDisplay_lvgl *tft, + Adafruit_STMPE610 *touch, bool debug) { + is_adc_touch = false; + return begin(tft, (void *)touch, debug); +} +/** + * @brief Configure the glue layer and the underlying LvGL code to use the given + * TFT display driver and touchscreen controller instances + * + * @param tft Pointer to an **already initialized** display object instance + * @param touch Pointer to an **already initialized** `TouchScreen` touchscreen + * controller object instance + * @param debug Debug flag to enable debug messages. Only used if LV_USE_LOG is + * configured in LittleLVGL's lv_conf.h + * @return LvGLStatus The status of the initialization: + * * LVGL_OK : Success + * * LVGL_ERR_TIMER : Failure to set up timers + * * LVGL_ERR_ALLOC : Failure to allocate memory + */ +LvGLStatus Adafruit_LvGL_Glue::begin(uDisplay_lvgl *tft, TouchScreen *touch, + bool debug) { + is_adc_touch = true; + return begin(tft, (void *)touch, debug); +} +/** + * @brief Configure the glue layer and the underlying LvGL code to use the given + * TFT display driver and touchscreen controller instances + * + * @param tft Pointer to an **already initialized** display object instance + * @param debug Debug flag to enable debug messages. Only used if LV_USE_LOG is + * configured in LittleLVGL's lv_conf.h + * @return LvGLStatus The status of the initialization: + * * LVGL_OK : Success + * * LVGL_ERR_TIMER : Failure to set up timers + * * LVGL_ERR_ALLOC : Failure to allocate memory + */ +LvGLStatus Adafruit_LvGL_Glue::begin(uDisplay_lvgl *tft, bool debug) { + return begin(tft, (void *)NULL, debug); +} + +LvGLStatus Adafruit_LvGL_Glue::begin(uDisplay_lvgl *tft, void *touch, + bool debug) { + + lv_init(); +// #if (LV_USE_LOG) +// if (debug) { +// lv_log_register_print_cb(lv_debug); // Register debug print function +// } +// #endif + + // Allocate LvGL display buffer (x2 because DMA double buffering) + LvGLStatus status = LVGL_ERR_ALLOC; + // if ((lv_pixel_buf = new lv_color_t[LV_HOR_RES_MAX * LV_BUFFER_ROWS * 2])) { + if ((lv_pixel_buf = new lv_color_t[LV_HOR_RES_MAX * LV_BUFFER_ROWS])) { + + display = tft; + touchscreen = (void *)touch; + + // // Initialize LvGL display buffers + // lv_disp_buf_init( + // &lv_disp_buf, lv_pixel_buf, // 1st half buf + // &lv_pixel_buf[LV_HOR_RES_MAX * LV_BUFFER_ROWS], // 2nd half buf + // LV_HOR_RES_MAX * LV_BUFFER_ROWS); + + // Initialize LvGL display buffers + lv_disp_buf_init( + &lv_disp_buf, lv_pixel_buf, // 1st half buf + nullptr, // 2nd half buf + LV_HOR_RES_MAX * LV_BUFFER_ROWS); + + // Initialize LvGL display driver + lv_disp_drv_init(&lv_disp_drv); + lv_disp_drv.hor_res = tft->width(); + lv_disp_drv.ver_res = tft->height(); + lv_disp_drv.flush_cb = lv_flush_callback; + lv_disp_drv.buffer = &lv_disp_buf; + lv_disp_drv.user_data = (lv_disp_drv_user_data_t)this; + lv_disp_drv_register(&lv_disp_drv); + + // Initialize LvGL input device (touchscreen already started) + if ((touch)) { // Can also pass NULL if passive widget display + lv_indev_drv_init(&lv_indev_drv); // Basic init + lv_indev_drv.type = LV_INDEV_TYPE_POINTER; // Is pointer dev + lv_indev_drv.read_cb = touchscreen_read; // Read callback + lv_indev_drv.user_data = (lv_indev_drv_user_data_t)this; + lv_input_dev_ptr = lv_indev_drv_register(&lv_indev_drv); + } + + // TIMER SETUP is architecture-specific ---------------------------- + +#if defined(ARDUINO_ARCH_SAMD) // -------------------------------------- + + // status is still ERR_ALLOC until proven otherwise... + if ((zerotimer = new Adafruit_ZeroTimer(TIMER_NUM))) { + uint8_t divider = 1; + uint16_t compare = 0; + tc_clock_prescaler prescaler = TC_CLOCK_PRESCALER_DIV1; + + status = LVGL_OK; // We're prob good now, but one more test... + + int freq = 1000 / lv_tick_interval_ms; + + if ((freq < (48000000 / 2)) && (freq > (48000000 / 65536))) { + divider = 1; + prescaler = TC_CLOCK_PRESCALER_DIV1; + } else if (freq > (48000000 / 65536 / 2)) { + divider = 2; + prescaler = TC_CLOCK_PRESCALER_DIV2; + } else if (freq > (48000000 / 65536 / 4)) { + divider = 4; + prescaler = TC_CLOCK_PRESCALER_DIV4; + } else if (freq > (48000000 / 65536 / 8)) { + divider = 8; + prescaler = TC_CLOCK_PRESCALER_DIV8; + } else if (freq > (48000000 / 65536 / 16)) { + divider = 16; + prescaler = TC_CLOCK_PRESCALER_DIV16; + } else if (freq > (48000000 / 65536 / 64)) { + divider = 64; + prescaler = TC_CLOCK_PRESCALER_DIV64; + } else if (freq > (48000000 / 65536 / 256)) { + divider = 256; + prescaler = TC_CLOCK_PRESCALER_DIV256; + } else { + status = LVGL_ERR_TIMER; // Invalid frequency + } + + if (status == LVGL_OK) { + compare = (48000000 / divider) / freq; + // Initialize timer + zerotimer->configure(prescaler, TC_COUNTER_SIZE_16BIT, + TC_WAVE_GENERATION_MATCH_PWM); + zerotimer->setCompare(0, compare); + zerotimer->setCallback(true, TC_CALLBACK_CC_CHANNEL0, timerCallback0); + zerotimer->enable(true); + } + } + +#elif defined(ESP32) // ------------------------------------------------ + + tick.attach_ms(lv_tick_interval_ms, lv_tick_handler); + status = LVGL_OK; + +#elif defined(NRF52_SERIES) // ----------------------------------------- + + TIMER_ID->TASKS_STOP = 1; // Stop timer + TIMER_ID->MODE = TIMER_MODE_MODE_Timer; // Not counter mode + TIMER_ID->TASKS_CLEAR = 1; + TIMER_ID->BITMODE = TIMER_BITMODE_BITMODE_16Bit + << TIMER_BITMODE_BITMODE_Pos; + TIMER_ID->PRESCALER = 0; // 1:1 prescale (16 MHz) + TIMER_ID->INTENSET = TIMER_INTENSET_COMPARE0_Enabled + << TIMER_INTENSET_COMPARE0_Pos; // Event 0 int + TIMER_ID->CC[0] = TIMER_FREQ / (lv_tick_interval_ms * 1000); + + NVIC_DisableIRQ(TIMER_IRQN); + NVIC_ClearPendingIRQ(TIMER_IRQN); + NVIC_SetPriority(TIMER_IRQN, 2); // Lower priority than soft device + NVIC_EnableIRQ(TIMER_IRQN); + + TIMER_ID->TASKS_START = 1; // Start timer + + status = LVGL_OK; + +#endif // end timer setup -------------------------------------------------- + } + + if (status != LVGL_OK) { + delete[] lv_pixel_buf; + lv_pixel_buf = NULL; +#if defined(ARDUINO_ARCH_SAMD) + delete zerotimer; + zerotimer = NULL; +#endif + } + + return status; +} diff --git a/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.h b/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.h new file mode 100644 index 000000000..3f10e655d --- /dev/null +++ b/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Adafruit_LvGL_Glue.h @@ -0,0 +1,59 @@ +#ifndef _ADAFRUIT_LVGL_GLUE_H_ +#define _ADAFRUIT_LVGL_GLUE_H_ + +#include // GFX lib for SPI and parallel displays +#include // SPI Touchscreen lib +#include // ADC touchscreen lib +#include // LittlevGL core lib +#include +#if defined(ARDUINO_ARCH_SAMD) +#include // SAMD-specific timer lib +#elif defined(ESP32) +#include // ESP32-specific timer lib +#endif + +typedef enum { + LVGL_OK, + LVGL_ERR_ALLOC, + LVGL_ERR_TIMER, +} LvGLStatus; + +/** + * @brief Class to act as a "glue" layer between the LvGL graphics library and + * most of Adafruit's TFT displays + * + */ +class Adafruit_LvGL_Glue { +public: + Adafruit_LvGL_Glue(void); + ~Adafruit_LvGL_Glue(void); + // Different begin() funcs for STMPE610, ADC or no touch + LvGLStatus begin(uDisplay_lvgl *tft, Adafruit_STMPE610 *touch, + bool debug = false); + LvGLStatus begin(uDisplay_lvgl *tft, TouchScreen *touch, + bool debug = false); + LvGLStatus begin(uDisplay_lvgl *tft, bool debug = false); + // These items need to be public for some internal callbacks, + // but should be avoided by user code please! + uDisplay_lvgl *display; ///< Pointer to the SPITFT display instance + void *touchscreen; ///< Pointer to the touchscreen object to use + bool is_adc_touch; ///< determines if the touchscreen controlelr is ADC based + bool first_frame; ///< Tracks if a call to `lv_flush_callback` needs to wait + ///< for DMA transfer to complete + +private: + LvGLStatus begin(uDisplay_lvgl *tft, void *touch, bool debug); + lv_disp_drv_t lv_disp_drv; + lv_disp_buf_t lv_disp_buf; + lv_color_t *lv_pixel_buf; + lv_indev_drv_t lv_indev_drv; + lv_indev_t *lv_input_dev_ptr; +#if defined(ARDUINO_ARCH_SAMD) + Adafruit_ZeroTimer *zerotimer; +#elif defined(ESP32) + Ticker tick; +#elif defined(NRF52_SERIES) +#endif +}; + +#endif // _ADAFRUIT_LVGL_GLUE_H_ diff --git a/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Doxyfile b/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Doxyfile new file mode 100644 index 000000000..8f105aa52 --- /dev/null +++ b/lib/libesp32_lvgl/Adafruit_LvGL_Glue/Doxyfile @@ -0,0 +1,2458 @@ +# Doxyfile 1.8.13 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "Adafruit lvgl Glue Library" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 0. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 0 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = YES + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = lv_conf.h + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = *.md + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse-libclang=ON option for CMake. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /