Merge branch 'development' into pre-release-9.4.0

This commit is contained in:
Theo Arends 2021-04-21 11:33:15 +02:00
commit 851c839c53
497 changed files with 268201 additions and 1492 deletions

View File

@ -24,6 +24,26 @@ jobs:
name: firmware
path: ./build_output
tasmota32solo1:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
platformio run -e tasmota32solo1
- uses: actions/upload-artifact@v2
with:
name: firmware
path: ./build_output
tasmota32-webcam:
runs-on: ubuntu-latest
steps:

View File

@ -724,6 +724,26 @@ jobs:
path: ./build_output
tasmota32solo1:
needs: tasmota_pull
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
pip install -U platformio
- name: Run PlatformIO
run: |
platformio run -e tasmota32solo1
- uses: actions/upload-artifact@v2
with:
name: firmware
path: ./build_output
tasmota32-webcam:
needs: tasmota_pull
runs-on: ubuntu-latest
@ -1382,7 +1402,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/
@ -1394,6 +1414,7 @@ jobs:
[ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./firmware/tasmota/
[ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./firmware/tasmota/
[ ! -f ./mv_firmware/firmware/tasmota32.* ] || mv ./mv_firmware/firmware/tasmota32.* ./firmware/tasmota32/
[ ! -f ./mv_firmware/firmware/tasmota32solo1*.* ] || mv ./mv_firmware/firmware/tasmota32solo1*.* ./firmware/tasmota32/
[ ! -f ./mv_firmware/firmware/tasmota32-ir*.* ] || mv ./mv_firmware/firmware/tasmota32-ir*.* ./firmware/tasmota32/
[ ! -f ./mv_firmware/firmware/tasmota32-display.* ] || mv ./mv_firmware/firmware/tasmota32-display.* ./firmware/tasmota32/
[ ! -f ./mv_firmware/firmware/tasmota32-web*.* ] || mv ./mv_firmware/firmware/tasmota32-web*.* ./firmware/tasmota32/
@ -1403,7 +1424,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: |

View File

@ -724,6 +724,26 @@ jobs:
path: ./build_output
tasmota32solo1:
needs: tasmota_pull
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
pip install -U platformio
- name: Run PlatformIO
run: |
platformio run -e tasmota32solo1
- uses: actions/upload-artifact@v2
with:
name: firmware
path: ./build_output
tasmota32-webcam:
needs: tasmota_pull
runs-on: ubuntu-latest
@ -1382,7 +1402,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/
@ -1394,6 +1414,7 @@ jobs:
[ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./firmware/tasmota/
[ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./firmware/tasmota/
[ ! -f ./mv_firmware/firmware/tasmota32.* ] || mv ./mv_firmware/firmware/tasmota32.* ./firmware/tasmota32/
[ ! -f ./mv_firmware/firmware/tasmota32solo1*.* ] || mv ./mv_firmware/firmware/tasmota32solo1*.* ./firmware/tasmota32/
[ ! -f ./mv_firmware/firmware/tasmota32-ir*.* ] || mv ./mv_firmware/firmware/tasmota32-ir*.* ./firmware/tasmota32/
[ ! -f ./mv_firmware/firmware/tasmota32-display.* ] || mv ./mv_firmware/firmware/tasmota32-display.* ./firmware/tasmota32/
[ ! -f ./mv_firmware/firmware/tasmota32-web*.* ] || mv ./mv_firmware/firmware/tasmota32-web*.* ./firmware/tasmota32/
@ -1403,7 +1424,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: |

View File

@ -6,7 +6,13 @@ All notable changes to this project will be documented in this file.
## [9.4.0] 20210422
- Release Leslie
## [9.3.1.3] 20210422
## [9.3.1.4] 20210422
### Added
- Command ``TuyaTempSetRes 0..3`` to control Tuya Temperature Set Resolution (#11781)
- ESP32 support for LVGL 7.11 with Berry binding by Stephan Hadinger (#11789)
- Add ``Input`` GPIO type with no default action, to be read via Berry
## [9.3.1.3] 20210419
### 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)
@ -651,7 +657,7 @@ All notable changes to this project will be documented in this file.
- Support for analog anemometer by Matteo Albinola (#8283)
- Support for OpenTherm by Yuriy Sannikov (#8373)
- Support for Thermostat control by arijav (#8212)
- Automatic compression of Rules to achieve ~60% compression by Stefan Hadinger
- Automatic compression of Rules to achieve ~60% compression by Stephan Hadinger
- Command ``SetOption93 1`` to control caching of compressed rules
- Rule trigger at root level like ``on loadavg<50 do power 2 endon`` after ``state`` command
- Zigbee support for router and end-device mode
@ -748,7 +754,7 @@ All notable changes to this project will be documented in this file.
- Support for HDC1080 Temperature and Humidity sensor by Luis Teixeira (#7888)
- Commands ``SwitchMode 13`` PushOn and ``SwitchMode 14`` PushOnInverted (#7912)
- Command ``HumOffset -10.0 .. 10.0`` to set global humidity sensor offset (#7934)
- Zigbee support for Hue emulation by Stefan Hadinger
- Zigbee support for Hue emulation by Stephan Hadinger
- Dew Point to Temperature and Humidity sensors
- Support for ElectriQ iQ-wifiMOODL RGBW light by Ian King (#7947)
@ -950,7 +956,7 @@ All notable changes to this project will be documented in this file.
### 7.1.2.5 20191213
- Change some Settings locations freeing up space for future single char allowing variable length text
- Add Zigbee support for Xiaomi Aqara Vibration Sensor and Presence Sensor by Stefan Hadinger
- Add Zigbee support for Xiaomi Aqara Vibration Sensor and Presence Sensor by Stephan Hadinger
- Add Shutter functions ramp up/down and MQTT reporting by Stefan Bode
### 7.1.2.4 20191209
@ -963,7 +969,7 @@ All notable changes to this project will be documented in this file.
- Add Yaw, Pitch and Roll support for MPU6050 by Philip Barclay (#7058)
- Add reporting of raw weight to JSON from HX711 to overcome auto-tare functionality by @tobox (#7171)
- Add command ``Sensor34 9 <weight code>`` to set minimum delta to trigger JSON message by @tobox (#7188)
- Fix flashing H801 led at boot by Stefan Hadinger (#7165, #649)
- Fix flashing H801 led at boot by Stephan Hadinger (#7165, #649)
- Fix duplicated ``Backlog`` when using Event inside a Backlog by Adrian Scillato (#7178, #7147)
- Fix Gui Timer when using a negative zero offset of -00:00 by Peter Ooms (#7174)
@ -975,7 +981,7 @@ All notable changes to this project will be documented in this file.
- Remove rule trigger ``tele_power1#state`` due to compatibility
- Add command ``SerialConfig 0..23`` or ``SerialConfig 8N1`` to select Serial Config based in PR by Luis Teixeira (#7108)
- Add save call stack in RTC memory in case of crash, command ``Status 12`` to dump the stack by Stefan Hadinger
- Add save call stack in RTC memory in case of crash, command ``Status 12`` to dump the stack by Stephan Hadinger
- Add Home Assistant force update by Frederico Leoni (#7140, #7074)
### 7.1.2.1 20191206

View File

@ -53,8 +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:
- 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.
- 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

View File

@ -84,6 +84,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota
- Command ``SerialBuffer 256..520`` to change hardware serial receive buffer size from default (256) to max local buffer size (520) [#11448](https://github.com/arendst/Tasmota/issues/11448)
- Command ``SetOption126 1`` to enable DS18x20 arithmetic mean over teleperiod for JSON temperature based on [#11472](https://github.com/arendst/Tasmota/issues/11472)
- Command ``Backlog0`` to allow execution of following commands without delay
- Command ``TuyaTempSetRes 0..3`` to control Tuya Temperature Set Resolution [#11781](https://github.com/arendst/Tasmota/issues/11781)
- Commands ``MqttKeepAlive 1..100`` to set Mqtt Keep Alive timer (default 30) and ``MqttTimeout 1..100`` to set Mqtt Socket Timeout (default 4) [#5341](https://github.com/arendst/Tasmota/issues/5341)
- Commands ``DisplayType`` to select sub-modules where implemented and ``DisplayInvert`` to select inverted display where implemented
- Support for SML VBUS [#11125](https://github.com/arendst/Tasmota/issues/11125)
@ -107,6 +108,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota
- ESP32 support for WS2812 hardware driver via RMT or I2S
- ESP32 support for secondary I2C controller
- ESP32 support for internal Hall Effect sensor connected to both GPIO36 and GPIO39 only
- ESP32 support for LVGL 7.11 with Berry binding by Stephan Hadinger [#11789](https://github.com/arendst/Tasmota/issues/11789)
### Breaking Changed
- ESP32 partition layout changed to accomodate more file space on most and more code space on core2 and odroid-go [#11746](https://github.com/arendst/Tasmota/issues/11746)

View File

@ -9,7 +9,7 @@ Find below the available templates as of April 2021. More template information c
Athom 2812b {"NAME":"LS2812B-TAS","GPIO":[32,0,1376,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
cod.m WLAN Pixel Controller v0.6 {"NAME":"cod.m Pixel Controller","GPIO":[32,0,1376,0,0,0,0,0,544,0,0,0,0,0],"FLAG":0,"BASE":18}
ESP01 NeoPixel Ring {"NAME":"ESP-01S-RGB-LED-v1.0","GPIO":[1,1,1376,1,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
SP501E WS2812B Addressable {"NAME":"SP501E","GPIO":[0,32,0,1376,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
SP501E WS2812B {"NAME":"SP501E","GPIO":[0,32,0,1376,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
```
## Aromatherapy Diffuser
@ -132,7 +132,7 @@ Wyze A19 800lm {"NAME":"Wyze Bulb","GPIO":[5728,0,0,0,0,0,0,0,0,41
## Camera
```
Ai-Thinker DIY Kit {"NAME":"AITHINKER CAM","GPIO":[4992,1,1,1,1,5088,1,1,1,1,1,1,1,1,5089,5090,0,5091,5184,5152,0,5120,5024,5056,0,0,0,0,4928,1,5094,5095,5092,0,0,5093],"FLAG":0,"BASE":1}
Ai-Thinker DIY Kit {"NAME":"AITHINKER CAM","GPIO":[4992,1,672,1,416,5088,1,1,1,6720,736,704,1,1,5089,5090,0,5091,5184,5152,0,5120,5024,5056,0,0,0,0,4928,576,5094,5095,5092,0,0,5093],"FLAG":0,"BASE":2}
TTGO ESP32 {"NAME":"TTGO T-Journal ESP32 Camera","GPIO":[4928,1,1,1,1,5091,1,1,1,608,640,4960,1,5088,5093,5095,0,5184,5120,5056,0,5024,5152,4992,0,0,0,0,1,1,5090,5089,5094,0,0,5092],"FLAG":0,"BASE":1}
Wireles Tag DIY Kit {"NAME":"WT-ESP32-CAM","GPIO":[4992,1,1,1,1,5088,0,0,1,1,1,1,1,0,5089,5090,0,5091,5184,5152,0,5120,5024,5056,0,0,0,0,4928,0,5094,5095,5092,0,0,5093],"FLAG":0,"BASE":2}
```
@ -177,14 +177,10 @@ Zemismart Door Window {"NAME":"Zemismart","GPIO":[1,2272,1,2304,1,1,0,0,1
## Curtain Module
```
LoraTap SC500W Roller Shutter {"NAME":"SC500W","GPIO":[0,0,0,576,160,161,0,0,224,32,225,0,0,0],"FLAG":0,"BASE":18}
LoraTap SC511WSC Roller Shutter {"NAME":"SC511WSC","GPIO":[0,1,0,320,32,34,0,0,224,33,226,225,0,0],"FLAG":0,"BASE":18}
MS-108 {"NAME":"MS-108","GPIO":[0,0,0,0,161,160,0,0,224,0,225,0,0,0],"FLAG":0,"BASE":18}
```
## Curtain Motor
```
Zemismart {"NAME":"Zemismart_Curt","GPIO":[0,0,0,0,0,0,0,0,0,2304,0,2272,0,0],"FLAG":0,"BASE":54}
LoraTap In-Wall {"NAME":"SC500W","GPIO":[0,0,0,576,160,161,0,0,224,32,225,0,0,0],"FLAG":0,"BASE":18}
LoraTap In-Wall {"NAME":"SC511WSC","GPIO":[0,1,0,320,32,34,0,0,224,33,226,225,0,0],"FLAG":0,"BASE":18}
MS-108 In-Wall {"NAME":"MS-108","GPIO":[0,0,0,0,161,160,0,0,224,0,225,0,0,0],"FLAG":0,"BASE":18}
QS-WIFI-C01-RF {"NAME":"Shutter-QS-WIFI-C01","GPIO":[0,0,1,0,288,0,0,0,32,33,224,225,0,0],"FLAG":0,"BASE":18}
```
## Curtain Switch
@ -200,7 +196,6 @@ Konesky {"NAME":"KingArt","GPIO":[544,0,289,162,226,32,0,0,
LoraTap SC400W-EU {"NAME":"Loratap SC400W","GPIO":[0,0,0,34,0,32,0,0,33,225,0,224,0,0],"FLAG":0,"BASE":18}
LoraTap SC411WSC-EU RF Remote {"NAME":"Loratap","GPIO":[0,0,0,34,226,32,0,0,33,225,0,224,0,0],"FLAG":0,"BASE":18}
Maxcio WF-CS01 {"NAME":"Maxcio","GPIO":[544,0,289,162,226,33,0,0,32,224,290,225,288,0],"FLAG":0,"BASE":18}
QS-WIFI-C01-RF {"NAME":"Shutter-QS-WIFI-C01","GPIO":[0,0,1,0,288,0,0,0,32,33,224,225,0,0],"FLAG":0,"BASE":18}
SCS86-03AJAI {"NAME":"ESE86-03AJAI","GPIO":[544,227,289,34,226,33,0,0,32,224,290,225,288,0],"FLAG":0,"BASE":18}
Teekar SYS-CS 01 {"NAME":"Teekar-Tag","GPIO":[320,0,544,33,225,162,0,0,0,224,321,258,32,0],"FLAG":0,"BASE":18}
Teepao {"NAME":"Teepao","GPIO":[576,322,226,33,225,34,0,0,320,224,321,0,32,0],"FLAG":0,"BASE":18}
@ -213,6 +208,8 @@ Zemismart {"NAME":"Zemismart","GPIO":[544,0,0,162,290,161,0,0
```
Adafruit HUZZAH {"NAME":"Huzzah","GPIO":[32,0,320,0,1,1,0,0,1,1,1,1,1,0],"FLAG":0,"BASE":18}
ESP-01 Module {"NAME":"ESP01","GPIO":[1,1,1,1,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
ESP-01D Module {"NAME":"ESP-01D","GPIO":[1,1,0,1,1,0,0,0,1,0,1,0,0,0],"FLAG":0,"BASE":18}
ESP-15F Module {"NAME":"ESP-15F","GPIO":[1,1,0,1,1,1,0,0,0,544,0,0,0,0],"FLAG":0,"BASE":18}
ESP-M3 Module {"NAME":"ESP-M3","GPIO":[1,1,1,1,1,0,0,0,0,1,1,0,1,0],"FLAG":0,"BASE":18}
ESP32 Lite V1.0.0. Development Board {"NAME":"ESP32 Lite V1.0.0","GPIO":[1,0,1,0,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,1,0,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0],"FLAG":0,"BASE":1}
Heltec WiFi Kit 8 {"NAME":"HTIT-W8266","GPIO":[1,1,1,1,640,608,0,0,1,1,1,1,1024,1],"FLAG":0,"BASE":18}
@ -220,6 +217,7 @@ LC Tech relay and PZEM-004T {"NAME":"HW-655 PZEM","GPIO":[0,1504,0,1472,0,0,0,0
LC Technology PSF-B04 Ewelink 4 Channel Switch Module {"NAME":"LC-EWL-B04-MB","GPIO":[1,1,1,1,1,1,0,0,1,288,1,1,0,0],"FLAG":0,"BASE":18}
LilyGO TTGO T-Internet-POE {"NAME":"LilyGO T-Internet-POE","GPIO":[0,1,1,1,1,1,1,1,1,1,1,1,1,1,5600,1,0,1,1,5568,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1],"FLAG":0,"BASE":1}
LilyGO TTGO TO ESP8266 OLED SH1106 Weather Station {"NAME":"TTGO T12","GPIO":[1,1,1,1,608,640,0,0,32,34,33,1,1,1],"FLAG":0,"BASE":18}
M5Stack Atom Lite ESP32 {"NAME":"M5Stack Atom Lite","GPIO":[1,1,1,1,1,1,1,1,1056,1,1,1,1,1,1,1,0,1,1,1,0,1,640,1376,0,0,0,0,608,1,1,1,1,0,0,32],"FLAG":0,"BASE":1}
Olimex ESP32-POE {"NAME":"Olimex ESP32-PoE","GPIO":[1,1,1,1,1,1,0,0,5536,1,1,1,1,0,5600,0,0,0,0,5568,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1],"FLAG":0,"BASE":1}
QuinLED 2 Channel {"NAME":"QuinLED 2 channel","GPIO":[416,0,417,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
Shelly UNI {"NAME":"Shelly Uni","GPIO":[320,0,0,0,225,1216,0,0,192,193,0,224,0,4864],"FLAG":0,"BASE":18}
@ -237,11 +235,6 @@ electriQ 12L Portable {"NAME":"electriQ CD12PW","GPIO":[0,2272,0,2304,0,0
Vacplus 50 Pint {"NAME":"VacPlus Dehumidifier","GPIO":[0,0,0,0,0,0,0,0,0,2304,0,2272,0,0],"FLAG":0,"BASE":54}
```
## Development Board
```
M5Stack Atom Lite ESP32 {"NAME":"M5Stack Atom Lite","GPIO":[1,1,1,1,1,1,1,1,1056,1,1,1,1,1,1,1,0,1,1,1,0,1,640,1376,0,0,0,0,608,1,1,1,1,0,0,32],"FLAG":0,"BASE":1}
```
## Dimmable
```
Aisirer 9W 806lm {"NAME":"Aisirer 9W","GPIO":[0,0,0,0,0,416,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
@ -363,7 +356,7 @@ Zemismart KS-7011 {"NAME":"KS-7011 Dimmer","GPIO":[1,2272,1,2304,1,1,
LilyGO TTGO T-Camera {"NAME":"TasmotaCAM","GPIO":[1,1,1,1,4992,5120,1,1,1,5089,5090,64,1,1,5024,65,0,640,608,5056,0,5184,1,5152,0,0,0,0,1,1,5088,5091,5095,5094,5093,5092],"FLAG":0,"BASE":1}
LilyGO TTGO T-Display 1.14in {"NAME":"ESP32-ttgo-display","GPIO":[0,1,1,1,992,6592,1,1,1,1,1,1,6624,1,896,864,0,1,1,1024,0,1,1,1,0,0,0,0,1,1,1,33,1,0,0,1],"FLAG":0,"BASE":1}
LilyGO TTGO T-Watcher {"NAME":"TTGO T4 v1.3","GPIO":[35,1,672,1,992,1024,1,1,832,768,736,704,1,1,896,0,0,640,608,864,0,0,1,928,0,0,0,0,960,1,1,4704,1,32,33,34],"FLAG":0,"BASE":1}
M5Stack Core2 {"NAME":"M5Stack Core2","GPIO":[0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"FLAG":0,"BASE":1}
M5Stack Core2 {"NAME":"M5Stack Core2","GPIO":[1,1,1,1,6720,6368,0,0,0,1,1,6400,0,0,736,1,0,0,0,704,0,1,1,1,0,0,0,0,640,608,1,1,1,0,672,0],"FLAG":0,"BASE":7}
ODROID-GO Game Kit {"NAME":"Odroid","GPIO":[0,1,0,1,1,768,1,1,1,0,416,1,1,1,736,672,0,800,1,704,0,1,1,0,0,0,0,0,0,0,4704,3329,4866,0,0,0],"FLAG":0,"BASE":1}
OLED Display Module 0.66" for Wemos D1 Mini {"NAME":"OLED 64x48","GPIO":[1,1,1,1,640,608,0,0,1,1,1,1,1024,1],"FLAG":0,"BASE":18}
```
@ -618,6 +611,7 @@ Dealdig Robvaccum 8 Vacuum {"NAME":"WhiteVacuum","GPIO":[0,2272,0,2304,0,0,0,0
EaryKong Doorbell {"NAME":"Doorbell","GPIO":[0,2272,0,2304,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
iLONDA Fish Feeder {"NAME":"Feeder","GPIO":[0,0,0,0,32,320,0,0,352,0,224,0,0,0],"FLAG":0,"BASE":18}
Kogan 4.1kW Portable Air Conditioner (Reverse Cycle) {"NAME":"Kogan Panel Heater","GPIO":[0,0,0,0,0,0,0,0,0,2304,0,2272,0,0],"FLAG":0,"BASE":54}
Kogan Pet Fountain {"NAME":"Pet Fountain","GPIO":[0,2272,0,2304,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":54}
LED Starry Sky Projector Light {"NAME":"STAR PROJECTOR","GPIO":[0,0,0,0,416,0,0,0,417,0,418,0,0,0],"FLAG":0,"BASE":18}
Mosquito Killer Lamp {"NAME":"MosquitoKiller","GPIO":[32,0,0,0,0,0,0,0,416,320,0,0,0,0],"FLAG":0,"BASE":18}
NEO Coolcam Mouse Trap {"NAME":"Neo Mouse Trap","GPIO":[1,2272,1,2304,1,1,0,0,1,1,1,1,1,0],"FLAG":0,"BASE":54}
@ -636,6 +630,7 @@ Mirabella Genio I002576 {"NAME":"GenioPir","GPIO":[32,2272,0,2304,0,0,0,0,0
```
Zemismart BCM300D-TY {"NAME":"Zemistart_Curt","GPIO":[0,0,0,0,0,0,0,0,0,2304,0,2272,0,0],"FLAG":0,"BASE":54}
Zemismart Blinds Controller {"NAME":"Zemismart Blind","GPIO":[1,1,1,1,1,1,0,0,1,2304,1,2272,1],"FLAG":0,"BASE":54}
Zemismart Curtain {"NAME":"Zemismart_Curt","GPIO":[0,0,0,0,0,0,0,0,0,2304,0,2272,0,0],"FLAG":0,"BASE":54}
Zemismart Rechargeable Roller Shade {"NAME":"Zemismart Remote","GPIO":[544,0,288,33,225,32,0,0,34,226,289,224,290,0],"FLAG":0,"BASE":18}
Zemismart Roller Shade {"NAME":"M2805EIGB","GPIO":[1,2272,1,2304,1,1,0,0,1,1,1,1,1,0],"FLAG":0,"BASE":54}
Zemismart Updated RF Remote Roller Shade {"NAME":"Zemismart M515EGB","GPIO":[1,2272,1,2304,1,1,0,0,1,1,1,1,1,0],"FLAG":0,"BASE":54}
@ -881,6 +876,7 @@ EFUN SH330W {"NAME":"EFUNPlug","GPIO":[320,1,1,1,1,1,1,1,1,32,1
EFUN SH331W {"NAME":"Efun-Plug","GPIO":[320,0,576,0,0,2720,0,0,2624,32,2656,224,0,0],"FLAG":0,"BASE":18}
Elehot 16A {"NAME":"ELEHOT AWP16L","GPIO":[0,0,320,0,0,2720,0,0,2624,32,2656,224,0,0],"FLAG":0,"BASE":45}
EletecPro 2 {"NAME":"EletecPro-2","GPIO":[1,1,1,1,32,1,0,0,289,288,224,1,1,4704],"FLAG":0,"BASE":18}
Emporia {"NAME":"Emporia EMS01","GPIO":[0,0,0,289,224,2720,0,0,2624,32,2656,288,0,0],"FLAG":0,"BASE":18}
Ener-J {"NAME":"ENER-J SHA5264","GPIO":[32,0,0,0,2720,2656,0,0,2624,288,224,0,0,0],"FLAG":0,"BASE":18}
Energeeks {"NAME":"EG-EW003MC","GPIO":[0,0,0,32,2720,2656,0,0,2624,576,224,0,0,0],"FLAG":0,"BASE":52}
Energeeks 2 USB {"NAME":"EG-EW005MC","GPIO":[544,1,288,1,1,225,1,1,2592,1,224,1,32,0],"FLAG":0,"BASE":18}
@ -1519,7 +1515,7 @@ Teckin SB50 v3 A19 800lm {"NAME":"Teckin SB50v3","GPIO":[0,0,0,0,416,419,0,0
Teckin SB53 1300lm {"NAME":"Teckin SB53","GPIO":[0,0,0,0,416,419,0,0,417,420,418,0,0,0],"FLAG":0,"BASE":18}
Treatlife A19 8W 650lm {"NAME":"Treatlife RGBW","GPIO":[0,0,0,0,417,416,0,0,420,418,419,0,0,0],"FLAG":0,"BASE":18}
V-TAC 10W 806lm {"NAME":"V-TAC VT-5119","GPIO":[0,0,0,0,4032,0,0,0,0,0,4064,0,0,0],"FLAG":0,"BASE":18}
V-Tac PAR16 4.5W 400lm 100<EFBFBD> {"NAME":"V-TAC VT5164","GPIO":[0,0,0,0,0,0,0,0,4064,0,4032,0,0,0],"FLAG":0,"BASE":18}
V-Tac PAR16 4.5W 400lm 100 {"NAME":"V-TAC VT5164","GPIO":[0,0,0,0,0,0,0,0,4064,0,4032,0,0,0],"FLAG":0,"BASE":18}
Vizia 5W GU10 {"NAME":"Vizia RGBWW","GPIO":[0,0,0,0,419,420,0,0,417,418,416,0,0,1],"FLAG":0,"BASE":18}
Wipro Garnet 9W 810lm {"NAME":"Wipro","GPIO":[0,0,0,0,416,419,0,0,417,420,418,0,0,0],"FLAG":0,"BASE":18}
WiZ BR30 13.8W 750lm {"NAME":"WiZ RGBCCT PAR30","GPIO":[0,0,0,0,419,0,0,0,417,420,418,416,0,0],"FLAG":0,"BASE":48}
@ -1710,10 +1706,11 @@ Electrodragon Board SPDT {"NAME":"ED Relay Board","GPIO":[1,1,1,1,1,1,0,0,22
Electrodragon ESP8266 {"NAME":"ElectroDragon","GPIO":[33,1,32,1,1,1,0,0,225,224,1,1,288,4704],"FLAG":0,"BASE":15}
eMylo Single Channel Switch {"NAME":"eMylo XL9251WI","GPIO":[0,1,0,0,320,0,0,0,224,0,35,0,0,0],"FLAG":0,"BASE":18}
Ener-J Outdoor Switch {"NAME":"Ener-J Smart WiFi Outdoor Relay","GPIO":[32,0,0,0,0,0,0,0,224,544,0,0,0,0],"FLAG":0,"BASE":18}
ESP-01 Relay V4.0 {"NAME":"ESP01v4","GPIO":[256,288,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
ESP-01 Relay V4.0 {"NAME":"ESP01v4","GPIO":[256,320,0,32,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
ESP-01S 5V Relay Module V1.0 {"NAME":"ESP-01S Relay","GPIO":[256,288,1,1,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
ESP-12F 2 Channel {"NAME":"ESP12F_Relay_X2","GPIO":[1,1,1,1,224,225,1,1,1,1,1,1,1,1],"FLAG":0,"BASE":18}
ESP-12F 4 Channel {"NAME":"ESP12F_Relay_X4","GPIO":[1,1,1,1,1,1,1,1,226,227,225,1,224,1],"FLAG":0,"BASE":18}
ESP-12F 8 Channel {"NAME":"ESP12F_Relay_X8","GPIO":[229,1,1,1,230,231,0,0,226,227,225,228,224,1],"FLAG":0,"BASE":18}
ESP12F 220V 10A 7V-30V DC {"NAME":"Yunshan 10A","GPIO":[32,1,288,1,224,161,0,0,225,0,0,0,0,0],"FLAG":0,"BASE":18}
eWelink No Neutral {"NAME":"SA-018","GPIO":[0,0,0,0,160,0,0,0,224,288,0,0,0,0],"FLAG":0,"BASE":18}
Geekcreit 5V DIY 4 Channel Jog Inching Self-Locking {"NAME":"Geekcreit-4ch","GPIO":[160,0,0,0,226,225,161,162,224,288,163,227,0,0],"FLAG":0,"BASE":18}
@ -1734,6 +1731,7 @@ Sinilink DC6V-36V Module {"NAME":"Sinilink XY-WF5V","GPIO":[0,0,0,0,224,1,0,
Sinilink MOS {"NAME":"Sinilink MOS","GPIO":[0,0,0,0,224,1,0,0,32,288,0,0,1,0],"FLAG":0,"BASE":18}
Sinotimer DIN {"NAME":"Sinotimer TM60","GPIO":[0,0,0,0,0,288,0,0,224,160,0,0,0,0],"FLAG":0,"BASE":18}
Sinotimer Single Phase Digital Timer {"NAME":"TM608","GPIO":[32,0,0,0,2720,2656,0,0,2624,320,224,0,0,0],"FLAG":0,"BASE":18}
Sohan DIN Circuit Breaker 1P 50A {"NAME":"RDCBC-1P","GPIO":[32,0,0,0,0,0,0,0,224,320,0,0,0,0],"FLAG":0,"BASE":1}
Sonoff 1 Channel Inching/Self-Locking {"NAME":"1 Channel","GPIO":[32,0,0,0,0,0,0,0,224,320,0,0,0,0],"FLAG":0,"BASE":12}
Sonoff DUALR3 {"NAME":"Sonoff Dual R3","GPIO":[32,0,0,0,0,0,0,0,0,576,225,0,0,0,0,0,0,0,0,0,0,7296,7328,224,0,0,0,0,160,161,0,0,0,0,0,0],"FLAG":0,"BASE":1}
Sonoff RE5V1C 5V Inching/Selflock {"NAME":"Sonoff RE5V1C","GPIO":[32,1,1,1,1,1,0,0,224,320,0,0,0,0],"FLAG":0,"BASE":18}
@ -1754,7 +1752,7 @@ VisorTech {"NAME":"VisorTech RWM-200","GPIO":[0,2272,0,2304,0
433Mhz 4 Gang Touch {"NAME":"TMW4-01(EU)","GPIO":[0,0,0,33,35,32,0,0,34,224,225,226,227,0],"FLAG":0,"BASE":18}
AGL 2 Gang {"NAME":"AGL WiFi 02","GPIO":[0,0,544,0,0,33,0,0,225,224,0,0,32,0],"FLAG":0,"BASE":18}
AGL 3 Gang {"NAME":"AGL WiFi 03","GPIO":[0,0,544,0,34,33,0,0,225,224,226,0,32,0],"FLAG":0,"BASE":18}
AGL M<EFBFBD>dulo Rel<65> 01 Canal {"NAME":"AGL-Basic","GPIO":[0,1,0,0,224,32,0,0,0,0,320,0,0,0],"FLAG":0,"BASE":18}
AGL Modulo Relay 01 Canal {"NAME":"AGL-Basic","GPIO":[0,1,0,0,224,32,0,0,0,0,320,0,0,0],"FLAG":0,"BASE":18}
Albohes 2 Channel {"NAME":"Albohes SH-08","GPIO":[0,3200,33,3232,321,320,0,0,224,544,32,0,225,1],"FLAG":0,"BASE":18}
Aoycocr SW1 {"NAME":"Aoycocr SW1","GPIO":[576,1,321,1,1,1,1,1,320,32,1,224,1,1],"FLAG":0,"BASE":18}
Athom 1 Gang {"NAME":"Athom SW011EU","GPIO":[576,0,0,32,0,0,0,0,0,224,288,0,0,0],"FLAG":0,"BASE":1}
@ -2050,13 +2048,14 @@ Welaik 2-Gang 1-Way "Not available"
WiFi Smart Switch 2 Gang {"NAME":"Kingart N2","GPIO":[32,1,0,1,0,225,33,0,224,0,0,0,0,1],"FLAG":0,"BASE":18}
WiFi Smart Switch 3 Gang {"NAME":"KingArt-3CH","GPIO":[32,1,0,1,226,225,33,34,224,288,0,0,0,1],"FLAG":0,"BASE":18}
WL-SW01_10 {"NAME":"WL-SW01_10","GPIO":[32,3232,0,3200,0,0,0,0,224,320,0,0,0,0],"FLAG":0,"BASE":1}
Woox Integrational Switch {"NAME":"WOOXR4967","GPIO":[0,0,0,1,320,224,0,0,0,32,0,0,0,0],"FLAG":0,"BASE":18}
WS-US-03 {"NAME":"WS-US-03","GPIO":[32,1,1,1,226,225,33,34,224,320,0,0,0,0],"FLAG":0,"BASE":30}
Xenon SM-SW102U 2 Gang {"NAME":"SM-SW102U-2","GPIO":[288,0,0,33,225,0,0,0,32,224,0,0,0,4704],"FLAG":0,"BASE":18}
Xenon SM-SW202 {"NAME":"SM-SW202","GPIO":[0,0,0,32,224,0,0,0,0,0,288,0,0,0],"FLAG":0,"BASE":18}
Yagusmart 2 Gang {"NAME":"DS-101 2 gang","GPIO":[576,289,0,32,225,33,0,0,0,224,288,0,0],"FLAG":0,"BASE":1}
Yagusmart 3 Gang {"NAME":"DS-101 3 gang","GPIO":[576,290,0,33,225,34,0,0,32,224,289,226,288,0],"FLAG":0,"BASE":18}
Yapmor 1-gang {"NAME":"YAPMOR 1CH","GPIO":[32,1,1,1,0,0,0,0,224,320,0,0,0,0],"FLAG":0,"BASE":28}
Youngzuth 2in1 {"NAME":"SW02 2W","GPIO":[288,0,0,160,224,0,0,0,161,225,0,0,0,0],"FLAG":0,"BASE":18}
Youngzuth 2in1 {"NAME":"SW02 2W","GPIO":[288,0,0,32,224,0,0,0,33,225,0,0,0,0],"FLAG":0,"BASE":18}
Youngzuth 3in1 {"NAME":"SW02 3W","GPIO":[320,0,0,34,226,33,0,0,32,224,0,225,0,0],"FLAG":0,"BASE":18}
Yuntong Smart {"NAME":"Yuntong Smart","GPIO":[0,0,0,0,224,0,0,0,96,320,0,576,0,0],"FLAG":0,"BASE":1}
Zemismart ERC309 Kinetic {"NAME":"Kinetic Switch","GPIO":[1,1,1,1,1,1,0,0,1,2304,1,2272,1,0],"FLAG":0,"BASE":54}
@ -2082,6 +2081,11 @@ IOT4SH01DS {"NAME":"IOT4SH01DS","GPIO":[1,1,1,1,1,1,0,0,1,1312
Shelly Add-on {"NAME":"Shelly 1 Temp ","GPIO":[1344,0,0,1312,224,192,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":46}
```
## Thermostat
```
Floor Heating or Water/Gas Boiler {"NAME":"ME81H Thermostat","GPIO":[1,1,1,1,1,1,0,0,1,1,1,1,1,0],"FLAG":0,"BASE":54}
```
## Valve
```
Garden Water Timer BQ05 {"NAME":"BQ05","GPIO":[32,0,0,0,0,0,0,0,224,544,0,0,0,4704],"FLAG":0,"BASE":18}

32
boards/esp8266_1M.json Normal file
View File

@ -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 1M sketch NO 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"
}

32
boards/esp8266_2M1M.json Normal file
View File

@ -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"
}

32
boards/esp8266_4M2M.json Normal file
View File

@ -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"
}

32
boards/esp8266_4M3M.json Normal file
View File

@ -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"
}

View File

@ -1 +0,0 @@

40
include/fix_esp32c3.h Normal file
View File

@ -0,0 +1,40 @@
/*
fix_esp32c3.h - fix esp32c3 toolchain
Copyright (C) 2021 Theo Arends
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* Xtensa toolchain declares `int32_t` as `int` but RISC-V toolchain
* declares `int32_t` as `long int` which causes compilation errors.
*
* See:
* https://github.com/espressif/esp-idf/issues/6906
* https://github.com/espressif/arduino-esp32/issues/5086
*
* You need to add the following lines in `build_flags`:
* -I$PROJECT_DIR/include
* -include "fix_esp32c3.h"
*/
#ifdef __riscv
#undef __INT32_TYPE__
#define __INT32_TYPE__ int
#undef __UINT32_TYPE__
#define __UINT32_TYPE__ unsigned int
#endif // __riscv

View File

@ -126,18 +126,19 @@ 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 defined(__riscv)
// #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) {
uintptr_t * va_ptr = (uintptr_t*) &va;
void * cur_ptr = (void*) *va_ptr;
*va_ptr += 4;
return cur_ptr;
int32_t * cur_ptr = (int32_t*) *va_ptr;
return (void*) (cur_ptr - 1);
}
#else // __XTENSA__, __RISCV__
#else // __XTENSA__, __riscv
#error "ext_printf is not suppoerted on this platform"
#endif // __XTENSA__, __RISCV__
#endif // __XTENSA__, __riscv
/*********************************************************************************************\
* Genral function to convert u64 to hex

View File

@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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);
}

View File

@ -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 {

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,8 @@
#include <Adafruit_GFX.h>
#include <renderer.h>
#include <Wire.h>
#include <SPI.h>
#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
@ -38,11 +44,18 @@ enum uColorType { uCOLOR_BW, uCOLOR_COLOR };
#define PIN_OUT_CLEAR 0x60000308
#define GPIO_SET(A) WRITE_PERI_REG( PIN_OUT_SET, 1 << A)
#define GPIO_CLR(A) WRITE_PERI_REG( PIN_OUT_CLEAR, 1 << A)
#define GPIO_CLR_SLOW(A) digitalWrite(A, LOW)
#define GPIO_SET_SLOW(A) digitalWrite(A, HIGH)
#else
#undef GPIO_SET
#define GPIO_SET(A) GPIO.out_w1ts = (1 << A)
#undef GPIO_CLR
#undef GPIO_SET_SLOW
#undef GPIO_CLR_SLOW
#define GPIO_CLR(A) GPIO.out_w1tc = (1 << A)
#define GPIO_SET(A) GPIO.out_w1ts = (1 << A)
#define GPIO_CLR_SLOW(A) digitalWrite(A, LOW)
#define GPIO_SET_SLOW(A) digitalWrite(A, HIGH)
#endif
#define SPI_BEGIN_TRANSACTION if (spi_nr <= 2) uspi->beginTransaction(spiSettings);
@ -54,6 +67,8 @@ enum uColorType { uCOLOR_BW, uCOLOR_COLOR };
#define ESP32_PWM_CHANNEL 1
#define LUTMAXSIZE 64
class uDisplay : public Renderer {
public:
uDisplay(char *);
@ -81,19 +96,41 @@ class uDisplay : public Renderer {
void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
uint32_t str2c(char **sp, char *vp, uint32_t len);
void i2c_command(uint8_t val);
void spi_command(uint8_t val);
void spi_command_one(uint8_t val);
void spi_command(uint8_t val);
void spi_data8(uint8_t val);
void spi_data16(uint16_t val);
void spi_data32(uint32_t val);
void write8(uint8_t val);
void write8_slow(uint8_t val);
void write9(uint8_t val, uint8_t dc);
void write9_slow(uint8_t val, uint8_t dc);
void hw_write9(uint8_t val, uint8_t dc);
void write16(uint16_t val);
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 SetLuts(void);
void DisplayFrame_29(void);
void Updateframe_EPD();
//void DisplayFrame_42(const unsigned char* frame_buffer);
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 SetPartialWindow_42(uint8_t* frame_buffer, int16_t x, int16_t y, int16_t w, int16_t l, int16_t dtm);
void ClearFrameMemory(unsigned char color);
void ClearFrame_42(void);
void DisplayFrame_42(void);
uint8_t strlen_ln(char *str);
int32_t next_val(char **sp);
uint32_t next_hex(char **sp);
@ -103,12 +140,18 @@ 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;
uint8_t dsp_on;
uint8_t dsp_off;
uint8_t allcmd_mode;
uint16_t splash_font;
uint16_t splash_size;
uint16_t splash_xp;
@ -144,6 +187,18 @@ 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;
uint16_t lut_num;
uint8_t ep_mode;
uint8_t lut_full[LUTMAXSIZE];
uint8_t lut_partial[LUTMAXSIZE];
uint8_t lut_array[LUTMAXSIZE][5];
uint8_t lut_cnt[5];
uint8_t lut_cmd[5];
};

View File

@ -44,6 +44,7 @@ extern "C" {
#define PSTR(s) (__extension__({static const char __c[] __attribute__((__aligned__(4))) PROGMEM = (s); &__c[0];}))
#endif
#ifdef ESP8266
// Flash memory must be read using 32 bit aligned addresses else a processor
// exception will be triggered.
// The order within the 32 bit values are:
@ -87,6 +88,26 @@ static inline uint16_t pgm_read_word_inlined(const void* addr) {
#define pgm_read_ptr(addr) (*(const void* const*)(addr))
#endif
#else // ESP8266
#ifdef __cplusplus
#define pgm_read_byte(addr) (*reinterpret_cast<const uint8_t*>(addr))
#define pgm_read_word(addr) (*reinterpret_cast<const uint16_t*>(addr))
#define pgm_read_dword(addr) (*reinterpret_cast<const uint32_t*>(addr))
#define pgm_read_float(addr) (*reinterpret_cast<const float>(addr))
#define pgm_read_ptr(addr) (*reinterpret_cast<const void* const *>(addr))
#else
#define pgm_read_byte(addr) (*(const uint8_t*)(addr))
#define pgm_read_word(addr) (*(const uint16_t*)(addr))
#define pgm_read_dword(addr) (*(const uint32_t*)(addr))
#define pgm_read_float(addr) (*(const float)(addr))
#define pgm_read_ptr(addr) (*(const void* const *)(addr))
#endif
#endif // ESP8266
#define pgm_read_byte_near(addr) pgm_read_byte(addr)
#define pgm_read_word_near(addr) pgm_read_word(addr)
#define pgm_read_dword_near(addr) pgm_read_dword(addr)

102
lib/libesp32/Berry/Makefile Normal file
View File

@ -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

View File

@ -0,0 +1,163 @@
<p align="center">
<h1 align="center">
<img src="https://gitee.com/mirrors/Berry/raw/master/berry-logo.png" alt="Berry" width=272 height=128>
</h1>
<p align="center">The Berry Script Language.</p>
</p>
## 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.

View File

@ -274,7 +274,9 @@ be_native_module_attr_table(gpio) {
be_native_module_int("TFMINIPLUS_RX", 235),
be_native_module_int("ZEROCROSS", 236),
be_native_module_int("HALLEFFECT", 237),
be_native_module_int("SENSOR_END", 238),
be_native_module_int("EPD_DATA", 238),
be_native_module_int("INPUT", 239),
be_native_module_int("SENSOR_END", 240),
be_native_module_function("pin_mode", gp_pin_mode),
be_native_module_function("digital_write", gp_digital_write),
@ -543,7 +545,9 @@ module gpio (scope: global, depend: BE_USE_TASMOTA) {
TFMINIPLUS_RX, int(235)
ZEROCROSS, int(236)
HALLEFFECT, int(237)
SENSOR_END, int(238)
EPD_DATA, int(238)
INPUT, int(239)
SENSOR_END, int(240)
pin_mode, func(gp_pin_mode)
digital_write, func(gp_digital_write)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -10,6 +10,11 @@
#include <assert.h>
#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.
@ -178,8 +179,8 @@ extern "C" {
#ifdef __cplusplus
}
#endif
#define BE_EXPLICIT_MALLOC special_malloc
#define BE_EXPLICIT_REALLOC special_realloc
#define BE_EXPLICIT_MALLOC berry_malloc
#define BE_EXPLICIT_REALLOC berry_realloc
#else
#define BE_EXPLICIT_MALLOC malloc
#define BE_EXPLICIT_REALLOC realloc

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

View File

@ -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
);

Some files were not shown because too many files have changed in this diff Show More