mirror of https://github.com/arendst/Tasmota.git
Merge branch 'arendst:development' into feature/can-bus
This commit is contained in:
commit
a436fc5e5f
|
@ -15,3 +15,6 @@
|
|||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
|
||||
# Apply Python syntax highlighting to berry (.be) files
|
||||
*.be linguist-language=Python
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
- [ ] Only relevant files were touched
|
||||
- [ ] Only one feature/fix was added per PR and the code change compiles without warnings
|
||||
- [ ] The code change is tested and works with Tasmota core ESP8266 V.2.7.4.9
|
||||
- [ ] The code change is tested and works with Tasmota core ESP32 V.1.0.7.4
|
||||
- [ ] The code change is tested and works with Tasmota core ESP32 V.1.0.7.5
|
||||
- [ ] I accept the [CLA](https://github.com/arendst/Tasmota/blob/development/CONTRIBUTING.md#contributor-license-agreement-cla).
|
||||
|
||||
_NOTE: The code change must pass CI tests. **Your PR cannot be merged unless tests pass**_
|
||||
|
|
|
@ -1,651 +0,0 @@
|
|||
name: Tasmota CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
tasmota:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-minimal:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-minimal
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-lite:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-lite
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-knx:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-knx
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-sensors:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-sensors
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-display:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-display
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-ir:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-ir
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-zbbridge:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-zbbridge
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-zigbee:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-zigbee
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-AF:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-AF
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-BG:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-BG
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-BR:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-BR
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-CN:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-CN
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-CZ:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-CZ
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-DE:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-DE
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-ES:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-ES
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-FR:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-FR
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-FY:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-FY
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-GR:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-GR
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-HE:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-HE
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-HU:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-HU
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-IT:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-IT
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-KO:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-KO
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-NL:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-NL
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-PL:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-PL
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-PT:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-PT
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-RO:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-RO
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-RU:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-RU
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-SE:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-SE
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-SK:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-SK
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-TR:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-TR
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-TW:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-TW
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-UK:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-UK
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota-VN:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota-VN
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
|
@ -1,685 +0,0 @@
|
|||
name: Tasmota ESP32 CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
tasmota32:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32solo1:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-webcam
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-odroidgo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-odroidgo
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-core2:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-core2
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-bluetooth:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-bluetooth
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-display:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-display
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-lvgl:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-lvgl
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-ir:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-ir
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-AF:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-AF
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-BG:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-BG
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-BR:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-BR
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-CN:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-CN
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-CZ:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-CZ
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-DE:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-DE
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-ES:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-ES
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-FR:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-FR
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-FY:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-FY
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-GR:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-GR
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-HE:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-HE
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-HU:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-HU
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-IT:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-IT
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-KO:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-KO
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-NL:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-NL
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-PL:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-PL
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-PT:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-PT
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-RO:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-RO
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-RU:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-RU
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-SE:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-SE
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-SK:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-SK
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-TR:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-TR
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-TW:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-TW
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-UK:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-UK
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-VN:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 tasmota32-VN
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
File diff suppressed because it is too large
Load Diff
|
@ -826,6 +826,23 @@ jobs:
|
|||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32c3:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install -U platformio
|
||||
- name: Run PlatformIO
|
||||
run: |
|
||||
platformio run -e tasmota32c3
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-AF:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -1338,12 +1355,13 @@ jobs:
|
|||
[ ! -f ./mv_firmware/firmware/tasmota32-odroidgo.* ] || mv ./mv_firmware/firmware/tasmota32-odroidgo.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-core2.* ] || mv ./mv_firmware/firmware/tasmota32-core2.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-bluetooth.* ] || mv ./mv_firmware/firmware/tasmota32-bluetooth.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32c3*.* ] || mv ./mv_firmware/firmware/tasmota32c3*.* ./firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./firmware/tasmota32/languages/
|
||||
[ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./firmware/tasmota/languages/
|
||||
- name: Display files to transfer
|
||||
run: ls -R ./*
|
||||
- name: Push Firmware files to https://github.com/arendst/Tasmota-firmware
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
|
@ -1356,7 +1374,7 @@ jobs:
|
|||
echo ${GITHUB_SHA} &> trigger.txt
|
||||
echo "$(<trigger.txt)"
|
||||
- name: Push trigger.txt to start workflow in repo https://github.com/arendst/Tasmota-firmware
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
|
|
|
@ -824,6 +824,23 @@ jobs:
|
|||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32c3:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install -U platformio
|
||||
- name: Run PlatformIO
|
||||
run: |
|
||||
platformio run -e tasmota32c3
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
tasmota32-AF:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -1345,12 +1362,13 @@ jobs:
|
|||
[ ! -f ./mv_firmware/firmware/tasmota32-odroidgo.* ] || mv ./mv_firmware/firmware/tasmota32-odroidgo.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-core2.* ] || mv ./mv_firmware/firmware/tasmota32-core2.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-bluetooth.* ] || mv ./mv_firmware/firmware/tasmota32-bluetooth.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32c3*.* ] || mv ./mv_firmware/firmware/tasmota32c3*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./release-firmware/tasmota32/languages/
|
||||
[ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./release-firmware/tasmota/languages/
|
||||
- name: Display files
|
||||
run: ls -R ./*
|
||||
- name: Push Firmware files to https://github.com/arendst/Tasmota-firmware
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
|
@ -1363,7 +1381,7 @@ jobs:
|
|||
echo ${GITHUB_SHA} &> trigger.txt
|
||||
echo "$(<trigger.txt)"
|
||||
- name: Push trigger.txt to start workflow in repo https://github.com/arendst/Tasmota-firmware
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
name: Tasmota CI
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths:
|
||||
- '**.c'
|
||||
- '**.cpp'
|
||||
- '**.h'
|
||||
- '**.hpp'
|
||||
- '**.ino'
|
||||
- '**.json'
|
||||
- '**.properties'
|
||||
- 'pio-tools/*.py'
|
||||
- '**.ini'
|
||||
|
||||
jobs:
|
||||
base-images:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
variant:
|
||||
- tasmota
|
||||
- tasmota-display
|
||||
- tasmota-ir
|
||||
- tasmota-knx
|
||||
- tasmota-lite
|
||||
- tasmota-minimal
|
||||
- tasmota-sensors
|
||||
- tasmota-zbbridge
|
||||
- tasmota-zigbee
|
||||
- tasmota32
|
||||
- tasmota32-webcam
|
||||
- tasmota32-bluetooth
|
||||
- tasmota32-core2
|
||||
- tasmota32-display
|
||||
- tasmota32-ir
|
||||
- tasmota32-lvgl
|
||||
- tasmota32-odroidgo
|
||||
- tasmota32c3
|
||||
- tasmota32solo1
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 ${{ matrix.variant }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
language-images:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
variant: [ tasmota, tasmota32 ]
|
||||
language: [ AF, BG, BR, CN, CZ, DE, ES, FR, FY, GR, HE, HU, IT, KO, NL, PL, PT, RO, RU, SE, SK, TR, TW, UK, VN ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 ${{ matrix.variant }}-${{ matrix.language }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
|
@ -15,7 +15,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Push I2CDevices.md to https://github.com/Tasmota/docs
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
|
@ -27,7 +27,7 @@ jobs:
|
|||
user_name: 'github-actions'
|
||||
commit_message: 'I2CDevices.md changed'
|
||||
- name: Push Builds.md to https://github.com/Tasmota/docs
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
|
|
|
@ -7,7 +7,6 @@ image:
|
|||
|
||||
vscode:
|
||||
extensions:
|
||||
- eamodio.gitlens
|
||||
- Atishay-Jain.All-Autocomplete
|
||||
- CoenraadS.bracket-pair-colorizer
|
||||
- esbenp.prettier-vscode
|
||||
|
|
30
CHANGELOG.md
30
CHANGELOG.md
|
@ -3,7 +3,28 @@ All notable changes to this project will be documented in this file.
|
|||
|
||||
## [Unreleased] - Development
|
||||
|
||||
## [9.5.0.9]
|
||||
## [10.0.0.1]
|
||||
### Added
|
||||
- Berry add module ``python_compat`` to be closer to Python syntax (#13428)
|
||||
- 1 second heartbeat GPIO
|
||||
|
||||
### Changed
|
||||
- File editor no-wrap (#13427)
|
||||
- ESP32 core library from v1.0.7.4 to v1.0.7.5
|
||||
- ESP32C3 core library from v2.0.0-post to v2.0.1-rc1
|
||||
|
||||
### Fixed
|
||||
- Initial reset RTC memory based variables like EnergyToday and EnergyTotal
|
||||
- ESP32 Telegram compile error (#13435)
|
||||
- SML compile error (#13441)
|
||||
- GUI checkbox MQTT TLS not saved regression from v9.2.0.3 (#13442)
|
||||
|
||||
## [Released]
|
||||
|
||||
## [10.0.0] 20211019
|
||||
- Release Norman
|
||||
|
||||
## [9.5.0.9] 20211019
|
||||
### Added
|
||||
- Command ``SetOption129 1`` to enable split total energy results (#13030)
|
||||
- Command ``SetOption130 1`` adding heap size (and ESP32 fragmentation) to logging timestamp for debugging
|
||||
|
@ -20,6 +41,11 @@ All notable changes to this project will be documented in this file.
|
|||
- Removed command ``EnergyReset`` as it is replaced by new commands
|
||||
- Files starting with underscore in file system are no more hidden
|
||||
- ESP32 Memory display to exclude IRAM (i.e. less by 40-50KB) (#13294)
|
||||
- LVGL Berry namespace ``lv.*`` added and removed ``lv_*`` constants
|
||||
|
||||
### Fixed
|
||||
- ESP32 restore GPIO16/17 if no PSRAM was found regression from v9.5.0.3
|
||||
- Restore functionality as documented when both GPIO_LED1 and GPIO_LED2 are used regression from v8.5.0 (#13368)
|
||||
|
||||
## [9.5.0.8] 20210927
|
||||
### Added
|
||||
|
@ -182,8 +208,6 @@ All notable changes to this project will be documented in this file.
|
|||
- Telegram response decoding stopped working after 20210621 and exception on long result message (#12451)
|
||||
- Neopool compile error on DEBUG_TASMOTA_SENSOR (#12464)
|
||||
|
||||
## [Released]
|
||||
|
||||
## [9.5.0] 20210617
|
||||
- Release Michael (Rossi)
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ See [CHANGELOG.md](https://github.com/arendst/Tasmota/blob/development/tasmota/C
|
|||
|
||||
## Development
|
||||
|
||||
[![Dev Version](https://img.shields.io/badge/development%20version-v9.5.x.x-blue.svg)](https://github.com/arendst/Tasmota)
|
||||
[![Dev Version](https://img.shields.io/badge/development%20version-v10.0.x.x-blue.svg)](https://github.com/arendst/Tasmota)
|
||||
[![Download Dev](https://img.shields.io/badge/download-development-yellow.svg)](http://ota.tasmota.com/tasmota/)
|
||||
[![Tasmota CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20CI/badge.svg)](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+CI%22)
|
||||
[![Tasmota ESP32 CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20ESP32%20CI/badge.svg)](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+ESP32+CI%22)
|
||||
|
|
|
@ -23,7 +23,7 @@ Easy initial installation of Tasmota can be performed using the [Tasmota WebInst
|
|||
|
||||
## Development
|
||||
|
||||
[![Dev Version](https://img.shields.io/badge/development%20version-v9.5.x.x-blue.svg)](https://github.com/arendst/Tasmota)
|
||||
[![Dev Version](https://img.shields.io/badge/development%20version-v10.0.x.x-blue.svg)](https://github.com/arendst/Tasmota)
|
||||
[![Download Dev](https://img.shields.io/badge/download-development-yellow.svg)](http://ota.tasmota.com/tasmota/)
|
||||
[![Tasmota CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20CI/badge.svg)](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+CI%22)
|
||||
[![Tasmota ESP32 CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20ESP32%20CI/badge.svg)](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+ESP32+CI%22)
|
||||
|
|
125
RELEASENOTES.md
125
RELEASENOTES.md
|
@ -8,6 +8,8 @@
|
|||
|
||||
See [migration path](https://tasmota.github.io/docs/Upgrading#migration-path) for instructions how to migrate to a major version. Pay attention to the following version breaks due to dynamic settings updates:
|
||||
|
||||
**Do not upgrade from minimal to minimal version. It will most likely fail at some point and will require flashing via serial.** If you do have to use minimal versions, always OTA to a full version of the same release before applying next minimal version.
|
||||
|
||||
1. Migrate to **Sonoff-Tasmota 3.9.x**
|
||||
2. Migrate to **Sonoff-Tasmota 4.x**
|
||||
3. Migrate to **Sonoff-Tasmota 5.14**
|
||||
|
@ -64,20 +66,20 @@ Latest released binaries can be downloaded from
|
|||
- http://ota.tasmota.com/tasmota/release
|
||||
|
||||
Historical binaries can be downloaded from
|
||||
- http://ota.tasmota.com/tasmota/release-9.5.0
|
||||
- http://ota.tasmota.com/tasmota/release-10.0.0
|
||||
|
||||
The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota/release/tasmota.bin.gz``
|
||||
|
||||
### ESP32 based
|
||||
The following binary downloads have been compiled with ESP32/Arduino library core version **1.0.7.3**.
|
||||
The following binary downloads have been compiled with ESP32/Arduino library core version **1.0.7.4**.
|
||||
|
||||
- **tasmota32.bin** = The Tasmota version with most drivers including additional sensors and KNX for 4M+ flash. **RECOMMENDED RELEASE BINARY**
|
||||
- **tasmota32_8M.bin** = The Tasmota version with most drivers including additional sensors and KNX for 8M+ flash.
|
||||
- **tasmota32_16M.bin** = The Tasmota version with most drivers including additional sensors and KNX for 16M+ flash.
|
||||
- **tasmota32c3.bin** = The Tasmota version with most drivers including additional sensors and KNX for ESP32-C3 and 4M+ flash.
|
||||
- **tasmota32solo1.bin** = The Tasmota version with most drivers including additional sensors and KNX for single core ESP32 and 4M+ flash.
|
||||
- **tasmota32-AF.bin** to **tasmota32-VN.bin** = The Tasmota version in different languages for 4M+ flash.
|
||||
- **tasmota32-ir.bin** = The InfraRed Receiver and transmitter version allowing all available protocols provided by library IRremoteESP8266 but without most other features for 4M+ flash.
|
||||
- **tasmota32-display.bin** = The Display version without Energy Monitoring but adds display support for 4M+ flash.
|
||||
- **tasmota32-lvgl.bin** = The LVGL version adds Light and Versatile Graphics Library (LVGL) display support for 4M+ flash.
|
||||
- **tasmota32-webcam.bin** = The Webcam version adds webcam support for 4M+ flash.
|
||||
- **tasmota32-bluetooth.bin** = The Bluetooth version adds BLE support for 4M+ flash.
|
||||
- **tasmota32-odroidgo.bin** = The Odroid-Go version is specifically tailored to Odroid_go hardware for 8M+ flash.
|
||||
|
@ -88,7 +90,7 @@ Latest released binaries can be downloaded from
|
|||
- http://ota.tasmota.com/tasmota32/release
|
||||
|
||||
Historical binaries can be downloaded from
|
||||
- http://ota.tasmota.com/tasmota32/release-9.5.0
|
||||
- http://ota.tasmota.com/tasmota32/release-10.0.0
|
||||
|
||||
The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota32/release/tasmota32.bin``
|
||||
|
||||
|
@ -98,113 +100,20 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo
|
|||
|
||||
[Complete list](BUILDS.md) of available feature and sensors.
|
||||
|
||||
## Changelog v9.5.0.9
|
||||
## Changelog v10.0.0.1
|
||||
### Added
|
||||
- Release of [Tasmota WebInstaller](https://arendst.github.io/Tasmota-firmware/)
|
||||
- Command ``SetOption2 1`` to enable display of global temperature/humidity/pressure info to JSON sensor message
|
||||
- Command ``SetOption127 1`` to force Wi-Fi in no-sleep mode even if ``Sleep 0`` is not enabled
|
||||
- Command ``SetOption128 0|1`` web referer check disabling HTTP API commands if set to 0. Default set to 1 for backward compatibility [#12828](https://github.com/arendst/Tasmota/issues/12828)
|
||||
- Command ``SetOption129 1`` to enable split total energy results [#13030](https://github.com/arendst/Tasmota/issues/13030)
|
||||
- Command ``SetOption130 1`` adding heap size (and ESP32 fragmentation) to logging timestamp for debugging
|
||||
- Command ``SetSensor1..127 0|1`` to globally disable individual sensor driver
|
||||
- Command ``Subscribe2 ...`` to subscribe to a MQTT topic without appended "/#" [#12858](https://github.com/arendst/Tasmota/issues/12858)
|
||||
- Command ``WebGetConfig <url>`` if ``#define USE_WEBGETCONFIG`` is enabled to restore/init configuration from external webserver [#13034](https://github.com/arendst/Tasmota/issues/13034)
|
||||
- Command ``WebQuery <url> GET|POST|PUT|PATCH [<headers>] <body>`` to extent HTTP requests [#13209](https://github.com/arendst/Tasmota/issues/13209)
|
||||
- Commands ``EnergyTotal<phase>``, ``EnergyToday<phase>`` and ``EnergyYesterday<phase>`` to (re)set energy values
|
||||
- Commands ``EnergyUsage`` and ``EnergyExport`` to (re)set energy usage and export values
|
||||
- Optional IP filter to command ``TCPStart`` [#12806](https://github.com/arendst/Tasmota/issues/12806)
|
||||
- Neopool commands ``NPPHRes``, ``NPCLRes`` and ``NPIonRes`` [#12813](https://github.com/arendst/Tasmota/issues/12813)
|
||||
- Support for second DNS server
|
||||
- Support for influxdb using ``#define USE_INFLUXDB`` and several ``Ifx`` commands
|
||||
- Support for AM2320 Temperature and Humidity Sensor by Lars Wessels [#12485](https://github.com/arendst/Tasmota/issues/12485)
|
||||
- Support for Technoline WS2300-15 Anemometer [#12573](https://github.com/arendst/Tasmota/issues/12573)
|
||||
- Support for Telaire T6700 Series CO2 sensor by Alexander Savchenko [#12618](https://github.com/arendst/Tasmota/issues/12618)
|
||||
- Support for CAN bus and Freedom Won Battery Management System by Marius Bezuidenhout [#12651](https://github.com/arendst/Tasmota/issues/12651)
|
||||
- Support for IEM3155 Wattmeter [#12940](https://github.com/arendst/Tasmota/issues/12940)
|
||||
- Support for Hydreon RG-15 Solid State Rain sensor [#12974](https://github.com/arendst/Tasmota/issues/12974)
|
||||
- Support for IKEA VINDRIKTNING particle concentration sensor [#12976](https://github.com/arendst/Tasmota/issues/12976)
|
||||
- Support for Sensirion SCD40/SCD41 CO2 sensor [#13139](https://github.com/arendst/Tasmota/issues/13139)
|
||||
- Support for BL0939 energy monitor as used in ESP32 based Sonoff Dual R3 V2 Pow [#13195](https://github.com/arendst/Tasmota/issues/13195)
|
||||
- Support for BL0942 energy monitor [#13259](https://github.com/arendst/Tasmota/issues/13259)
|
||||
- Support for HM330X SeedStudio Grove Particule sensor [#13250](https://github.com/arendst/Tasmota/issues/13250)
|
||||
- Initial support for Tasmota Mesh (TasMesh) providing node/broker communication using ESP-NOW [#11939](https://github.com/arendst/Tasmota/issues/11939)
|
||||
- Initial support for Wi-Fi extender [#12784](https://github.com/arendst/Tasmota/issues/12784)
|
||||
- Rule event support as JSON payload [#12496](https://github.com/arendst/Tasmota/issues/12496)
|
||||
- MQTT minimum password length restriction in GUI [#12553](https://github.com/arendst/Tasmota/issues/12553)
|
||||
- ESP32 Berry partition manager [#12465](https://github.com/arendst/Tasmota/issues/12465)
|
||||
- ESP32 Berry class ``webclient`` for HTTP/HTTPS requests
|
||||
- ESP32 Berry support for I2S audio mp3 playback
|
||||
- ESP32 Berry support for vararg
|
||||
- ESP32 Berry support for Curve 25519 EC crypto
|
||||
- ESP32 Berry support for ESP32/ESP32S2 DAC gpio
|
||||
- ESP32 Berry support for Serial
|
||||
- ESP32 Berry print stack trace when exception, more detailed with line numbers if `#define USE_BERRY_DEBUG`
|
||||
- ESP32 support for (Yeelight) Mi Desk Pro using binary tasmota32solo1.bin
|
||||
- ESP32-S2 support for GPIOs
|
||||
- ESP32 add GPIO 6/7/8/11 to template and remove GPIO 28-31 (remapping so backwards compatible)
|
||||
- ESP32 crash recorder ``Status 12`` for ESP32/ESP32-S2/ESP32-C3, supporting Esp-idf 3.3/4.4
|
||||
- 1 second heartbeat GPIO
|
||||
- ESP32 Berry add module ``python_compat`` to be closer to Python syntax [#13428](https://github.com/arendst/Tasmota/issues/13428)
|
||||
|
||||
### Breaking Changed
|
||||
- ESP32 LVGL updated to v8.0.2
|
||||
|
||||
### Changed
|
||||
- Move firmware binaries to https://github.com/arendst/Tasmota-firmware/tree/main/release-firmware
|
||||
- Removed command ``EnergyReset`` as it is replaced by new commands
|
||||
- IRremoteESP8266 library from v2.7.18 to v2.7.20
|
||||
- NeoPixelBus library from v2.6.3 to v2.6.7
|
||||
- Message ``Upload buffer miscompare`` into ``Not enough space``
|
||||
- Command ``DisplayDimmer`` has now range 0..100 instead of 0..15
|
||||
- Speed up initial GUI console refresh
|
||||
- Enable UFILESYS, GUI_TRASH_FILE and GUI_EDIT_FILE for any device compiled with more than 1M flash size
|
||||
- Supported sensor driver range extended from 96 to 128
|
||||
- Relax NTP poll if no ntpserver can be resolved by DNS
|
||||
- Shelly EM template needs to use GPIO ``ADE7953_IRQ 2``
|
||||
- Make Sonoff L1 MusicSync persistent [#12008](https://github.com/arendst/Tasmota/issues/12008)
|
||||
- Simplified configuration for ir-full and removal of tasmota-ircustom [#12428](https://github.com/arendst/Tasmota/issues/12428)
|
||||
- Refactor platformio [#12442](https://github.com/arendst/Tasmota/issues/12442)
|
||||
- Allow buttons to work in AP normal mode [#12518](https://github.com/arendst/Tasmota/issues/12518)
|
||||
- Enable Ping and rule features for any device compiled with more than 1M flash size [#12539](https://github.com/arendst/Tasmota/issues/12539)
|
||||
- Replace spaces by hyphens in final hostname [#12710](https://github.com/arendst/Tasmota/issues/12710)
|
||||
- Default disable CORS for enhanced security and provide user compile option ``#define USE_CORS`` [#12827](https://github.com/arendst/Tasmota/issues/12827)
|
||||
- Prometheus: All metrics are prefixed with ``tasmota_`` [#12842](https://github.com/arendst/Tasmota/issues/12842)
|
||||
Memory metrics have been cleaned up to work consistently between ESP8266 and ESP32
|
||||
The device name is reported as an info metric
|
||||
- ESP32 core library from v1.0.6 to v1.0.7.4
|
||||
- ESP32 Ethernet Phy Type information to IDF v3+
|
||||
- ESP32 internal sensor driver id moved from 87 to 127
|
||||
- ESP32 disable PSRAM on unsupported hardware
|
||||
- ESP32 remove GPIO initialization to INPUT from not used GPIOs to allow JTAG support
|
||||
- ESP32 M5 Stack Core2 uses UNIVERSAL_DISPLAY with enabled LVGL as default now
|
||||
- ESP32 minimum PWM Frequency lowered to 2Hz [#13123](https://github.com/arendst/Tasmota/issues/13123)
|
||||
- ESP32 shrinked Webcam build, uses now `USE_TASMOTA_DISCOVERY` [#13148](https://github.com/arendst/Tasmota/issues/13148)
|
||||
- ESP32 Memory display to exclude IRAM (i.e. less by 40-50KB) [#13294](https://github.com/arendst/Tasmota/issues/13294)
|
||||
- File editor no-wrap [#13427](https://github.com/arendst/Tasmota/issues/13427)
|
||||
- ESP32 core library from v1.0.7.4 to v1.0.7.5
|
||||
- ESP32C3 core library from v2.0.0-post to v2.0.1-rc1
|
||||
|
||||
### Fixed
|
||||
- Sonoff L1 (lite) smoother color transitions
|
||||
- DDS238-2 wrong reactive power value [#12283](https://github.com/arendst/Tasmota/issues/12283)
|
||||
- NO VALID JSON regression from may 4th [#12440](https://github.com/arendst/Tasmota/issues/12440)
|
||||
- Telegram response decoding stopped working after 20210621 and exception on long result message [#12451](https://github.com/arendst/Tasmota/issues/12451)
|
||||
- Neopool compile error on DEBUG_TASMOTA_SENSOR [#12464](https://github.com/arendst/Tasmota/issues/12464)
|
||||
- Scripter and Display MQTT errors due to MQTT_DATA move to String [#12525](https://github.com/arendst/Tasmota/issues/12525)
|
||||
- Scripter moving average and sml input validation [#12541](https://github.com/arendst/Tasmota/issues/12541)
|
||||
- Zigbee Hue angle encoding [#12545](https://github.com/arendst/Tasmota/issues/12545)
|
||||
- Exception 28 when unable to send MQTT message and a topic name without a slash '/' [#12555](https://github.com/arendst/Tasmota/issues/12555)
|
||||
- Wi-Fi initial setup workaround for 11n only routers [#12566](https://github.com/arendst/Tasmota/issues/12566)
|
||||
- Discovery fails when using ``%hostname%`` in a topic [#12710](https://github.com/arendst/Tasmota/issues/12710)
|
||||
- Neopool communication error [#12813](https://github.com/arendst/Tasmota/issues/12813)
|
||||
- Shelly Dimmer 2 Energy usage [#12815](https://github.com/arendst/Tasmota/issues/12815)
|
||||
- WDT reset on shutters with stepper motors during deceleration [#12849](https://github.com/arendst/Tasmota/issues/12849)
|
||||
- Negative power values for ADE7953 based devices like Shelly EM [#12874](https://github.com/arendst/Tasmota/issues/12874)
|
||||
- Unable to disable MusicSync mode on Sonoff L1 Lite regression from 9.3.0 [#12930](https://github.com/arendst/Tasmota/issues/12930)
|
||||
- Wiegand support for keypad zero key in single key mode using ``SetOption124 1`` [#12960](https://github.com/arendst/Tasmota/issues/12960)
|
||||
- Hass and Tasmota discovery prefix topic notifications [#12972](https://github.com/arendst/Tasmota/issues/12972)
|
||||
- OpenTherm invalid JSON [#13028](https://github.com/arendst/Tasmota/issues/13028)
|
||||
- MQTT TLS related connection timing errors [#13033](https://github.com/arendst/Tasmota/issues/13033)
|
||||
- ESP32 core v2.0.0 setting hostname
|
||||
- ESP32-C3 settings layout for configuration backup and restore
|
||||
- ESP32-Solo OTA upgrade
|
||||
- ESP32 Webcam add boundary marker before sending mjpeg image [#12376](https://github.com/arendst/Tasmota/issues/12376)
|
||||
- ESP32 Berry button handlers and error messages [#12521](https://github.com/arendst/Tasmota/issues/12521)
|
||||
- ESP32 do not use chip temperature sensor as global temperature if external temperature sensor is used [#12630](https://github.com/arendst/Tasmota/issues/12630)
|
||||
- ESP32 buzzer in PWM mode exception [#12717](https://github.com/arendst/Tasmota/issues/12717)
|
||||
- ESP32 crash when PSRAM is absent and ``BOARD_HAS_PSRAM`` set [#13037](https://github.com/arendst/Tasmota/issues/13037)
|
||||
- Initial reset RTC memory based variables like EnergyToday and EnergyTotal
|
||||
- ESP32 Telegram compile error [#13435](https://github.com/arendst/Tasmota/issues/13435)
|
||||
- SML compile error [#13441](https://github.com/arendst/Tasmota/issues/13441)
|
||||
- GUI checkbox MQTT TLS not saved regression from v9.2.0.3 [#13442](https://github.com/arendst/Tasmota/issues/13442)
|
||||
|
|
|
@ -76,13 +76,6 @@ static char sets[][11] PROGMEM =
|
|||
{'.', ',', '-', '/', '?', '+', ' ', '(', ')', '$', '@'},
|
||||
{';', '#', ':', '<', '^', '*', '"', '{', '}', '[', ']'},
|
||||
{'=', '%', '\'', '>', '&', '_', '!', '\\', '|', '~', '`'}};
|
||||
// {{ 0, ' ', 'e', 0, 't', 'a', 'o', 'i', 'n', 's', 'r'},
|
||||
// { 0, 'l', 'c', 'd', 'h', 'u', 'p', 'm', 'b', 'g', 'w'},
|
||||
// {'f', 'y', 'v', 'k', 'q', 'j', 'x', 'z', 0, 0, 0},
|
||||
// { 0, '9', '0', '1', '2', '3', '4', '5', '6', '7', '8'},
|
||||
// {'.', ',', '-', '/', '=', '+', ' ', '(', ')', '$', '%'},
|
||||
// {'&', ';', ':', '<', '>', '*', '"', '{', '}', '[', ']'},
|
||||
// {'@', '?', '\'', '^', '#', '_', '!', '\\', '|', '~', '`'}};
|
||||
|
||||
// Decoder is designed for using less memory, not speed
|
||||
// Decode lookup table for code index and length
|
||||
|
@ -117,28 +110,16 @@ static const uint16_t DICT_CODE = 0x0000;
|
|||
static const uint16_t DICT_CODE_LEN = 5;
|
||||
static const uint16_t DICT_OTHER_CODE = 0x0000; // not used
|
||||
static const uint16_t DICT_OTHER_CODE_LEN = 6;
|
||||
// const uint16_t RPT_CODE = 0x2370;
|
||||
// const uint16_t RPT_CODE_LEN = 13;
|
||||
static const uint16_t RPT_CODE_TASMOTA = 0x3780;
|
||||
static const uint16_t RPT_CODE_TASMOTA_LEN = 10;
|
||||
static const uint16_t BACK2_STATE1_CODE = 0x2000; // 0010 = back to lower case
|
||||
static const uint16_t BACK2_STATE1_CODE_LEN = 4;
|
||||
static const uint16_t BACK_FROM_UNI_CODE = 0xFE00;
|
||||
static const uint16_t BACK_FROM_UNI_CODE_LEN = 8;
|
||||
// const uint16_t CRLF_CODE = 0x3780;
|
||||
// const uint16_t CRLF_CODE_LEN = 10;
|
||||
static const uint16_t LF_CODE = 0x3700;
|
||||
static const uint16_t LF_CODE_LEN = 9;
|
||||
static const uint16_t TAB_CODE = 0x2400;
|
||||
static const uint16_t TAB_CODE_LEN = 7;
|
||||
// const uint16_t UNI_CODE = 0x8000; // Unicode disabled
|
||||
// const uint16_t UNI_CODE_LEN = 3;
|
||||
// const uint16_t UNI_STATE_SPL_CODE = 0xF800;
|
||||
// const uint16_t UNI_STATE_SPL_CODE_LEN = 5;
|
||||
// const uint16_t UNI_STATE_DICT_CODE = 0xFC00;
|
||||
// const uint16_t UNI_STATE_DICT_CODE_LEN = 7;
|
||||
// const uint16_t CONT_UNI_CODE = 0x2800;
|
||||
// const uint16_t CONT_UNI_CODE_LEN = 7;
|
||||
static const uint16_t ALL_UPPER_CODE = 0x2200;
|
||||
static const uint16_t ALL_UPPER_CODE_LEN = 8;
|
||||
static const uint16_t SW2_STATE2_CODE = 0x3800;
|
||||
|
@ -147,8 +128,6 @@ static const uint16_t ST2_SPC_CODE = 0x3B80;
|
|||
static const uint16_t ST2_SPC_CODE_LEN = 11;
|
||||
static const uint16_t BIN_CODE_TASMOTA = 0x8000;
|
||||
static const uint16_t BIN_CODE_TASMOTA_LEN = 3;
|
||||
// const uint16_t BIN_CODE = 0x2000;
|
||||
// const uint16_t BIN_CODE_LEN = 9;
|
||||
|
||||
#define NICE_LEN 5
|
||||
|
||||
|
@ -467,9 +446,9 @@ void Unishox::decodeRepeat(void) {
|
|||
uint32_t dict_len = readCount() + NICE_LEN;
|
||||
uint32_t dist = readCount() + NICE_LEN - 1;
|
||||
if (ol + dict_len <= len_out) {
|
||||
memcpy(out + ol, out + ol - dist, dict_len);
|
||||
ol += dict_len;
|
||||
}
|
||||
memcpy(out + ol, out + ol - dist, dict_len);
|
||||
ol += dict_len;
|
||||
}
|
||||
}
|
||||
|
||||
int32_t Unishox::unishox_decompress(const char *p_in, size_t p_len, char *p_out, size_t p_len_out) {
|
||||
|
@ -485,10 +464,10 @@ int32_t Unishox::unishox_decompress(const char *p_in, size_t p_len, char *p_out,
|
|||
dstate = SHX_SET1;
|
||||
is_all_upper = 0;
|
||||
|
||||
out[ol] = 0;
|
||||
if (out) out[ol] = 0;
|
||||
// while ((byte_no << 3) + bit_no - 8 < len) {
|
||||
while (!in_eof) {
|
||||
if (ol >= len_out) {
|
||||
if (out && ol >= len_out) {
|
||||
break;
|
||||
}
|
||||
int32_t h, v;
|
||||
|
@ -535,7 +514,8 @@ int32_t Unishox::unishox_decompress(const char *p_in, size_t p_len, char *p_out,
|
|||
|
||||
if (v == 0 && h == SHX_SET1A) {
|
||||
if (is_upper) {
|
||||
out[ol++] = 255 - readCount(); // binary
|
||||
if (out) out[ol] = 255 - readCount(); // binary
|
||||
ol++;
|
||||
} else {
|
||||
decodeRepeat(); // dist
|
||||
}
|
||||
|
@ -544,7 +524,8 @@ int32_t Unishox::unishox_decompress(const char *p_in, size_t p_len, char *p_out,
|
|||
|
||||
if (h == SHX_SET1 && v == 3) {
|
||||
// was Unicode, will do Binary instead
|
||||
out[ol++] = 255 - readCount(); // binary
|
||||
if (out) out[ol] = 255 - readCount(); // binary
|
||||
ol++;
|
||||
continue;
|
||||
}
|
||||
if (h < 7 && v < 11) // TODO: are these the actual limits? Not 11x7 ?
|
||||
|
@ -557,17 +538,22 @@ int32_t Unishox::unishox_decompress(const char *p_in, size_t p_len, char *p_out,
|
|||
c = '\t'; // If UpperCase Space, change to TAB
|
||||
if (h == SHX_SET1B) {
|
||||
if (8 == v) { // was LF or RPT, now only LF
|
||||
out[ol++] = '\n';
|
||||
if (out) out[ol] = '\n';
|
||||
ol++;
|
||||
continue;
|
||||
}
|
||||
if (9 == v) { // was CRLF, now RPT
|
||||
uint32_t count = readCount() + 4;
|
||||
if (ol + count >= len_out) {
|
||||
if (out && ol + count >= len_out) {
|
||||
return -1; // overflow
|
||||
}
|
||||
char rpt_c = out[ol - 1];
|
||||
while (count--)
|
||||
out[ol++] = rpt_c;
|
||||
if (out) {
|
||||
char rpt_c = out[ol - 1];
|
||||
while (count--)
|
||||
out[ol++] = rpt_c;
|
||||
} else {
|
||||
ol += count;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (10 == v) {
|
||||
|
@ -576,10 +562,11 @@ int32_t Unishox::unishox_decompress(const char *p_in, size_t p_len, char *p_out,
|
|||
}
|
||||
}
|
||||
// Serial.printf(">>>>>>>>>>>>>>>>>>>>>> Out = %c\n", c);
|
||||
out[ol++] = c;
|
||||
if (out) out[ol] = c;
|
||||
ol++;
|
||||
}
|
||||
|
||||
if (ol > len_out) {
|
||||
if (out && ol > len_out) {
|
||||
return -1; // overflow
|
||||
} else {
|
||||
return ol;
|
||||
|
|
|
@ -190,6 +190,7 @@ TSFDEF void tsf_channel_set_bank(tsf* f, int channel, int bank);
|
|||
TSFDEF int tsf_channel_set_bank_preset(tsf* f, int channel, int bank, int preset_number);
|
||||
TSFDEF void tsf_channel_set_pan(tsf* f, int channel, float pan);
|
||||
TSFDEF void tsf_channel_set_volume(tsf* f, int channel, float volume);
|
||||
TSFDEF void tsf_channel_set_volume_to_one(tsf* f, int channel); // solves a Compiler bug!! TODO: refactor after compiler fix!!
|
||||
TSFDEF void tsf_channel_set_pitchwheel(tsf* f, int channel, int pitch_wheel);
|
||||
TSFDEF void tsf_channel_set_pitchrange(tsf* f, int channel, float pitch_range);
|
||||
TSFDEF void tsf_channel_set_tuning(tsf* f, int channel, float tuning);
|
||||
|
@ -2054,6 +2055,10 @@ TSFDEF void tsf_channel_sounds_off_all(tsf* f, int channel)
|
|||
tsf_voice_endquick(v, f->outSampleRate);
|
||||
}
|
||||
|
||||
TSFDEF void tsf_channel_set_volume_to_one(tsf* f, int channel){
|
||||
tsf_channel_set_volume(f, channel, 1.0f);
|
||||
}
|
||||
|
||||
TSFDEF void tsf_channel_midi_control(tsf* f, int channel, int controller, int control_value)
|
||||
{
|
||||
struct tsf_channel* c = tsf_channel_init(f, channel);
|
||||
|
@ -2079,7 +2084,7 @@ TSFDEF void tsf_channel_midi_control(tsf* f, int channel, int controller, int co
|
|||
c->midiVolume = c->midiExpression = 16383;
|
||||
c->midiPan = 8192;
|
||||
c->bank = 0;
|
||||
tsf_channel_set_volume(f, channel, 1.0f);
|
||||
tsf_channel_set_volume_to_one(f, channel);
|
||||
tsf_channel_set_pan(f, channel, 0.5f);
|
||||
tsf_channel_set_pitchrange(f, channel, 2.0f);
|
||||
return;
|
||||
|
|
|
@ -240,12 +240,6 @@ int16_t MutichannelGasSensor::readData(uint8_t cmd)
|
|||
delay(2);
|
||||
//get response
|
||||
Wire.requestFrom(i2cAddress, (uint8_t)4); // request 4 bytes from slave device
|
||||
while(Wire.available() == 0)
|
||||
{
|
||||
if(timeout++ > 100)
|
||||
return -2;//time out
|
||||
delay(2);
|
||||
}
|
||||
if(Wire.available() != 4)
|
||||
return -3;//rtnData length wrong
|
||||
buffer[0] = Wire.read();
|
||||
|
|
|
@ -38,9 +38,9 @@ class WiFiClientSecure_light : public WiFiClient {
|
|||
|
||||
void allocateBuffers(void);
|
||||
|
||||
#ifdef ESP32 // the method to override in ESP32 has timeout argument
|
||||
int connect(IPAddress ip, uint16_t port, int32_t timeout) override;
|
||||
int connect(const char* name, uint16_t port, int32_t timeout) override;
|
||||
#ifdef ESP32 // the method to override in ESP32 has timeout argument default #define WIFI_CLIENT_DEF_CONN_TIMEOUT_MS (3000)
|
||||
int connect(IPAddress ip, uint16_t port, int32_t timeout = 3000) override;
|
||||
int connect(const char* name, uint16_t port, int32_t timeout = 3000) override;
|
||||
#else
|
||||
int connect(IPAddress ip, uint16_t port) override;
|
||||
int connect(const char* name, uint16_t port) override;
|
||||
|
|
|
@ -20,8 +20,8 @@ be_local_closure(init, /* name */
|
|||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80000000, // 0000 RET 0
|
||||
})
|
||||
|
@ -47,7 +47,7 @@ be_local_closure(get_tasmota, /* name */
|
|||
/* K0 */ be_nested_string("tasmota", 424643812, 7),
|
||||
}),
|
||||
(be_nested_const_str("get_tasmota", 334356779, 11)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0xB8060000, // 0000 GETNGBL R1 K0
|
||||
0x80040200, // 0001 RET 1 R1
|
||||
|
@ -83,7 +83,7 @@ be_local_closure(add_cmd, /* name */
|
|||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
(be_nested_const_str("<lambda>", 607256038, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 8]) { /* code */
|
||||
0x68100000, // 0000 GETUPV R4 U0
|
||||
0x68140001, // 0001 GETUPV R5 U1
|
||||
|
@ -102,7 +102,7 @@ be_local_closure(add_cmd, /* name */
|
|||
/* K1 */ be_nested_string("add_cmd", -933336417, 7),
|
||||
}),
|
||||
(be_nested_const_str("add_cmd", -933336417, 7)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0xB80E0000, // 0000 GETNGBL R3 K0
|
||||
0x8C0C0701, // 0001 GETMET R3 R3 K1
|
||||
|
|
|
@ -53,8 +53,8 @@ be_local_closure(init, /* name */
|
|||
/* K2 */ be_nested_string("energy_struct", 1655792843, 13),
|
||||
/* K3 */ be_nested_string("_ptr", 306235816, 4),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xB80A0400, // 0001 GETNGBL R2 K2
|
||||
|
@ -86,7 +86,7 @@ be_local_closure(read, /* name */
|
|||
/* K1 */ be_nested_string("tomap", 612167626, 5),
|
||||
}),
|
||||
(be_nested_const_str("<anonymous>", 1160973142, 11)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0xB8020000, // 0000 GETNGBL R0 K0
|
||||
0x8C000101, // 0001 GETMET R0 R0 K1
|
||||
|
@ -114,7 +114,7 @@ be_local_closure(member, /* name */
|
|||
/* K0 */ be_nested_string("_energy", 535372070, 7),
|
||||
}),
|
||||
(be_nested_const_str("member", 719708611, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 3]) { /* code */
|
||||
0xB8060000, // 0000 GETNGBL R1 K0
|
||||
0x88040200, // 0001 GETMBR R1 R1 R0
|
||||
|
@ -142,7 +142,7 @@ be_local_closure(setmember, /* name */
|
|||
/* K0 */ be_nested_string("_energy", 535372070, 7),
|
||||
}),
|
||||
(be_nested_const_str("setmember", 1432909441, 9)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 3]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x90080001, // 0001 SETMBR R2 R0 R1
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
// Tasmota specific
|
||||
|
||||
extern int gp_member(bvm *vm);
|
||||
extern int gp_pin_mode(bvm *vm);
|
||||
extern int gp_digital_write(bvm *vm);
|
||||
extern int gp_digital_read(bvm *vm);
|
||||
|
@ -19,275 +20,7 @@ extern int gp_pin(bvm *vm);
|
|||
|
||||
/* @const_object_info_begin
|
||||
module gpio (scope: global) {
|
||||
LOW, int(0)
|
||||
HIGH, int(1)
|
||||
|
||||
INPUT, int(1)
|
||||
OUTPUT, int(2)
|
||||
PULLUP, int(4)
|
||||
INPUT_PULLUP, int(5)
|
||||
PULLDOWN, int(8)
|
||||
INPUT_PULLDOWN, int(9)
|
||||
OPEN_DRAIN, int(16)
|
||||
OUTPUT_OPEN_DRAIN, int(18)
|
||||
DAC, int(-1)
|
||||
|
||||
RISING, int(1)
|
||||
FALLING, int(2)
|
||||
CHANGE, int(4)
|
||||
|
||||
NONE, int(0)
|
||||
KEY1, int(1)
|
||||
KEY1_NP, int(2)
|
||||
KEY1_INV, int(3)
|
||||
KEY1_INV_NP, int(4)
|
||||
SWT1, int(5)
|
||||
SWT1_NP, int(6)
|
||||
REL1, int(7)
|
||||
REL1_INV, int(8)
|
||||
LED1, int(9)
|
||||
LED1_INV, int(10)
|
||||
CNTR1, int(11)
|
||||
CNTR1_NP, int(12)
|
||||
PWM1, int(13)
|
||||
PWM1_INV, int(14)
|
||||
BUZZER, int(15)
|
||||
BUZZER_INV, int(16)
|
||||
LEDLNK, int(17)
|
||||
LEDLNK_INV, int(18)
|
||||
I2C_SCL, int(19)
|
||||
I2C_SDA, int(20)
|
||||
SPI_MISO, int(21)
|
||||
SPI_MOSI, int(22)
|
||||
SPI_CLK, int(23)
|
||||
SPI_CS, int(24)
|
||||
SPI_DC, int(25)
|
||||
SSPI_MISO, int(26)
|
||||
SSPI_MOSI, int(27)
|
||||
SSPI_SCLK, int(28)
|
||||
SSPI_CS, int(29)
|
||||
SSPI_DC, int(30)
|
||||
BACKLIGHT, int(31)
|
||||
OLED_RESET, int(32)
|
||||
IRSEND, int(33)
|
||||
IRRECV, int(34)
|
||||
RFSEND, int(35)
|
||||
RFRECV, int(36)
|
||||
DHT11, int(37)
|
||||
DHT22, int(38)
|
||||
SI7021, int(39)
|
||||
DHT11_OUT, int(40)
|
||||
DSB, int(41)
|
||||
DSB_OUT, int(42)
|
||||
WS2812, int(43)
|
||||
MHZ_TXD, int(44)
|
||||
MHZ_RXD, int(45)
|
||||
PZEM0XX_TX, int(46)
|
||||
PZEM004_RX, int(47)
|
||||
PZEM016_RX, int(48)
|
||||
PZEM017_RX, int(49)
|
||||
SAIR_TX, int(50)
|
||||
SAIR_RX, int(51)
|
||||
PMS5003_TX, int(52)
|
||||
PMS5003_RX, int(53)
|
||||
SDS0X1_TX, int(54)
|
||||
SDS0X1_RX, int(55)
|
||||
SBR_TX, int(56)
|
||||
SBR_RX, int(57)
|
||||
SR04_TRIG, int(58)
|
||||
SR04_ECHO, int(59)
|
||||
SDM120_TX, int(60)
|
||||
SDM120_RX, int(61)
|
||||
SDM630_TX, int(62)
|
||||
SDM630_RX, int(63)
|
||||
TM1638CLK, int(64)
|
||||
TM1638DIO, int(65)
|
||||
TM1638STB, int(66)
|
||||
MP3_DFR562, int(67)
|
||||
HX711_SCK, int(68)
|
||||
HX711_DAT, int(69)
|
||||
TX2X_TXD_BLACK, int(70)
|
||||
TUYA_TX, int(71)
|
||||
TUYA_RX, int(72)
|
||||
MGC3130_XFER, int(73)
|
||||
MGC3130_RESET, int(74)
|
||||
RF_SENSOR, int(75)
|
||||
AZ_TXD, int(76)
|
||||
AZ_RXD, int(77)
|
||||
MAX31855CS, int(78)
|
||||
MAX31855CLK, int(79)
|
||||
MAX31855DO, int(80)
|
||||
NRG_SEL, int(81)
|
||||
NRG_SEL_INV, int(82)
|
||||
NRG_CF1, int(83)
|
||||
HLW_CF, int(84)
|
||||
HJL_CF, int(85)
|
||||
MCP39F5_TX, int(86)
|
||||
MCP39F5_RX, int(87)
|
||||
MCP39F5_RST, int(88)
|
||||
PN532_TXD, int(89)
|
||||
PN532_RXD, int(90)
|
||||
SM16716_CLK, int(91)
|
||||
SM16716_DAT, int(92)
|
||||
SM16716_SEL, int(93)
|
||||
DI, int(94)
|
||||
DCKI, int(95)
|
||||
CSE7766_TX, int(96)
|
||||
CSE7766_RX, int(97)
|
||||
ARIRFRCV, int(98)
|
||||
ARIRFSEL, int(99)
|
||||
TXD, int(100)
|
||||
RXD, int(101)
|
||||
ROT1A, int(102)
|
||||
ROT1B, int(103)
|
||||
ADC_JOY, int(104)
|
||||
SSPI_MAX31865_CS1, int(105)
|
||||
HRE_CLOCK, int(106)
|
||||
HRE_DATA, int(107)
|
||||
ADE7953_IRQ, int(108)
|
||||
SOLAXX1_TX, int(109)
|
||||
SOLAXX1_RX, int(110)
|
||||
ZIGBEE_TX, int(111)
|
||||
ZIGBEE_RX, int(112)
|
||||
RDM6300_RX, int(113)
|
||||
IBEACON_TX, int(114)
|
||||
IBEACON_RX, int(115)
|
||||
A4988_DIR, int(116)
|
||||
A4988_STP, int(117)
|
||||
A4988_ENA, int(118)
|
||||
A4988_MS1, int(119)
|
||||
OUTPUT_HI, int(120)
|
||||
OUTPUT_LO, int(121)
|
||||
DDS2382_TX, int(122)
|
||||
DDS2382_RX, int(123)
|
||||
DDSU666_TX, int(124)
|
||||
DDSU666_RX, int(125)
|
||||
SM2135_CLK, int(126)
|
||||
SM2135_DAT, int(127)
|
||||
DEEPSLEEP, int(128)
|
||||
EXS_ENABLE, int(129)
|
||||
TASMOTACLIENT_TXD, int(130)
|
||||
TASMOTACLIENT_RXD, int(131)
|
||||
TASMOTACLIENT_RST, int(132)
|
||||
TASMOTACLIENT_RST_INV, int(133)
|
||||
HPMA_RX, int(134)
|
||||
HPMA_TX, int(135)
|
||||
GPS_RX, int(136)
|
||||
GPS_TX, int(137)
|
||||
HM10_RX, int(138)
|
||||
HM10_TX, int(139)
|
||||
LE01MR_RX, int(140)
|
||||
LE01MR_TX, int(141)
|
||||
CC1101_GDO0, int(142)
|
||||
CC1101_GDO2, int(143)
|
||||
HRXL_RX, int(144)
|
||||
ELECTRIQ_MOODL_TX, int(145)
|
||||
AS3935, int(146)
|
||||
ADC_INPUT, int(147)
|
||||
ADC_TEMP, int(148)
|
||||
ADC_LIGHT, int(149)
|
||||
ADC_BUTTON, int(150)
|
||||
ADC_BUTTON_INV, int(151)
|
||||
ADC_RANGE, int(152)
|
||||
ADC_CT_POWER, int(153)
|
||||
WEBCAM_PWDN, int(154)
|
||||
WEBCAM_RESET, int(155)
|
||||
WEBCAM_XCLK, int(156)
|
||||
WEBCAM_SIOD, int(157)
|
||||
WEBCAM_SIOC, int(158)
|
||||
WEBCAM_DATA, int(159)
|
||||
WEBCAM_VSYNC, int(160)
|
||||
WEBCAM_HREF, int(161)
|
||||
WEBCAM_PCLK, int(162)
|
||||
WEBCAM_PSCLK, int(163)
|
||||
WEBCAM_HSD, int(164)
|
||||
WEBCAM_PSRCS, int(165)
|
||||
BOILER_OT_RX, int(166)
|
||||
BOILER_OT_TX, int(167)
|
||||
WINDMETER_SPEED, int(168)
|
||||
KEY1_TC, int(169)
|
||||
BL0940_RX, int(170)
|
||||
TCP_TX, int(171)
|
||||
TCP_RX, int(172)
|
||||
ETH_PHY_POWER, int(173)
|
||||
ETH_PHY_MDC, int(174)
|
||||
ETH_PHY_MDIO, int(175)
|
||||
TELEINFO_RX, int(176)
|
||||
TELEINFO_ENABLE, int(177)
|
||||
LMT01, int(178)
|
||||
IEM3000_TX, int(179)
|
||||
IEM3000_RX, int(180)
|
||||
ZIGBEE_RST, int(181)
|
||||
DYP_RX, int(182)
|
||||
MIEL_HVAC_TX, int(183)
|
||||
MIEL_HVAC_RX, int(184)
|
||||
WE517_TX, int(185)
|
||||
WE517_RX, int(186)
|
||||
AS608_TX, int(187)
|
||||
AS608_RX, int(188)
|
||||
SHELLY_DIMMER_BOOT0, int(189)
|
||||
SHELLY_DIMMER_RST_INV, int(190)
|
||||
RC522_RST, int(191)
|
||||
P9813_CLK, int(192)
|
||||
P9813_DAT, int(193)
|
||||
OPTION_A, int(194)
|
||||
FTC532, int(195)
|
||||
RC522_CS, int(196)
|
||||
NRF24_CS, int(197)
|
||||
NRF24_DC, int(198)
|
||||
ILI9341_CS, int(199)
|
||||
ILI9341_DC, int(200)
|
||||
ILI9488_CS, int(201)
|
||||
EPAPER29_CS, int(202)
|
||||
EPAPER42_CS, int(203)
|
||||
SSD1351_CS, int(204)
|
||||
RA8876_CS, int(205)
|
||||
ST7789_CS, int(206)
|
||||
ST7789_DC, int(207)
|
||||
SSD1331_CS, int(208)
|
||||
SSD1331_DC, int(209)
|
||||
SDCARD_CS, int(210)
|
||||
ROT1A_NP, int(211)
|
||||
ROT1B_NP, int(212)
|
||||
ADC_PH, int(213)
|
||||
BS814_CLK, int(214)
|
||||
BS814_DAT, int(215)
|
||||
WIEGAND_D0, int(216)
|
||||
WIEGAND_D1, int(217)
|
||||
NEOPOOL_TX, int(218)
|
||||
NEOPOOL_RX, int(219)
|
||||
SDM72_TX, int(220)
|
||||
SDM72_RX, int(221)
|
||||
TM1637CLK, int(222)
|
||||
TM1637DIO, int(223)
|
||||
PROJECTOR_CTRL_TX, int(224)
|
||||
PROJECTOR_CTRL_RX, int(225)
|
||||
SSD1351_DC, int(226)
|
||||
XPT2046_CS, int(227)
|
||||
CSE7761_TX, int(228)
|
||||
CSE7761_RX, int(229)
|
||||
VL53L0X_XSHUT1, int(230)
|
||||
MAX7219CLK, int(231)
|
||||
MAX7219DIN, int(232)
|
||||
MAX7219CS, int(233)
|
||||
TFMINIPLUS_TX, int(234)
|
||||
TFMINIPLUS_RX, int(235)
|
||||
ZEROCROSS, int(236)
|
||||
HALLEFFECT, int(237)
|
||||
EPD_DATA, int(238)
|
||||
INPUT, int(239)
|
||||
KEY1_PD, int(240)
|
||||
KEY1_INV_PD, int(241)
|
||||
SWT1_PD, int(242)
|
||||
I2S_OUT_DATA, int(243)
|
||||
I2S_OUT_CLK, int(244)
|
||||
I2S_OUT_SLCT, int(245)
|
||||
I2S_IN_DATA, int(246)
|
||||
I2S_IN_CLK, int(247)
|
||||
I2S_IN_SLCT, int(248)
|
||||
INTERRUPT, int(249)
|
||||
|
||||
SENSOR_END, int(250)
|
||||
member, func(gp_member)
|
||||
|
||||
pin_mode, func(gp_pin_mode)
|
||||
digital_write, func(gp_digital_write)
|
||||
|
|
|
@ -21,7 +21,7 @@ be_local_closure(get_warning_level, /* name */
|
|||
/* K1 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("get_warning_level", 1737834441, 17)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0046, // 0001 LDINT R3 71
|
||||
|
@ -52,7 +52,7 @@ be_local_closure(get_vbus_current, /* name */
|
|||
/* K1 */ be_const_real_hex(0x3EC00000),
|
||||
}),
|
||||
(be_nested_const_str("get_vbus_current", 1205347942, 16)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E005B, // 0001 LDINT R3 92
|
||||
|
@ -83,7 +83,7 @@ be_local_closure(set_chg_current, /* name */
|
|||
/* K1 */ be_nested_string("read8", -1492179129, 5),
|
||||
}),
|
||||
(be_nested_const_str("set_chg_current", 336304386, 15)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||
0x54120032, // 0001 LDINT R4 51
|
||||
|
@ -121,7 +121,7 @@ be_local_closure(get_bat_current, /* name */
|
|||
/* K1 */ be_const_real_hex(0x3F000000),
|
||||
}),
|
||||
(be_nested_const_str("get_bat_current", 1912106073, 15)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 9]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0079, // 0001 LDINT R3 122
|
||||
|
@ -156,7 +156,7 @@ be_local_closure(get_bat_power, /* name */
|
|||
/* K1 */ be_const_real_hex(0x3A102DE1),
|
||||
}),
|
||||
(be_nested_const_str("get_bat_power", -1227592443, 13)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E006F, // 0001 LDINT R3 112
|
||||
|
@ -186,7 +186,7 @@ be_local_closure(json_append, /* name */
|
|||
/* K0 */ be_nested_string("wire", -212213352, 4),
|
||||
}),
|
||||
(be_nested_const_str("json_append", -1292948012, 11)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x74060001, // 0001 JMPT R1 #0004
|
||||
|
@ -217,7 +217,7 @@ be_local_closure(get_vbus_voltage, /* name */
|
|||
/* K1 */ be_const_real_hex(0x3ADED28A),
|
||||
}),
|
||||
(be_nested_const_str("get_vbus_voltage", -1896756895, 16)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0059, // 0001 LDINT R3 90
|
||||
|
@ -249,7 +249,7 @@ be_local_closure(get_temp, /* name */
|
|||
/* K2 */ be_const_real_hex(0x4310B333),
|
||||
}),
|
||||
(be_nested_const_str("get_temp", -924047810, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E005D, // 0001 LDINT R3 94
|
||||
|
@ -283,7 +283,7 @@ be_local_closure(battery_present, /* name */
|
|||
/* K3 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("battery_present", -706570238, 15)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[15]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
|
@ -324,7 +324,7 @@ be_local_closure(get_aps_voltage, /* name */
|
|||
/* K1 */ be_const_real_hex(0x3AB78035),
|
||||
}),
|
||||
(be_nested_const_str("get_aps_voltage", -2001930861, 15)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E007D, // 0001 LDINT R3 126
|
||||
|
@ -358,7 +358,7 @@ be_local_closure(set_dcdc_enable, /* name */
|
|||
/* K4 */ be_const_int(3),
|
||||
}),
|
||||
(be_nested_const_str("set_dcdc_enable", 1594690786, 15)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[22]) { /* code */
|
||||
0x1C0C0300, // 0000 EQ R3 R1 K0
|
||||
0x780E0004, // 0001 JMPF R3 #0007
|
||||
|
@ -408,7 +408,7 @@ be_local_closure(set_ldo_voltage, /* name */
|
|||
/* K3 */ be_const_int(3),
|
||||
}),
|
||||
(be_nested_const_str("set_ldo_voltage", -204466136, 15)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[39]) { /* code */
|
||||
0x540E0CE3, // 0000 LDINT R3 3300
|
||||
0x240C0403, // 0001 GT R3 R2 R3
|
||||
|
@ -473,8 +473,8 @@ be_local_closure(init, /* name */
|
|||
/* K1 */ be_nested_string("init", 380752755, 4),
|
||||
/* K2 */ be_nested_string("AXP192", 757230128, 6),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 9]) { /* code */
|
||||
0x60040003, // 0000 GETGBL R1 G3
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
|
@ -509,7 +509,7 @@ be_local_closure(get_bat_voltage, /* name */
|
|||
/* K1 */ be_const_real_hex(0x3A902DE0),
|
||||
}),
|
||||
(be_nested_const_str("get_bat_voltage", 706676538, 15)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0077, // 0001 LDINT R3 120
|
||||
|
@ -541,7 +541,7 @@ be_local_closure(set_ldo_enable, /* name */
|
|||
/* K2 */ be_const_int(3),
|
||||
}),
|
||||
(be_nested_const_str("set_ldo_enable", -1378465255, 14)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[15]) { /* code */
|
||||
0x1C0C0300, // 0000 EQ R3 R1 K0
|
||||
0x780E0004, // 0001 JMPF R3 #0007
|
||||
|
@ -586,7 +586,7 @@ be_local_closure(set_dc_voltage, /* name */
|
|||
/* K5 */ be_nested_string("read8", -1492179129, 5),
|
||||
}),
|
||||
(be_nested_const_str("set_dc_voltage", -2112985360, 14)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[48]) { /* code */
|
||||
0x140C0300, // 0000 LT R3 R1 K0
|
||||
0x740E0001, // 0001 JMPT R3 #0004
|
||||
|
@ -662,7 +662,7 @@ be_local_closure(write_gpio, /* name */
|
|||
/* K3 */ be_const_int(3),
|
||||
}),
|
||||
(be_nested_const_str("write_gpio", -2027026962, 10)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0x280C0300, // 0000 GE R3 R1 K0
|
||||
0x780E0007, // 0001 JMPF R3 #000A
|
||||
|
@ -721,7 +721,7 @@ be_local_closure(web_sensor, /* name */
|
|||
/* K13 */ be_nested_string("web_send_decimal", 1407210204, 16),
|
||||
}),
|
||||
(be_nested_const_str("web_sensor", -1394870324, 10)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[26]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x74060001, // 0001 JMPT R1 #0004
|
||||
|
@ -773,7 +773,7 @@ be_local_closure(get_bat_charge_current, /* name */
|
|||
/* K1 */ be_const_real_hex(0x3F000000),
|
||||
}),
|
||||
(be_nested_const_str("get_bat_charge_current", 1385293050, 22)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x540E0079, // 0001 LDINT R3 122
|
||||
|
@ -806,7 +806,7 @@ be_local_closure(get_battery_chargin_status, /* name */
|
|||
/* K3 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("get_battery_chargin_status", -2061725725, 26)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
|
@ -842,7 +842,7 @@ be_local_closure(get_input_power_status, /* name */
|
|||
/* K4 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("get_input_power_status", -192138119, 22)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
|
|
|
@ -34,7 +34,7 @@ be_local_closure(read32, /* name */
|
|||
/* K6 */ be_const_int(3),
|
||||
}),
|
||||
(be_nested_const_str("read32", 1741276240, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
|
@ -82,7 +82,7 @@ be_local_closure(write8, /* name */
|
|||
/* K3 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("write8", -1160975764, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 8]) { /* code */
|
||||
0x880C0100, // 0000 GETMBR R3 R0 K0
|
||||
0x8C0C0701, // 0001 GETMET R3 R3 K1
|
||||
|
@ -120,7 +120,7 @@ be_local_closure(read12, /* name */
|
|||
/* K5 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("read12", -3890326, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
|
@ -160,7 +160,7 @@ be_local_closure(write_bit, /* name */
|
|||
/* K3 */ be_nested_string("read8", -1492179129, 5),
|
||||
}),
|
||||
(be_nested_const_str("write_bit", -1633976860, 9)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[26]) { /* code */
|
||||
0x14100500, // 0000 LT R4 R2 K0
|
||||
0x74120002, // 0001 JMPT R4 #0005
|
||||
|
@ -217,7 +217,7 @@ be_local_closure(read24, /* name */
|
|||
/* K6 */ be_const_int(2),
|
||||
}),
|
||||
(be_nested_const_str("read24", 1808533811, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[16]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
|
@ -261,7 +261,7 @@ be_local_closure(read8, /* name */
|
|||
/* K3 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("read8", -1492179129, 5)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
|
@ -301,8 +301,8 @@ be_local_closure(init, /* name */
|
|||
/* K8 */ be_nested_string("detected on bus", 1432002650, 15),
|
||||
/* K9 */ be_nested_string("bus", 1607822841, 3),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[44]) { /* code */
|
||||
0x8C100100, // 0000 GETMET R4 R0 K0
|
||||
0x7C100200, // 0001 CALL R4 1
|
||||
|
@ -376,7 +376,7 @@ be_local_closure(read13, /* name */
|
|||
/* K5 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("read13", 12887293, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
|
|
|
@ -33,7 +33,7 @@ be_local_closure(set_time, /* name */
|
|||
/* K9 */ be_nested_string("set_text", 1849641155, 8),
|
||||
}),
|
||||
(be_nested_const_str("set_time", 900236405, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[27]) { /* code */
|
||||
0xA4120000, // 0000 IMPORT R4 K0
|
||||
0x88140101, // 0001 GETMBR R5 R0 K1
|
||||
|
@ -93,7 +93,7 @@ be_local_closure(every_second, /* name */
|
|||
/* K8 */ be_nested_string("sec", -1155074638, 3),
|
||||
}),
|
||||
(be_nested_const_str("every_second", 2075451465, 12)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0xB8060000, // 0000 GETNGBL R1 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
|
@ -123,8 +123,8 @@ be_local_closure(every_second, /* name */
|
|||
********************************************************************/
|
||||
be_local_closure(init, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
3, /* argc */
|
||||
11, /* nstack */
|
||||
2, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
|
@ -150,95 +150,95 @@ be_local_closure(init, /* name */
|
|||
/* K15 */ be_const_int(3),
|
||||
/* K16 */ be_nested_string("set_style_pad_right", -980898242, 19),
|
||||
/* K17 */ be_nested_string("set_style_bg_color", 1689513089, 18),
|
||||
/* K18 */ be_nested_string("lv_color", 1419148319, 8),
|
||||
/* K18 */ be_nested_string("color", 1031692888, 5),
|
||||
/* K19 */ be_nested_string("COLOR_BLACK", 264427940, 11),
|
||||
/* K20 */ be_nested_string("tasmota", 424643812, 7),
|
||||
/* K21 */ be_nested_string("add_driver", 1654458371, 10),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[82]) { /* code */
|
||||
0x600C0003, // 0000 GETGBL R3 G3
|
||||
0x5C100000, // 0001 MOVE R4 R0
|
||||
0x7C0C0200, // 0002 CALL R3 1
|
||||
0x8C0C0700, // 0003 GETMET R3 R3 K0
|
||||
0x5C140200, // 0004 MOVE R5 R1
|
||||
0x5C180400, // 0005 MOVE R6 R2
|
||||
0x7C0C0600, // 0006 CALL R3 3
|
||||
0xB80E0200, // 0007 GETNGBL R3 K1
|
||||
0x8C0C0702, // 0008 GETMET R3 R3 K2
|
||||
0x5416000F, // 0009 LDINT R5 16
|
||||
0x7C0C0400, // 000A CALL R3 2
|
||||
0x4C100000, // 000B LDNIL R4
|
||||
0x20100604, // 000C NE R4 R3 R4
|
||||
0x78120007, // 000D JMPF R4 #0016
|
||||
0x8C100103, // 000E GETMET R4 R0 K3
|
||||
0x5C180600, // 000F MOVE R6 R3
|
||||
0xB81E0200, // 0010 GETNGBL R7 K1
|
||||
0x881C0F04, // 0011 GETMBR R7 R7 K4
|
||||
0xB8220200, // 0012 GETNGBL R8 K1
|
||||
0x88201105, // 0013 GETMBR R8 R8 K5
|
||||
0x301C0E08, // 0014 OR R7 R7 R8
|
||||
0x7C100600, // 0015 CALL R4 3
|
||||
0x4C100000, // 0016 LDNIL R4
|
||||
0x20100204, // 0017 NE R4 R1 R4
|
||||
0x78120033, // 0018 JMPF R4 #004D
|
||||
0x8C100306, // 0019 GETMET R4 R1 K6
|
||||
0x7C100200, // 001A CALL R4 1
|
||||
0x8C140107, // 001B GETMET R5 R0 K7
|
||||
0x581C0008, // 001C LDCONST R7 K8
|
||||
0x7C140400, // 001D CALL R5 2
|
||||
0x8C140109, // 001E GETMET R5 R0 K9
|
||||
0x7C140200, // 001F CALL R5 1
|
||||
0x8C14010A, // 0020 GETMET R5 R0 K10
|
||||
0x7C140200, // 0021 CALL R5 1
|
||||
0x8C18010B, // 0022 GETMET R6 R0 K11
|
||||
0x8C200306, // 0023 GETMET R8 R1 K6
|
||||
0x7C200200, // 0024 CALL R8 1
|
||||
0x8C240106, // 0025 GETMET R9 R0 K6
|
||||
0x7C240200, // 0026 CALL R9 1
|
||||
0x04201009, // 0027 SUB R8 R8 R9
|
||||
0x0C20110C, // 0028 DIV R8 R8 K12
|
||||
0x7C180400, // 0029 CALL R6 2
|
||||
0x8C18030D, // 002A GETMET R6 R1 K13
|
||||
0xB8220200, // 002B GETNGBL R8 K1
|
||||
0x88201104, // 002C GETMBR R8 R8 K4
|
||||
0xB8260200, // 002D GETNGBL R9 K1
|
||||
0x88241305, // 002E GETMBR R9 R9 K5
|
||||
0x30201009, // 002F OR R8 R8 R9
|
||||
0x7C180400, // 0030 CALL R6 2
|
||||
0x8C1C010E, // 0031 GETMET R7 R0 K14
|
||||
0x8C24030A, // 0032 GETMET R9 R1 K10
|
||||
0x7C240200, // 0033 CALL R9 1
|
||||
0x04241205, // 0034 SUB R9 R9 R5
|
||||
0x04241206, // 0035 SUB R9 R9 R6
|
||||
0x0424130F, // 0036 SUB R9 R9 K15
|
||||
0x7C1C0400, // 0037 CALL R7 2
|
||||
0x8C1C0310, // 0038 GETMET R7 R1 K16
|
||||
0x00240C05, // 0039 ADD R9 R6 R5
|
||||
0x542A0005, // 003A LDINT R10 6
|
||||
0x0024120A, // 003B ADD R9 R9 R10
|
||||
0xB82A0200, // 003C GETNGBL R10 K1
|
||||
0x88281504, // 003D GETMBR R10 R10 K4
|
||||
0xB82E0200, // 003E GETNGBL R11 K1
|
||||
0x882C1705, // 003F GETMBR R11 R11 K5
|
||||
0x3028140B, // 0040 OR R10 R10 R11
|
||||
0x7C1C0600, // 0041 CALL R7 3
|
||||
0x8C1C0111, // 0042 GETMET R7 R0 K17
|
||||
0xB8262400, // 0043 GETNGBL R9 K18
|
||||
0x60080003, // 0000 GETGBL R2 G3
|
||||
0x5C0C0000, // 0001 MOVE R3 R0
|
||||
0x7C080200, // 0002 CALL R2 1
|
||||
0x8C080500, // 0003 GETMET R2 R2 K0
|
||||
0x5C100200, // 0004 MOVE R4 R1
|
||||
0x7C080400, // 0005 CALL R2 2
|
||||
0xB80A0200, // 0006 GETNGBL R2 K1
|
||||
0x8C080502, // 0007 GETMET R2 R2 K2
|
||||
0x5412000F, // 0008 LDINT R4 16
|
||||
0x7C080400, // 0009 CALL R2 2
|
||||
0x4C0C0000, // 000A LDNIL R3
|
||||
0x200C0403, // 000B NE R3 R2 R3
|
||||
0x780E0007, // 000C JMPF R3 #0015
|
||||
0x8C0C0103, // 000D GETMET R3 R0 K3
|
||||
0x5C140400, // 000E MOVE R5 R2
|
||||
0xB81A0200, // 000F GETNGBL R6 K1
|
||||
0x88180D04, // 0010 GETMBR R6 R6 K4
|
||||
0xB81E0200, // 0011 GETNGBL R7 K1
|
||||
0x881C0F05, // 0012 GETMBR R7 R7 K5
|
||||
0x30180C07, // 0013 OR R6 R6 R7
|
||||
0x7C0C0600, // 0014 CALL R3 3
|
||||
0x4C0C0000, // 0015 LDNIL R3
|
||||
0x200C0203, // 0016 NE R3 R1 R3
|
||||
0x780E0034, // 0017 JMPF R3 #004D
|
||||
0x8C0C0306, // 0018 GETMET R3 R1 K6
|
||||
0x7C0C0200, // 0019 CALL R3 1
|
||||
0x8C100107, // 001A GETMET R4 R0 K7
|
||||
0x58180008, // 001B LDCONST R6 K8
|
||||
0x7C100400, // 001C CALL R4 2
|
||||
0x8C100109, // 001D GETMET R4 R0 K9
|
||||
0x7C100200, // 001E CALL R4 1
|
||||
0x8C10010A, // 001F GETMET R4 R0 K10
|
||||
0x7C100200, // 0020 CALL R4 1
|
||||
0x8C14010B, // 0021 GETMET R5 R0 K11
|
||||
0x8C1C0306, // 0022 GETMET R7 R1 K6
|
||||
0x7C1C0200, // 0023 CALL R7 1
|
||||
0x8C200106, // 0024 GETMET R8 R0 K6
|
||||
0x7C200200, // 0025 CALL R8 1
|
||||
0x041C0E08, // 0026 SUB R7 R7 R8
|
||||
0x0C1C0F0C, // 0027 DIV R7 R7 K12
|
||||
0x7C140400, // 0028 CALL R5 2
|
||||
0x8C14030D, // 0029 GETMET R5 R1 K13
|
||||
0xB81E0200, // 002A GETNGBL R7 K1
|
||||
0x881C0F04, // 002B GETMBR R7 R7 K4
|
||||
0xB8220200, // 002C GETNGBL R8 K1
|
||||
0x88201105, // 002D GETMBR R8 R8 K5
|
||||
0x301C0E08, // 002E OR R7 R7 R8
|
||||
0x7C140400, // 002F CALL R5 2
|
||||
0x8C18010E, // 0030 GETMET R6 R0 K14
|
||||
0x8C20030A, // 0031 GETMET R8 R1 K10
|
||||
0x7C200200, // 0032 CALL R8 1
|
||||
0x04201004, // 0033 SUB R8 R8 R4
|
||||
0x04201005, // 0034 SUB R8 R8 R5
|
||||
0x0420110F, // 0035 SUB R8 R8 K15
|
||||
0x7C180400, // 0036 CALL R6 2
|
||||
0x8C180310, // 0037 GETMET R6 R1 K16
|
||||
0x00200A04, // 0038 ADD R8 R5 R4
|
||||
0x54260005, // 0039 LDINT R9 6
|
||||
0x00201009, // 003A ADD R8 R8 R9
|
||||
0xB8260200, // 003B GETNGBL R9 K1
|
||||
0x88241304, // 003C GETMBR R9 R9 K4
|
||||
0xB82A0200, // 003D GETNGBL R10 K1
|
||||
0x88281505, // 003E GETMBR R10 R10 K5
|
||||
0x3024120A, // 003F OR R9 R9 R10
|
||||
0x7C180600, // 0040 CALL R6 3
|
||||
0x8C180111, // 0041 GETMET R6 R0 K17
|
||||
0xB8220200, // 0042 GETNGBL R8 K1
|
||||
0x8C201112, // 0043 GETMET R8 R8 K18
|
||||
0xB82A0200, // 0044 GETNGBL R10 K1
|
||||
0x88281513, // 0045 GETMBR R10 R10 K19
|
||||
0x7C240200, // 0046 CALL R9 1
|
||||
0xB82A0200, // 0047 GETNGBL R10 K1
|
||||
0x88281504, // 0048 GETMBR R10 R10 K4
|
||||
0xB82E0200, // 0049 GETNGBL R11 K1
|
||||
0x882C1705, // 004A GETMBR R11 R11 K5
|
||||
0x3028140B, // 004B OR R10 R10 R11
|
||||
0x7C1C0600, // 004C CALL R7 3
|
||||
0xB8122800, // 004D GETNGBL R4 K20
|
||||
0x8C100915, // 004E GETMET R4 R4 K21
|
||||
0x5C180000, // 004F MOVE R6 R0
|
||||
0x7C100400, // 0050 CALL R4 2
|
||||
0x7C200400, // 0046 CALL R8 2
|
||||
0xB8260200, // 0047 GETNGBL R9 K1
|
||||
0x88241304, // 0048 GETMBR R9 R9 K4
|
||||
0xB82A0200, // 0049 GETNGBL R10 K1
|
||||
0x88281505, // 004A GETMBR R10 R10 K5
|
||||
0x3024120A, // 004B OR R9 R9 R10
|
||||
0x7C180600, // 004C CALL R6 3
|
||||
0xB80E2800, // 004D GETNGBL R3 K20
|
||||
0x8C0C0715, // 004E GETMET R3 R3 K21
|
||||
0x5C140000, // 004F MOVE R5 R0
|
||||
0x7C0C0400, // 0050 CALL R3 2
|
||||
0x80000000, // 0051 RET 0
|
||||
})
|
||||
)
|
||||
|
@ -265,7 +265,7 @@ be_local_closure(del, /* name */
|
|||
/* K2 */ be_nested_string("remove_driver", 1030243768, 13),
|
||||
}),
|
||||
(be_nested_const_str("del", -816214454, 3)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x60040003, // 0000 GETGBL R1 G3
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
/********************************************************************
|
||||
* Tasmota LVGL Font class
|
||||
*******************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
#ifdef USE_LVGL
|
||||
|
||||
#include "lvgl.h"
|
||||
|
||||
extern int lco_init(bvm *vm); // generic function
|
||||
extern int lco_tostring(bvm *vm); // generic function
|
||||
extern int lco_toint(bvm *vm); // generic function
|
||||
|
||||
|
||||
#include "../generate/be_fixed_be_class_lv_color.h"
|
||||
|
||||
void be_load_lvgl_color_lib(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_lv_color);
|
||||
be_setglobal(vm, "lv_color");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
|
||||
/* @const_object_info_begin
|
||||
class be_class_lv_color (scope: global, name: lv_color) {
|
||||
_p, var
|
||||
init, func(lco_init)
|
||||
tostring, func(lco_tostring)
|
||||
toint, func(lco_toint)
|
||||
}
|
||||
@const_object_info_end */
|
||||
|
||||
#endif // USE_LVGL
|
|
@ -6,6 +6,7 @@
|
|||
#ifdef USE_LVGL
|
||||
|
||||
#include "lvgl.h"
|
||||
#include "be_lvgl.h"
|
||||
|
||||
/********************************************************************
|
||||
* Generated code, don't edit
|
||||
|
@ -494,6 +495,37 @@ void be_load_ctypes_lvgl_definitions_lib(bvm *vm) {
|
|||
ctypes_register_class(vm, &be_class_lv_point, &be_lv_point);
|
||||
ctypes_register_class(vm, &be_class_lv_sqrt_res, &be_lv_sqrt_res);
|
||||
}
|
||||
|
||||
be_ctypes_class_by_name_t be_ctypes_lvgl_classes[] = {
|
||||
{ "lv_area", &be_class_lv_area },
|
||||
{ "lv_draw_img_dsc", &be_class_lv_draw_img_dsc },
|
||||
{ "lv_draw_line_dsc", &be_class_lv_draw_line_dsc },
|
||||
{ "lv_draw_mask_angle_param", &be_class_lv_draw_mask_angle_param },
|
||||
{ "lv_draw_mask_angle_param_cfg", &be_class_lv_draw_mask_angle_param_cfg },
|
||||
{ "lv_draw_mask_common_dsc", &be_class_lv_draw_mask_common_dsc },
|
||||
{ "lv_draw_mask_fade_param", &be_class_lv_draw_mask_fade_param },
|
||||
{ "lv_draw_mask_fade_param_cfg", &be_class_lv_draw_mask_fade_param_cfg },
|
||||
{ "lv_draw_mask_line_param", &be_class_lv_draw_mask_line_param },
|
||||
{ "lv_draw_mask_line_param_cfg", &be_class_lv_draw_mask_line_param_cfg },
|
||||
{ "lv_draw_mask_map_param", &be_class_lv_draw_mask_map_param },
|
||||
{ "lv_draw_mask_map_param_cfg", &be_class_lv_draw_mask_map_param_cfg },
|
||||
{ "lv_draw_mask_radius_param", &be_class_lv_draw_mask_radius_param },
|
||||
{ "lv_draw_mask_radius_param_cfg", &be_class_lv_draw_mask_radius_param_cfg },
|
||||
{ "lv_draw_mask_saved", &be_class_lv_draw_mask_saved },
|
||||
{ "lv_draw_rect_dsc", &be_class_lv_draw_rect_dsc },
|
||||
{ "lv_event", &be_class_lv_event },
|
||||
{ "lv_meter_indicator", &be_class_lv_meter_indicator },
|
||||
{ "lv_meter_indicator_arc", &be_class_lv_meter_indicator_arc },
|
||||
{ "lv_meter_indicator_needle_img", &be_class_lv_meter_indicator_needle_img },
|
||||
{ "lv_meter_indicator_needle_line", &be_class_lv_meter_indicator_needle_line },
|
||||
{ "lv_meter_indicator_scale_lines", &be_class_lv_meter_indicator_scale_lines },
|
||||
{ "lv_meter_scale", &be_class_lv_meter_scale },
|
||||
{ "lv_obj_class", &be_class_lv_obj_class },
|
||||
{ "lv_point", &be_class_lv_point },
|
||||
{ "lv_sqrt_res", &be_class_lv_sqrt_res },
|
||||
};
|
||||
const size_t be_ctypes_lvgl_classes_size = sizeof(be_ctypes_lvgl_classes)/sizeof(be_ctypes_lvgl_classes[0]);
|
||||
|
||||
/********************************************************************/
|
||||
|
||||
#endif // USE_LVGL
|
|
@ -1,34 +0,0 @@
|
|||
/********************************************************************
|
||||
* Tasmota LVGL Font class
|
||||
*******************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
#ifdef USE_LVGL
|
||||
|
||||
#include "lvgl.h"
|
||||
|
||||
extern int lvx_tostring(bvm *vm); // generic function
|
||||
extern int lvx_init_ctor(bvm *vm, void * func);
|
||||
extern int be_call_c_func(bvm *vm, void * func, const char * return_type, const char * arg_type);
|
||||
|
||||
|
||||
// create font either empty or from parameter on stack
|
||||
int lvbe_font_create(bvm *vm) { return be_call_c_func(vm, NULL, "+lv_group", ""); }
|
||||
|
||||
#include "../generate/be_fixed_be_class_lv_font.h"
|
||||
|
||||
void be_load_lvgl_font_lib(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_lv_font);
|
||||
be_setglobal(vm, "lv_font");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
|
||||
/* @const_object_info_begin
|
||||
class be_class_lv_font (scope: global, name: lv_font) {
|
||||
_p, var
|
||||
init, func(lvbe_font_create)
|
||||
tostring, func(lvx_tostring)
|
||||
}
|
||||
@const_object_info_end */
|
||||
|
||||
#endif // USE_LVGL
|
|
@ -25,7 +25,7 @@ be_local_closure(get_object_from_ptr, /* name */
|
|||
/* K1 */ be_nested_string("find", -1108310694, 4),
|
||||
}),
|
||||
(be_nested_const_str("get_object_from_ptr", -1949948095, 19)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
|
@ -56,47 +56,50 @@ be_local_closure(widget_event_impl, /* name */
|
|||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_string("introspect", 164638290, 10),
|
||||
/* K1 */ be_nested_string("lv_obj_class", -255311002, 12),
|
||||
/* K2 */ be_nested_string("lv_event", -1860877328, 8),
|
||||
/* K3 */ be_nested_string("target", 845187144, 6),
|
||||
/* K4 */ be_nested_string("get_object_from_ptr", -1949948095, 19),
|
||||
/* K5 */ be_nested_string("instance", 193386898, 8),
|
||||
/* K6 */ be_nested_string("get", 1410115415, 3),
|
||||
/* K7 */ be_nested_string("widget_event", 1951408186, 12),
|
||||
/* K1 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K2 */ be_nested_string("lv_obj_class", -255311002, 12),
|
||||
/* K3 */ be_nested_string("lv_event", -1860877328, 8),
|
||||
/* K4 */ be_nested_string("target", 845187144, 6),
|
||||
/* K5 */ be_nested_string("get_object_from_ptr", -1949948095, 19),
|
||||
/* K6 */ be_nested_string("instance", 193386898, 8),
|
||||
/* K7 */ be_nested_string("get", 1410115415, 3),
|
||||
/* K8 */ be_nested_string("widget_event", 1951408186, 12),
|
||||
}),
|
||||
(be_nested_const_str("widget_event_impl", -2116536735, 17)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[28]) { /* code */
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[30]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0xB8120200, // 0001 GETNGBL R4 K1
|
||||
0x5C140200, // 0002 MOVE R5 R1
|
||||
0x7C100200, // 0003 CALL R4 1
|
||||
0xB8160400, // 0004 GETNGBL R5 K2
|
||||
0x5C180400, // 0005 MOVE R6 R2
|
||||
0x7C140200, // 0006 CALL R5 1
|
||||
0x88180B03, // 0007 GETMBR R6 R5 K3
|
||||
0x8C1C0104, // 0008 GETMET R7 R0 K4
|
||||
0x60240009, // 0009 GETGBL R9 G9
|
||||
0x5C280C00, // 000A MOVE R10 R6
|
||||
0x7C240200, // 000B CALL R9 1
|
||||
0x7C1C0400, // 000C CALL R7 2
|
||||
0x60200004, // 000D GETGBL R8 G4
|
||||
0x5C240E00, // 000E MOVE R9 R7
|
||||
0x7C200200, // 000F CALL R8 1
|
||||
0x1C201105, // 0010 EQ R8 R8 K5
|
||||
0x78220008, // 0011 JMPF R8 #001B
|
||||
0x8C200706, // 0012 GETMET R8 R3 K6
|
||||
0x5C280E00, // 0013 MOVE R10 R7
|
||||
0x582C0007, // 0014 LDCONST R11 K7
|
||||
0x7C200600, // 0015 CALL R8 3
|
||||
0x78220003, // 0016 JMPF R8 #001B
|
||||
0x8C200F07, // 0017 GETMET R8 R7 K7
|
||||
0x5C280800, // 0018 MOVE R10 R4
|
||||
0x5C2C0A00, // 0019 MOVE R11 R5
|
||||
0x7C200600, // 001A CALL R8 3
|
||||
0x80000000, // 001B RET 0
|
||||
0x8C100902, // 0002 GETMET R4 R4 K2
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0xB8160200, // 0005 GETNGBL R5 K1
|
||||
0x8C140B03, // 0006 GETMET R5 R5 K3
|
||||
0x5C1C0400, // 0007 MOVE R7 R2
|
||||
0x7C140400, // 0008 CALL R5 2
|
||||
0x88180B04, // 0009 GETMBR R6 R5 K4
|
||||
0x8C1C0105, // 000A GETMET R7 R0 K5
|
||||
0x60240009, // 000B GETGBL R9 G9
|
||||
0x5C280C00, // 000C MOVE R10 R6
|
||||
0x7C240200, // 000D CALL R9 1
|
||||
0x7C1C0400, // 000E CALL R7 2
|
||||
0x60200004, // 000F GETGBL R8 G4
|
||||
0x5C240E00, // 0010 MOVE R9 R7
|
||||
0x7C200200, // 0011 CALL R8 1
|
||||
0x1C201106, // 0012 EQ R8 R8 K6
|
||||
0x78220008, // 0013 JMPF R8 #001D
|
||||
0x8C200707, // 0014 GETMET R8 R3 K7
|
||||
0x5C280E00, // 0015 MOVE R10 R7
|
||||
0x582C0008, // 0016 LDCONST R11 K8
|
||||
0x7C200600, // 0017 CALL R8 3
|
||||
0x78220003, // 0018 JMPF R8 #001D
|
||||
0x8C200F08, // 0019 GETMET R8 R7 K8
|
||||
0x5C280800, // 001A MOVE R10 R4
|
||||
0x5C2C0A00, // 001B MOVE R11 R5
|
||||
0x7C200600, // 001C CALL R8 3
|
||||
0x80000000, // 001D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -116,34 +119,38 @@ be_local_closure(lvgl_event_dispatch, /* name */
|
|||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_string("introspect", 164638290, 10),
|
||||
/* K1 */ be_nested_string("lv_event", -1860877328, 8),
|
||||
/* K2 */ be_nested_string("toptr", -915119842, 5),
|
||||
/* K3 */ be_nested_string("target", 845187144, 6),
|
||||
/* K4 */ be_nested_string("cb_event_closure", -466699971, 16),
|
||||
/* K5 */ be_nested_string("get_object_from_ptr", -1949948095, 19),
|
||||
/* K1 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K2 */ be_nested_string("lv_event", -1860877328, 8),
|
||||
/* K3 */ be_nested_string("toptr", -915119842, 5),
|
||||
/* K4 */ be_nested_string("target", 845187144, 6),
|
||||
/* K5 */ be_nested_string("cb_event_closure", -466699971, 16),
|
||||
/* K6 */ be_nested_string("get_object_from_ptr", -1949948095, 19),
|
||||
}),
|
||||
(be_nested_const_str("lvgl_event_dispatch", 2104396622, 19)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[17]) { /* code */
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0xA40A0000, // 0000 IMPORT R2 K0
|
||||
0xB80E0200, // 0001 GETNGBL R3 K1
|
||||
0x8C100502, // 0002 GETMET R4 R2 K2
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0x7C0C0200, // 0005 CALL R3 1
|
||||
0x88100703, // 0006 GETMBR R4 R3 K3
|
||||
0x88140104, // 0007 GETMBR R5 R0 K4
|
||||
0x94140A04, // 0008 GETIDX R5 R5 R4
|
||||
0x8C180105, // 0009 GETMET R6 R0 K5
|
||||
0x5C200800, // 000A MOVE R8 R4
|
||||
0x7C180400, // 000B CALL R6 2
|
||||
0x5C1C0A00, // 000C MOVE R7 R5
|
||||
0x5C200C00, // 000D MOVE R8 R6
|
||||
0x5C240600, // 000E MOVE R9 R3
|
||||
0x7C1C0400, // 000F CALL R7 2
|
||||
0x80000000, // 0010 RET 0
|
||||
0x8C0C0702, // 0002 GETMET R3 R3 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x5C1C0200, // 0004 MOVE R7 R1
|
||||
0x7C140400, // 0005 CALL R5 2
|
||||
0x7C0C0400, // 0006 CALL R3 2
|
||||
0x60100009, // 0007 GETGBL R4 G9
|
||||
0x88140704, // 0008 GETMBR R5 R3 K4
|
||||
0x7C100200, // 0009 CALL R4 1
|
||||
0x88140105, // 000A GETMBR R5 R0 K5
|
||||
0x94140A04, // 000B GETIDX R5 R5 R4
|
||||
0x8C180106, // 000C GETMET R6 R0 K6
|
||||
0x5C200800, // 000D MOVE R8 R4
|
||||
0x7C180400, // 000E CALL R6 2
|
||||
0x5C1C0A00, // 000F MOVE R7 R5
|
||||
0x5C200C00, // 0010 MOVE R8 R6
|
||||
0x5C240600, // 0011 MOVE R9 R3
|
||||
0x7C1C0400, // 0012 CALL R7 2
|
||||
0x80000000, // 0013 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -163,38 +170,40 @@ be_local_closure(widget_dtor_impl, /* name */
|
|||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_string("introspect", 164638290, 10),
|
||||
/* K1 */ be_nested_string("lv_obj_class", -255311002, 12),
|
||||
/* K2 */ be_nested_string("get_object_from_ptr", -1949948095, 19),
|
||||
/* K3 */ be_nested_string("instance", 193386898, 8),
|
||||
/* K4 */ be_nested_string("get", 1410115415, 3),
|
||||
/* K5 */ be_nested_string("widget_destructor", -87578951, 17),
|
||||
/* K1 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K2 */ be_nested_string("lv_obj_class", -255311002, 12),
|
||||
/* K3 */ be_nested_string("get_object_from_ptr", -1949948095, 19),
|
||||
/* K4 */ be_nested_string("instance", 193386898, 8),
|
||||
/* K5 */ be_nested_string("get", 1410115415, 3),
|
||||
/* K6 */ be_nested_string("widget_destructor", -87578951, 17),
|
||||
}),
|
||||
(be_nested_const_str("widget_dtor_impl", 520430610, 16)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[21]) { /* code */
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[22]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0xB8120200, // 0001 GETNGBL R4 K1
|
||||
0x5C140200, // 0002 MOVE R5 R1
|
||||
0x7C100200, // 0003 CALL R4 1
|
||||
0x8C140102, // 0004 GETMET R5 R0 K2
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x7C140400, // 0006 CALL R5 2
|
||||
0x60180004, // 0007 GETGBL R6 G4
|
||||
0x5C1C0A00, // 0008 MOVE R7 R5
|
||||
0x7C180200, // 0009 CALL R6 1
|
||||
0x1C180D03, // 000A EQ R6 R6 K3
|
||||
0x781A0007, // 000B JMPF R6 #0014
|
||||
0x8C180704, // 000C GETMET R6 R3 K4
|
||||
0x5C200A00, // 000D MOVE R8 R5
|
||||
0x58240005, // 000E LDCONST R9 K5
|
||||
0x7C180600, // 000F CALL R6 3
|
||||
0x781A0002, // 0010 JMPF R6 #0014
|
||||
0x8C180B05, // 0011 GETMET R6 R5 K5
|
||||
0x5C200800, // 0012 MOVE R8 R4
|
||||
0x7C180400, // 0013 CALL R6 2
|
||||
0x80000000, // 0014 RET 0
|
||||
0x8C100902, // 0002 GETMET R4 R4 K2
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0x8C140103, // 0005 GETMET R5 R0 K3
|
||||
0x5C1C0400, // 0006 MOVE R7 R2
|
||||
0x7C140400, // 0007 CALL R5 2
|
||||
0x60180004, // 0008 GETGBL R6 G4
|
||||
0x5C1C0A00, // 0009 MOVE R7 R5
|
||||
0x7C180200, // 000A CALL R6 1
|
||||
0x1C180D04, // 000B EQ R6 R6 K4
|
||||
0x781A0007, // 000C JMPF R6 #0015
|
||||
0x8C180705, // 000D GETMET R6 R3 K5
|
||||
0x5C200A00, // 000E MOVE R8 R5
|
||||
0x58240006, // 000F LDCONST R9 K6
|
||||
0x7C180600, // 0010 CALL R6 3
|
||||
0x781A0002, // 0011 JMPF R6 #0015
|
||||
0x8C180B06, // 0012 GETMET R6 R5 K6
|
||||
0x5C200800, // 0013 MOVE R8 R4
|
||||
0x7C180400, // 0014 CALL R6 2
|
||||
0x80000000, // 0015 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -219,7 +228,7 @@ be_local_closure(register_obj, /* name */
|
|||
/* K1 */ be_nested_string("_p", 1594591802, 2),
|
||||
}),
|
||||
(be_nested_const_str("register_obj", -312352526, 12)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
|
@ -267,7 +276,7 @@ be_local_closure(gen_cb, /* name */
|
|||
/* K0 */ be_nested_string("lvgl_event_dispatch", 2104396622, 19),
|
||||
}),
|
||||
(be_nested_const_str("<lambda>", 607256038, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x68040000, // 0000 GETUPV R1 U0
|
||||
0x8C040300, // 0001 GETMET R1 R1 K0
|
||||
|
@ -289,7 +298,7 @@ be_local_closure(gen_cb, /* name */
|
|||
/* K7 */ be_nested_string("cb_do_nothing", 1488730702, 13),
|
||||
}),
|
||||
(be_nested_const_str("gen_cb", -1049739745, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[41]) { /* code */
|
||||
0x1C140300, // 0000 EQ R5 R1 K0
|
||||
0x78160018, // 0001 JMPF R5 #001B
|
||||
|
@ -357,7 +366,7 @@ be_local_closure(deregister_obj, /* name */
|
|||
/* K2 */ be_nested_string("cb_event_closure", -466699971, 16),
|
||||
}),
|
||||
(be_nested_const_str("deregister_obj", -385000303, 14)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
|
@ -409,7 +418,7 @@ be_local_closure(widget_cb, /* name */
|
|||
/* K0 */ be_nested_string("widget_ctor_impl", 194252479, 16),
|
||||
}),
|
||||
(be_nested_const_str("<lambda>", 607256038, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0x68080000, // 0000 GETUPV R2 U0
|
||||
0x8C080500, // 0001 GETMET R2 R2 K0
|
||||
|
@ -434,7 +443,7 @@ be_local_closure(widget_cb, /* name */
|
|||
/* K0 */ be_nested_string("widget_dtor_impl", 520430610, 16),
|
||||
}),
|
||||
(be_nested_const_str("<lambda>", 607256038, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0x68080000, // 0000 GETUPV R2 U0
|
||||
0x8C080500, // 0001 GETMET R2 R2 K0
|
||||
|
@ -459,7 +468,7 @@ be_local_closure(widget_cb, /* name */
|
|||
/* K0 */ be_nested_string("widget_event_impl", -2116536735, 17),
|
||||
}),
|
||||
(be_nested_const_str("<lambda>", 607256038, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0x68080000, // 0000 GETUPV R2 U0
|
||||
0x8C080500, // 0001 GETMET R2 R2 K0
|
||||
|
@ -471,25 +480,26 @@ be_local_closure(widget_cb, /* name */
|
|||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[14]) { /* constants */
|
||||
( &(const bvalue[15]) { /* constants */
|
||||
/* K0 */ be_nested_string("widget_ctor_cb", 876007560, 14),
|
||||
/* K1 */ be_nested_string("tasmota", 424643812, 7),
|
||||
/* K2 */ be_nested_string("gen_cb", -1049739745, 6),
|
||||
/* K3 */ be_nested_string("widget_dtor_cb", -1143421451, 14),
|
||||
/* K4 */ be_nested_string("widget_event_cb", 1508466754, 15),
|
||||
/* K5 */ be_nested_string("widget_struct_default", 781673633, 21),
|
||||
/* K6 */ be_nested_string("lv_obj_class", -255311002, 12),
|
||||
/* K7 */ be_nested_string("lv_obj", -37134147, 6),
|
||||
/* K8 */ be_nested_string("_class", -1562820946, 6),
|
||||
/* K9 */ be_nested_string("copy", -446502332, 4),
|
||||
/* K10 */ be_nested_string("base_class", 1107737279, 10),
|
||||
/* K11 */ be_nested_string("constructor_cb", -1805861999, 14),
|
||||
/* K12 */ be_nested_string("destructor_cb", 1930283190, 13),
|
||||
/* K13 */ be_nested_string("event_cb", -1166269279, 8),
|
||||
/* K6 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K7 */ be_nested_string("lv_obj_class", -255311002, 12),
|
||||
/* K8 */ be_nested_string("lv_obj", -37134147, 6),
|
||||
/* K9 */ be_nested_string("_class", -1562820946, 6),
|
||||
/* K10 */ be_nested_string("copy", -446502332, 4),
|
||||
/* K11 */ be_nested_string("base_class", 1107737279, 10),
|
||||
/* K12 */ be_nested_string("constructor_cb", -1805861999, 14),
|
||||
/* K13 */ be_nested_string("destructor_cb", 1930283190, 13),
|
||||
/* K14 */ be_nested_string("event_cb", -1166269279, 8),
|
||||
}),
|
||||
(be_nested_const_str("widget_cb", -1531384241, 9)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[53]) { /* code */
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[56]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x4C080000, // 0001 LDNIL R2
|
||||
0x1C040202, // 0002 EQ R1 R1 R2
|
||||
|
@ -520,29 +530,32 @@ be_local_closure(widget_cb, /* name */
|
|||
0x88040105, // 001B GETMBR R1 R0 K5
|
||||
0x4C080000, // 001C LDNIL R2
|
||||
0x1C040202, // 001D EQ R1 R1 R2
|
||||
0x78060013, // 001E JMPF R1 #0033
|
||||
0x78060016, // 001E JMPF R1 #0036
|
||||
0xB8060C00, // 001F GETNGBL R1 K6
|
||||
0xB80A0E00, // 0020 GETNGBL R2 K7
|
||||
0x88080508, // 0021 GETMBR R2 R2 K8
|
||||
0x7C040200, // 0022 CALL R1 1
|
||||
0x8C040309, // 0023 GETMET R1 R1 K9
|
||||
0x7C040200, // 0024 CALL R1 1
|
||||
0x90020A01, // 0025 SETMBR R0 K5 R1
|
||||
0x88040105, // 0026 GETMBR R1 R0 K5
|
||||
0xB80A0E00, // 0027 GETNGBL R2 K7
|
||||
0x88080508, // 0028 GETMBR R2 R2 K8
|
||||
0x90061402, // 0029 SETMBR R1 K10 R2
|
||||
0x88040105, // 002A GETMBR R1 R0 K5
|
||||
0x88080100, // 002B GETMBR R2 R0 K0
|
||||
0x8C040307, // 0020 GETMET R1 R1 K7
|
||||
0xB80E0C00, // 0021 GETNGBL R3 K6
|
||||
0x880C0708, // 0022 GETMBR R3 R3 K8
|
||||
0x880C0709, // 0023 GETMBR R3 R3 K9
|
||||
0x7C040400, // 0024 CALL R1 2
|
||||
0x8C04030A, // 0025 GETMET R1 R1 K10
|
||||
0x7C040200, // 0026 CALL R1 1
|
||||
0x90020A01, // 0027 SETMBR R0 K5 R1
|
||||
0x88040105, // 0028 GETMBR R1 R0 K5
|
||||
0xB80A0C00, // 0029 GETNGBL R2 K6
|
||||
0x88080508, // 002A GETMBR R2 R2 K8
|
||||
0x88080509, // 002B GETMBR R2 R2 K9
|
||||
0x90061602, // 002C SETMBR R1 K11 R2
|
||||
0x88040105, // 002D GETMBR R1 R0 K5
|
||||
0x88080103, // 002E GETMBR R2 R0 K3
|
||||
0x88080100, // 002E GETMBR R2 R0 K0
|
||||
0x90061802, // 002F SETMBR R1 K12 R2
|
||||
0x88040105, // 0030 GETMBR R1 R0 K5
|
||||
0x88080104, // 0031 GETMBR R2 R0 K4
|
||||
0x88080103, // 0031 GETMBR R2 R0 K3
|
||||
0x90061A02, // 0032 SETMBR R1 K13 R2
|
||||
0xA0000000, // 0033 CLOSE R0
|
||||
0x80000000, // 0034 RET 0
|
||||
0x88040105, // 0033 GETMBR R1 R0 K5
|
||||
0x88080104, // 0034 GETMBR R2 R0 K4
|
||||
0x90061C02, // 0035 SETMBR R1 K14 R2
|
||||
0xA0000000, // 0036 CLOSE R0
|
||||
0x80000000, // 0037 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -550,9 +563,9 @@ be_local_closure(widget_cb, /* name */
|
|||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <anonymous>
|
||||
** Solidified function: _anonymous_
|
||||
********************************************************************/
|
||||
be_local_closure(anonymous, /* name */
|
||||
be_local_closure(_anonymous_, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
0, /* argc */
|
||||
|
@ -565,8 +578,8 @@ be_local_closure(anonymous, /* name */
|
|||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_string("LVG: call to unsupported callback", 504176819, 33),
|
||||
}),
|
||||
(be_nested_const_str("<anonymous>", 1160973142, 11)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
(be_nested_const_str("_anonymous_", 1957281476, 11)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60000001, // 0000 GETGBL R0 G1
|
||||
0x58040000, // 0001 LDCONST R1 K0
|
||||
|
@ -593,121 +606,122 @@ be_local_closure(create_custom_widget, /* name */
|
|||
1, /* has constants */
|
||||
( &(const bvalue[27]) { /* constants */
|
||||
/* K0 */ be_nested_string("introspect", 164638290, 10),
|
||||
/* K1 */ be_nested_string("lv_obj", -37134147, 6),
|
||||
/* K2 */ be_nested_string("value_error", 773297791, 11),
|
||||
/* K3 */ be_nested_string("arg must be a subclass of lv_obj", 1641882079, 32),
|
||||
/* K4 */ be_nested_string("widget_struct_by_class", -488593454, 22),
|
||||
/* K5 */ be_nested_string("find", -1108310694, 4),
|
||||
/* K6 */ be_nested_string("widget_cb", -1531384241, 9),
|
||||
/* K7 */ be_nested_string("widget_struct_default", 781673633, 21),
|
||||
/* K8 */ be_nested_string("copy", -446502332, 4),
|
||||
/* K9 */ be_nested_string("base_class", 1107737279, 10),
|
||||
/* K10 */ be_nested_string("_class", -1562820946, 6),
|
||||
/* K11 */ be_nested_string("get", 1410115415, 3),
|
||||
/* K12 */ be_nested_string("widget_width_def", -308888434, 16),
|
||||
/* K13 */ be_nested_string("width_def", 1143717879, 9),
|
||||
/* K14 */ be_nested_string("widget_height_def", -1163299483, 17),
|
||||
/* K15 */ be_nested_string("height_def", -1946728458, 10),
|
||||
/* K16 */ be_nested_string("widget_editable", -473174010, 15),
|
||||
/* K17 */ be_nested_string("editable", 60532369, 8),
|
||||
/* K18 */ be_nested_string("widget_group_def", 1246968785, 16),
|
||||
/* K19 */ be_nested_string("group_def", 1524213328, 9),
|
||||
/* K20 */ be_nested_string("widget_instance_size", 2055354779, 20),
|
||||
/* K21 */ be_nested_string("instance_size", -14697778, 13),
|
||||
/* K22 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K1 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K2 */ be_nested_string("lv_obj", -37134147, 6),
|
||||
/* K3 */ be_nested_string("value_error", 773297791, 11),
|
||||
/* K4 */ be_nested_string("arg must be a subclass of lv_obj", 1641882079, 32),
|
||||
/* K5 */ be_nested_string("widget_struct_by_class", -488593454, 22),
|
||||
/* K6 */ be_nested_string("find", -1108310694, 4),
|
||||
/* K7 */ be_nested_string("widget_cb", -1531384241, 9),
|
||||
/* K8 */ be_nested_string("widget_struct_default", 781673633, 21),
|
||||
/* K9 */ be_nested_string("copy", -446502332, 4),
|
||||
/* K10 */ be_nested_string("base_class", 1107737279, 10),
|
||||
/* K11 */ be_nested_string("_class", -1562820946, 6),
|
||||
/* K12 */ be_nested_string("get", 1410115415, 3),
|
||||
/* K13 */ be_nested_string("widget_width_def", -308888434, 16),
|
||||
/* K14 */ be_nested_string("width_def", 1143717879, 9),
|
||||
/* K15 */ be_nested_string("widget_height_def", -1163299483, 17),
|
||||
/* K16 */ be_nested_string("height_def", -1946728458, 10),
|
||||
/* K17 */ be_nested_string("widget_editable", -473174010, 15),
|
||||
/* K18 */ be_nested_string("editable", 60532369, 8),
|
||||
/* K19 */ be_nested_string("widget_group_def", 1246968785, 16),
|
||||
/* K20 */ be_nested_string("group_def", 1524213328, 9),
|
||||
/* K21 */ be_nested_string("widget_instance_size", 2055354779, 20),
|
||||
/* K22 */ be_nested_string("instance_size", -14697778, 13),
|
||||
/* K23 */ be_nested_string("obj_class_create_obj", -990576664, 20),
|
||||
/* K24 */ be_nested_string("_p", 1594591802, 2),
|
||||
/* K25 */ be_nested_string("register_obj", -312352526, 12),
|
||||
/* K26 */ be_nested_string("class_init_obj", 178410604, 14),
|
||||
}),
|
||||
(be_nested_const_str("create_custom_widget", 1140594778, 20)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[85]) { /* code */
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[86]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0x6010000F, // 0001 GETGBL R4 G15
|
||||
0x5C140200, // 0002 MOVE R5 R1
|
||||
0xB81A0200, // 0003 GETNGBL R6 K1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0x74120000, // 0005 JMPT R4 #0007
|
||||
0xB0060503, // 0006 RAISE 1 K2 K3
|
||||
0x88100104, // 0007 GETMBR R4 R0 K4
|
||||
0x4C140000, // 0008 LDNIL R5
|
||||
0x1C100805, // 0009 EQ R4 R4 R5
|
||||
0x78120002, // 000A JMPF R4 #000E
|
||||
0x60100013, // 000B GETGBL R4 G19
|
||||
0x7C100000, // 000C CALL R4 0
|
||||
0x90020804, // 000D SETMBR R0 K4 R4
|
||||
0x60100005, // 000E GETGBL R4 G5
|
||||
0x5C140200, // 000F MOVE R5 R1
|
||||
0x7C100200, // 0010 CALL R4 1
|
||||
0x88140104, // 0011 GETMBR R5 R0 K4
|
||||
0x8C140B05, // 0012 GETMET R5 R5 K5
|
||||
0x5C1C0800, // 0013 MOVE R7 R4
|
||||
0x7C140400, // 0014 CALL R5 2
|
||||
0x4C180000, // 0015 LDNIL R6
|
||||
0x1C180A06, // 0016 EQ R6 R5 R6
|
||||
0x781A002F, // 0017 JMPF R6 #0048
|
||||
0x8C180106, // 0018 GETMET R6 R0 K6
|
||||
0x7C180200, // 0019 CALL R6 1
|
||||
0x88180107, // 001A GETMBR R6 R0 K7
|
||||
0x8C180D08, // 001B GETMET R6 R6 K8
|
||||
0x7C180200, // 001C CALL R6 1
|
||||
0x5C140C00, // 001D MOVE R5 R6
|
||||
0x60180003, // 001E GETGBL R6 G3
|
||||
0x5C1C0200, // 001F MOVE R7 R1
|
||||
0x7C180200, // 0020 CALL R6 1
|
||||
0x88180D0A, // 0021 GETMBR R6 R6 K10
|
||||
0x90161206, // 0022 SETMBR R5 K9 R6
|
||||
0x8C18070B, // 0023 GETMET R6 R3 K11
|
||||
0x5C200200, // 0024 MOVE R8 R1
|
||||
0x5824000C, // 0025 LDCONST R9 K12
|
||||
0x7C180600, // 0026 CALL R6 3
|
||||
0x781A0001, // 0027 JMPF R6 #002A
|
||||
0x8818030C, // 0028 GETMBR R6 R1 K12
|
||||
0x90161A06, // 0029 SETMBR R5 K13 R6
|
||||
0x8C18070B, // 002A GETMET R6 R3 K11
|
||||
0x5C200200, // 002B MOVE R8 R1
|
||||
0x5824000E, // 002C LDCONST R9 K14
|
||||
0x7C180600, // 002D CALL R6 3
|
||||
0x781A0001, // 002E JMPF R6 #0031
|
||||
0x8818030E, // 002F GETMBR R6 R1 K14
|
||||
0x90161E06, // 0030 SETMBR R5 K15 R6
|
||||
0x8C18070B, // 0031 GETMET R6 R3 K11
|
||||
0x5C200200, // 0032 MOVE R8 R1
|
||||
0x58240010, // 0033 LDCONST R9 K16
|
||||
0x7C180600, // 0034 CALL R6 3
|
||||
0x781A0001, // 0035 JMPF R6 #0038
|
||||
0x88180310, // 0036 GETMBR R6 R1 K16
|
||||
0x90162206, // 0037 SETMBR R5 K17 R6
|
||||
0x8C18070B, // 0038 GETMET R6 R3 K11
|
||||
0x5C200200, // 0039 MOVE R8 R1
|
||||
0x58240012, // 003A LDCONST R9 K18
|
||||
0x7C180600, // 003B CALL R6 3
|
||||
0x781A0001, // 003C JMPF R6 #003F
|
||||
0x88180312, // 003D GETMBR R6 R1 K18
|
||||
0x90162606, // 003E SETMBR R5 K19 R6
|
||||
0x8C18070B, // 003F GETMET R6 R3 K11
|
||||
0x5C200200, // 0040 MOVE R8 R1
|
||||
0x58240014, // 0041 LDCONST R9 K20
|
||||
0x7C180600, // 0042 CALL R6 3
|
||||
0x781A0001, // 0043 JMPF R6 #0046
|
||||
0x88180314, // 0044 GETMBR R6 R1 K20
|
||||
0x90162A06, // 0045 SETMBR R5 K21 R6
|
||||
0x88180104, // 0046 GETMBR R6 R0 K4
|
||||
0x98180805, // 0047 SETIDX R6 R4 R5
|
||||
0xB81A2C00, // 0048 GETNGBL R6 K22
|
||||
0x8C180D17, // 0049 GETMET R6 R6 K23
|
||||
0x5C200A00, // 004A MOVE R8 R5
|
||||
0x5C240400, // 004B MOVE R9 R2
|
||||
0x7C180600, // 004C CALL R6 3
|
||||
0x881C0D18, // 004D GETMBR R7 R6 K24
|
||||
0x90063007, // 004E SETMBR R1 K24 R7
|
||||
0x8C1C0119, // 004F GETMET R7 R0 K25
|
||||
0x5C240200, // 0050 MOVE R9 R1
|
||||
0x7C1C0400, // 0051 CALL R7 2
|
||||
0x8C1C031A, // 0052 GETMET R7 R1 K26
|
||||
0x7C1C0200, // 0053 CALL R7 1
|
||||
0x80000000, // 0054 RET 0
|
||||
0x88180D02, // 0004 GETMBR R6 R6 K2
|
||||
0x7C100400, // 0005 CALL R4 2
|
||||
0x74120000, // 0006 JMPT R4 #0008
|
||||
0xB0060704, // 0007 RAISE 1 K3 K4
|
||||
0x88100105, // 0008 GETMBR R4 R0 K5
|
||||
0x4C140000, // 0009 LDNIL R5
|
||||
0x1C100805, // 000A EQ R4 R4 R5
|
||||
0x78120002, // 000B JMPF R4 #000F
|
||||
0x60100013, // 000C GETGBL R4 G19
|
||||
0x7C100000, // 000D CALL R4 0
|
||||
0x90020A04, // 000E SETMBR R0 K5 R4
|
||||
0x60100005, // 000F GETGBL R4 G5
|
||||
0x5C140200, // 0010 MOVE R5 R1
|
||||
0x7C100200, // 0011 CALL R4 1
|
||||
0x88140105, // 0012 GETMBR R5 R0 K5
|
||||
0x8C140B06, // 0013 GETMET R5 R5 K6
|
||||
0x5C1C0800, // 0014 MOVE R7 R4
|
||||
0x7C140400, // 0015 CALL R5 2
|
||||
0x4C180000, // 0016 LDNIL R6
|
||||
0x1C180A06, // 0017 EQ R6 R5 R6
|
||||
0x781A002F, // 0018 JMPF R6 #0049
|
||||
0x8C180107, // 0019 GETMET R6 R0 K7
|
||||
0x7C180200, // 001A CALL R6 1
|
||||
0x88180108, // 001B GETMBR R6 R0 K8
|
||||
0x8C180D09, // 001C GETMET R6 R6 K9
|
||||
0x7C180200, // 001D CALL R6 1
|
||||
0x5C140C00, // 001E MOVE R5 R6
|
||||
0x60180003, // 001F GETGBL R6 G3
|
||||
0x5C1C0200, // 0020 MOVE R7 R1
|
||||
0x7C180200, // 0021 CALL R6 1
|
||||
0x88180D0B, // 0022 GETMBR R6 R6 K11
|
||||
0x90161406, // 0023 SETMBR R5 K10 R6
|
||||
0x8C18070C, // 0024 GETMET R6 R3 K12
|
||||
0x5C200200, // 0025 MOVE R8 R1
|
||||
0x5824000D, // 0026 LDCONST R9 K13
|
||||
0x7C180600, // 0027 CALL R6 3
|
||||
0x781A0001, // 0028 JMPF R6 #002B
|
||||
0x8818030D, // 0029 GETMBR R6 R1 K13
|
||||
0x90161C06, // 002A SETMBR R5 K14 R6
|
||||
0x8C18070C, // 002B GETMET R6 R3 K12
|
||||
0x5C200200, // 002C MOVE R8 R1
|
||||
0x5824000F, // 002D LDCONST R9 K15
|
||||
0x7C180600, // 002E CALL R6 3
|
||||
0x781A0001, // 002F JMPF R6 #0032
|
||||
0x8818030F, // 0030 GETMBR R6 R1 K15
|
||||
0x90162006, // 0031 SETMBR R5 K16 R6
|
||||
0x8C18070C, // 0032 GETMET R6 R3 K12
|
||||
0x5C200200, // 0033 MOVE R8 R1
|
||||
0x58240011, // 0034 LDCONST R9 K17
|
||||
0x7C180600, // 0035 CALL R6 3
|
||||
0x781A0001, // 0036 JMPF R6 #0039
|
||||
0x88180311, // 0037 GETMBR R6 R1 K17
|
||||
0x90162406, // 0038 SETMBR R5 K18 R6
|
||||
0x8C18070C, // 0039 GETMET R6 R3 K12
|
||||
0x5C200200, // 003A MOVE R8 R1
|
||||
0x58240013, // 003B LDCONST R9 K19
|
||||
0x7C180600, // 003C CALL R6 3
|
||||
0x781A0001, // 003D JMPF R6 #0040
|
||||
0x88180313, // 003E GETMBR R6 R1 K19
|
||||
0x90162806, // 003F SETMBR R5 K20 R6
|
||||
0x8C18070C, // 0040 GETMET R6 R3 K12
|
||||
0x5C200200, // 0041 MOVE R8 R1
|
||||
0x58240015, // 0042 LDCONST R9 K21
|
||||
0x7C180600, // 0043 CALL R6 3
|
||||
0x781A0001, // 0044 JMPF R6 #0047
|
||||
0x88180315, // 0045 GETMBR R6 R1 K21
|
||||
0x90162C06, // 0046 SETMBR R5 K22 R6
|
||||
0x88180105, // 0047 GETMBR R6 R0 K5
|
||||
0x98180805, // 0048 SETIDX R6 R4 R5
|
||||
0xB81A0200, // 0049 GETNGBL R6 K1
|
||||
0x8C180D17, // 004A GETMET R6 R6 K23
|
||||
0x5C200A00, // 004B MOVE R8 R5
|
||||
0x5C240400, // 004C MOVE R9 R2
|
||||
0x7C180600, // 004D CALL R6 3
|
||||
0x881C0D18, // 004E GETMBR R7 R6 K24
|
||||
0x90063007, // 004F SETMBR R1 K24 R7
|
||||
0x8C1C0119, // 0050 GETMET R7 R0 K25
|
||||
0x5C240200, // 0051 MOVE R9 R1
|
||||
0x7C1C0400, // 0052 CALL R7 2
|
||||
0x8C1C031A, // 0053 GETMET R7 R1 K26
|
||||
0x7C1C0200, // 0054 CALL R7 1
|
||||
0x80000000, // 0055 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -727,47 +741,49 @@ be_local_closure(widget_ctor_impl, /* name */
|
|||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_string("introspect", 164638290, 10),
|
||||
/* K1 */ be_nested_string("lv_obj_class", -255311002, 12),
|
||||
/* K2 */ be_nested_string("get_object_from_ptr", -1949948095, 19),
|
||||
/* K3 */ be_nested_string("cb_obj", 1195696482, 6),
|
||||
/* K4 */ be_nested_string("find", -1108310694, 4),
|
||||
/* K5 */ be_nested_string("instance", 193386898, 8),
|
||||
/* K6 */ be_nested_string("get", 1410115415, 3),
|
||||
/* K7 */ be_nested_string("widget_constructor", -1751181362, 18),
|
||||
/* K1 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K2 */ be_nested_string("lv_obj_class", -255311002, 12),
|
||||
/* K3 */ be_nested_string("get_object_from_ptr", -1949948095, 19),
|
||||
/* K4 */ be_nested_string("cb_obj", 1195696482, 6),
|
||||
/* K5 */ be_nested_string("find", -1108310694, 4),
|
||||
/* K6 */ be_nested_string("instance", 193386898, 8),
|
||||
/* K7 */ be_nested_string("get", 1410115415, 3),
|
||||
/* K8 */ be_nested_string("widget_constructor", -1751181362, 18),
|
||||
}),
|
||||
(be_nested_const_str("widget_ctor_impl", 194252479, 16)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[28]) { /* code */
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[29]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0xB8120200, // 0001 GETNGBL R4 K1
|
||||
0x5C140200, // 0002 MOVE R5 R1
|
||||
0x7C100200, // 0003 CALL R4 1
|
||||
0x8C140102, // 0004 GETMET R5 R0 K2
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x7C140400, // 0006 CALL R5 2
|
||||
0x88180103, // 0007 GETMBR R6 R0 K3
|
||||
0x8C180D04, // 0008 GETMET R6 R6 K4
|
||||
0x5C200A00, // 0009 MOVE R8 R5
|
||||
0x7C180400, // 000A CALL R6 2
|
||||
0x781A0001, // 000B JMPF R6 #000E
|
||||
0x88180103, // 000C GETMBR R6 R0 K3
|
||||
0x94140C05, // 000D GETIDX R5 R6 R5
|
||||
0x60180004, // 000E GETGBL R6 G4
|
||||
0x5C1C0A00, // 000F MOVE R7 R5
|
||||
0x7C180200, // 0010 CALL R6 1
|
||||
0x1C180D05, // 0011 EQ R6 R6 K5
|
||||
0x781A0007, // 0012 JMPF R6 #001B
|
||||
0x8C180706, // 0013 GETMET R6 R3 K6
|
||||
0x5C200A00, // 0014 MOVE R8 R5
|
||||
0x58240007, // 0015 LDCONST R9 K7
|
||||
0x7C180600, // 0016 CALL R6 3
|
||||
0x781A0002, // 0017 JMPF R6 #001B
|
||||
0x8C180B07, // 0018 GETMET R6 R5 K7
|
||||
0x5C200800, // 0019 MOVE R8 R4
|
||||
0x7C180400, // 001A CALL R6 2
|
||||
0x80000000, // 001B RET 0
|
||||
0x8C100902, // 0002 GETMET R4 R4 K2
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0x8C140103, // 0005 GETMET R5 R0 K3
|
||||
0x5C1C0400, // 0006 MOVE R7 R2
|
||||
0x7C140400, // 0007 CALL R5 2
|
||||
0x88180104, // 0008 GETMBR R6 R0 K4
|
||||
0x8C180D05, // 0009 GETMET R6 R6 K5
|
||||
0x5C200A00, // 000A MOVE R8 R5
|
||||
0x7C180400, // 000B CALL R6 2
|
||||
0x781A0001, // 000C JMPF R6 #000F
|
||||
0x88180104, // 000D GETMBR R6 R0 K4
|
||||
0x94140C05, // 000E GETIDX R5 R6 R5
|
||||
0x60180004, // 000F GETGBL R6 G4
|
||||
0x5C1C0A00, // 0010 MOVE R7 R5
|
||||
0x7C180200, // 0011 CALL R6 1
|
||||
0x1C180D06, // 0012 EQ R6 R6 K6
|
||||
0x781A0007, // 0013 JMPF R6 #001C
|
||||
0x8C180707, // 0014 GETMET R6 R3 K7
|
||||
0x5C200A00, // 0015 MOVE R8 R5
|
||||
0x58240008, // 0016 LDCONST R9 K8
|
||||
0x7C180600, // 0017 CALL R6 3
|
||||
0x781A0002, // 0018 JMPF R6 #001C
|
||||
0x8C180B08, // 0019 GETMET R6 R5 K8
|
||||
0x5C200800, // 001A MOVE R8 R4
|
||||
0x7C180400, // 001B CALL R6 2
|
||||
0x80000000, // 001C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -798,7 +814,7 @@ be_local_class(LVGL_glob,
|
|||
{ be_nested_key("deregister_obj", -385000303, 14, 12), be_const_closure(deregister_obj_closure) },
|
||||
{ be_nested_key("widget_event_cb", 1508466754, 15, -1), be_const_var(6) },
|
||||
{ be_nested_key("widget_cb", -1531384241, 9, -1), be_const_closure(widget_cb_closure) },
|
||||
{ be_nested_key("cb_do_nothing", 1488730702, 13, 3), be_const_closure(anonymous_closure) },
|
||||
{ be_nested_key("cb_do_nothing", 1488730702, 13, 3), be_const_closure(_anonymous__closure) },
|
||||
{ be_nested_key("event_cb", -1166269279, 8, -1), be_const_var(2) },
|
||||
{ be_nested_key("create_custom_widget", 1140594778, 20, -1), be_const_closure(create_custom_widget_closure) },
|
||||
{ be_nested_key("widget_ctor_impl", 194252479, 16, -1), be_const_closure(widget_ctor_impl_closure) },
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
#include "lvgl.h"
|
||||
#include "be_lvgl.h"
|
||||
#include "lv_theme_openhasp.h"
|
||||
|
||||
extern int lv0_member(bvm *vm); // resolve virtual members
|
||||
|
||||
|
@ -19,6 +20,7 @@ extern int lv0_register_button_encoder(bvm *vm); // add buttons with encoder lo
|
|||
|
||||
extern int lv0_load_montserrat_font(bvm *vm);
|
||||
extern int lv0_load_seg7_font(bvm *vm);
|
||||
extern int lv0_load_robotocondensed_latin1_font(bvm *vm);
|
||||
extern int lv0_load_font(bvm *vm);
|
||||
extern int lv0_load_freetype_font(bvm *vm);
|
||||
|
||||
|
@ -36,65 +38,72 @@ const lvbe_call_c_t lv_func[] = {
|
|||
|
||||
{ "clamp_height", (void*) &lv_clamp_height, "i", "iiii" },
|
||||
{ "clamp_width", (void*) &lv_clamp_width, "i", "iiii" },
|
||||
{ "color_mix", (void*) &lv_color_mix, "lv_color", "(lv_color)(lv_color)i" },
|
||||
{ "color_mix", (void*) &lv_color_mix, "lv.lv_color", "(lv.lv_color)(lv.lv_color)i" },
|
||||
{ "dpx", (void*) &lv_dpx, "i", "i" },
|
||||
{ "draw_arc", (void*) &lv_draw_arc, "", "iiiii(lv_area)(lv_draw_arc_dsc)" },
|
||||
{ "draw_arc_dsc_init", (void*) &lv_draw_arc_dsc_init, "", "(lv_draw_arc_dsc)" },
|
||||
{ "draw_arc_get_area", (void*) &lv_draw_arc_get_area, "", "iiiiiib(lv_area)" },
|
||||
{ "draw_img", (void*) &lv_draw_img, "", "(lv_area)(lv_area).(lv_draw_img_dsc)" },
|
||||
{ "draw_img_dsc_init", (void*) &lv_draw_img_dsc_init, "", "(lv_draw_img_dsc)" },
|
||||
{ "draw_label", (void*) &lv_draw_label, "", "(lv_area)(lv_area)(lv_draw_label_dsc)s(lv_draw_label_hint)" },
|
||||
{ "draw_label_dsc_init", (void*) &lv_draw_label_dsc_init, "", "(lv_draw_label_dsc)" },
|
||||
{ "draw_letter", (void*) &lv_draw_letter, "", "(lv_point)(lv_area)(lv_font)i(lv_color)ii" },
|
||||
{ "draw_line", (void*) &lv_draw_line, "", "(lv_point)(lv_point)(lv_area)(lv_draw_line_dsc)" },
|
||||
{ "draw_line_dsc_init", (void*) &lv_draw_line_dsc_init, "", "(lv_draw_line_dsc)" },
|
||||
{ "draw_arc", (void*) &lv_draw_arc, "", "iiiii(lv.lv_area)(lv.lv_draw_arc_dsc)" },
|
||||
{ "draw_arc_dsc_init", (void*) &lv_draw_arc_dsc_init, "", "(lv.lv_draw_arc_dsc)" },
|
||||
{ "draw_arc_get_area", (void*) &lv_draw_arc_get_area, "", "iiiiiib(lv.lv_area)" },
|
||||
{ "draw_img", (void*) &lv_draw_img, "", "(lv.lv_area)(lv.lv_area).(lv.lv_draw_img_dsc)" },
|
||||
{ "draw_img_dsc_init", (void*) &lv_draw_img_dsc_init, "", "(lv.lv_draw_img_dsc)" },
|
||||
{ "draw_label", (void*) &lv_draw_label, "", "(lv.lv_area)(lv.lv_area)(lv.lv_draw_label_dsc)s(lv.lv_draw_label_hint)" },
|
||||
{ "draw_label_dsc_init", (void*) &lv_draw_label_dsc_init, "", "(lv.lv_draw_label_dsc)" },
|
||||
{ "draw_letter", (void*) &lv_draw_letter, "", "(lv.lv_point)(lv.lv_area)(lv.lv_font)i(lv.lv_color)ii" },
|
||||
{ "draw_line", (void*) &lv_draw_line, "", "(lv.lv_point)(lv.lv_point)(lv.lv_area)(lv.lv_draw_line_dsc)" },
|
||||
{ "draw_line_dsc_init", (void*) &lv_draw_line_dsc_init, "", "(lv.lv_draw_line_dsc)" },
|
||||
{ "draw_mask_add", (void*) &lv_draw_mask_add, "i", ".." },
|
||||
{ "draw_mask_angle_init", (void*) &lv_draw_mask_angle_init, "", "(lv_draw_mask_angle_param)iiii" },
|
||||
{ "draw_mask_fade_init", (void*) &lv_draw_mask_fade_init, "", "(lv_draw_mask_fade_param)(lv_area)iiii" },
|
||||
{ "draw_mask_angle_init", (void*) &lv_draw_mask_angle_init, "", "(lv.lv_draw_mask_angle_param)iiii" },
|
||||
{ "draw_mask_fade_init", (void*) &lv_draw_mask_fade_init, "", "(lv.lv_draw_mask_fade_param)(lv.lv_area)iiii" },
|
||||
{ "draw_mask_get_cnt", (void*) &lv_draw_mask_get_cnt, "i", "" },
|
||||
{ "draw_mask_line_angle_init", (void*) &lv_draw_mask_line_angle_init, "", "(lv_draw_mask_line_param)iiii" },
|
||||
{ "draw_mask_line_points_init", (void*) &lv_draw_mask_line_points_init, "", "(lv_draw_mask_line_param)iiiii" },
|
||||
{ "draw_mask_map_init", (void*) &lv_draw_mask_map_init, "", "(lv_draw_mask_map_param)(lv_area)(lv_opa)" },
|
||||
{ "draw_mask_radius_init", (void*) &lv_draw_mask_radius_init, "", "(lv_draw_mask_radius_param)(lv_area)ib" },
|
||||
{ "draw_mask_line_angle_init", (void*) &lv_draw_mask_line_angle_init, "", "(lv.lv_draw_mask_line_param)iiii" },
|
||||
{ "draw_mask_line_points_init", (void*) &lv_draw_mask_line_points_init, "", "(lv.lv_draw_mask_line_param)iiiii" },
|
||||
{ "draw_mask_map_init", (void*) &lv_draw_mask_map_init, "", "(lv.lv_draw_mask_map_param)(lv.lv_area)(lv.lv_opa)" },
|
||||
{ "draw_mask_radius_init", (void*) &lv_draw_mask_radius_init, "", "(lv.lv_draw_mask_radius_param)(lv.lv_area)ib" },
|
||||
{ "draw_mask_remove_custom", (void*) &lv_draw_mask_remove_custom, ".", "." },
|
||||
{ "draw_mask_remove_id", (void*) &lv_draw_mask_remove_id, ".", "i" },
|
||||
{ "draw_polygon", (void*) &lv_draw_polygon, "", "ii(lv_area)(lv_draw_rect_dsc)" },
|
||||
{ "draw_rect", (void*) &lv_draw_rect, "", "(lv_area)(lv_area)(lv_draw_rect_dsc)" },
|
||||
{ "draw_rect_dsc_init", (void*) &lv_draw_rect_dsc_init, "", "(lv_draw_rect_dsc)" },
|
||||
{ "draw_triangle", (void*) &lv_draw_triangle, "", "i(lv_area)(lv_draw_rect_dsc)" },
|
||||
{ "draw_polygon", (void*) &lv_draw_polygon, "", "ii(lv.lv_area)(lv.lv_draw_rect_dsc)" },
|
||||
{ "draw_rect", (void*) &lv_draw_rect, "", "(lv.lv_area)(lv.lv_area)(lv.lv_draw_rect_dsc)" },
|
||||
{ "draw_rect_dsc_init", (void*) &lv_draw_rect_dsc_init, "", "(lv.lv_draw_rect_dsc)" },
|
||||
{ "draw_triangle", (void*) &lv_draw_triangle, "", "i(lv.lv_area)(lv.lv_draw_rect_dsc)" },
|
||||
{ "event_register_id", (void*) &lv_event_register_id, "i", "" },
|
||||
{ "event_send", (void*) &lv_event_send, "i", "(lv_obj)i." },
|
||||
{ "event_set_cover_res", (void*) &lv_event_set_cover_res, "", "(lv_event)(lv_cover_res)" },
|
||||
{ "event_set_ext_draw_size", (void*) &lv_event_set_ext_draw_size, "", "(lv_event)i" },
|
||||
{ "event_send", (void*) &lv_event_send, "i", "(lv.lv_obj)i." },
|
||||
{ "event_set_cover_res", (void*) &lv_event_set_cover_res, "", "(lv.lv_event)(lv.lv_cover_res)" },
|
||||
{ "event_set_ext_draw_size", (void*) &lv_event_set_ext_draw_size, "", "(lv.lv_event)i" },
|
||||
{ "get_hor_res", (void*) &lv_get_hor_res, "i", "" },
|
||||
{ "get_ver_res", (void*) &lv_get_ver_res, "i", "" },
|
||||
{ "group_get_default", (void*) &lv_group_get_default, "lv_group", "" },
|
||||
{ "group_get_default", (void*) &lv_group_get_default, "lv.lv_group", "" },
|
||||
{ "img_src_get_type", (void*) &lv_img_src_get_type, "i", "." },
|
||||
{ "indev_get_obj_act", (void*) &lv_indev_get_obj_act, "lv_obj", "" },
|
||||
{ "indev_read_timer_cb", (void*) &lv_indev_read_timer_cb, "", "(lv_timer)" },
|
||||
{ "layer_sys", (void*) &lv_layer_sys, "lv_obj", "" },
|
||||
{ "layer_top", (void*) &lv_layer_top, "lv_obj", "" },
|
||||
{ "indev_get_act", (void*) &lv_indev_get_act, "lv.lv_indev", "" },
|
||||
{ "indev_get_obj_act", (void*) &lv_indev_get_obj_act, "lv.lv_obj", "" },
|
||||
{ "indev_read_timer_cb", (void*) &lv_indev_read_timer_cb, "", "(lv.lv_timer)" },
|
||||
{ "layer_sys", (void*) &lv_layer_sys, "lv.lv_obj", "" },
|
||||
{ "layer_top", (void*) &lv_layer_top, "lv.lv_obj", "" },
|
||||
{ "layout_register", (void*) &lv_layout_register, "i", "^lv_layout_update_cb^." },
|
||||
{ "obj_class_create_obj", (void*) &lv_obj_class_create_obj, "lv_obj", "(_lv_obj_class)(lv_obj)" },
|
||||
{ "obj_del_anim_ready_cb", (void*) &lv_obj_del_anim_ready_cb, "", "(lv_anim)" },
|
||||
{ "obj_draw_dsc_init", (void*) &lv_obj_draw_dsc_init, "", "(lv_obj_draw_part_dsc)(lv_area)" },
|
||||
{ "obj_class_create_obj", (void*) &lv_obj_class_create_obj, "lv.lv_obj", "(lv._lv_obj_class)(lv.lv_obj)" },
|
||||
{ "obj_del_anim_ready_cb", (void*) &lv_obj_del_anim_ready_cb, "", "(lv.lv_anim)" },
|
||||
{ "obj_draw_dsc_init", (void*) &lv_obj_draw_dsc_init, "", "(lv.lv_obj_draw_part_dsc)(lv.lv_area)" },
|
||||
{ "obj_enable_style_refresh", (void*) &lv_obj_enable_style_refresh, "", "b" },
|
||||
{ "obj_event_base", (void*) &lv_obj_event_base, "i", "(lv_obj_class)(lv_event)" },
|
||||
{ "obj_report_style_change", (void*) &lv_obj_report_style_change, "", "(lv_style)" },
|
||||
{ "obj_style_get_selector_part", (void*) &lv_obj_style_get_selector_part, "i", "(lv_style_selector)" },
|
||||
{ "obj_style_get_selector_state", (void*) &lv_obj_style_get_selector_state, "i", "(lv_style_selector)" },
|
||||
{ "refr_now", (void*) &lv_refr_now, "", "(lv_disp)" },
|
||||
{ "scr_act", (void*) &lv_scr_act, "lv_obj", "" },
|
||||
{ "scr_load", (void*) &lv_scr_load, "", "(lv_obj)" },
|
||||
{ "scr_load_anim", (void*) &lv_scr_load_anim, "", "(lv_obj)iiib" },
|
||||
{ "theme_apply", (void*) &lv_theme_apply, "", "(lv_obj)" },
|
||||
{ "theme_get_color_primary", (void*) &lv_theme_get_color_primary, "lv_color", "(lv_obj)" },
|
||||
{ "theme_get_color_secondary", (void*) &lv_theme_get_color_secondary, "lv_color", "(lv_obj)" },
|
||||
{ "theme_get_font_large", (void*) &lv_theme_get_font_large, "lv_font", "(lv_obj)" },
|
||||
{ "theme_get_font_normal", (void*) &lv_theme_get_font_normal, "lv_font", "(lv_obj)" },
|
||||
{ "theme_get_font_small", (void*) &lv_theme_get_font_small, "lv_font", "(lv_obj)" },
|
||||
{ "theme_set_apply_cb", (void*) &lv_theme_set_apply_cb, "", "(lv_theme)^lv_theme_apply_cb^" },
|
||||
{ "theme_set_parent", (void*) &lv_theme_set_parent, "", "(lv_theme)(lv_theme)" },
|
||||
{ "obj_event_base", (void*) &lv_obj_event_base, "i", "(lv.lv_obj_class)(lv.lv_event)" },
|
||||
{ "obj_report_style_change", (void*) &lv_obj_report_style_change, "", "(lv.lv_style)" },
|
||||
{ "obj_style_get_selector_part", (void*) &lv_obj_style_get_selector_part, "i", "i" },
|
||||
{ "obj_style_get_selector_state", (void*) &lv_obj_style_get_selector_state, "i", "i" },
|
||||
{ "refr_now", (void*) &lv_refr_now, "", "(lv.lv_disp)" },
|
||||
{ "scr_act", (void*) &lv_scr_act, "lv.lv_obj", "" },
|
||||
{ "scr_load", (void*) &lv_scr_load, "", "(lv.lv_obj)" },
|
||||
{ "scr_load_anim", (void*) &lv_scr_load_anim, "", "(lv.lv_obj)iiib" },
|
||||
{ "theme_apply", (void*) &lv_theme_apply, "", "(lv.lv_obj)" },
|
||||
{ "theme_default_init", (void*) &lv_theme_default_init, "lv.lv_theme", "(lv.lv_disp)(lv.lv_color)(lv.lv_color)b(lv.lv_font)" },
|
||||
{ "theme_default_is_inited", (void*) &lv_theme_default_is_inited, "b", "" },
|
||||
{ "theme_get_color_primary", (void*) &lv_theme_get_color_primary, "lv.lv_color", "(lv.lv_obj)" },
|
||||
{ "theme_get_color_secondary", (void*) &lv_theme_get_color_secondary, "lv.lv_color", "(lv.lv_obj)" },
|
||||
{ "theme_get_font_large", (void*) &lv_theme_get_font_large, "lv.lv_font", "(lv.lv_obj)" },
|
||||
{ "theme_get_font_normal", (void*) &lv_theme_get_font_normal, "lv.lv_font", "(lv.lv_obj)" },
|
||||
{ "theme_get_font_small", (void*) &lv_theme_get_font_small, "lv.lv_font", "(lv.lv_obj)" },
|
||||
{ "theme_get_from_obj", (void*) &lv_theme_get_from_obj, "lv.lv_theme", "(lv.lv_obj)" },
|
||||
{ "theme_mono_init", (void*) &lv_theme_mono_init, "lv.lv_theme", "(lv.lv_disp)b(lv.lv_font)" },
|
||||
{ "theme_openhasp_init", (void*) &lv_theme_openhasp_init, "lv.lv_theme", "(lv.lv_disp)(lv.lv_color)(lv.lv_color)b(lv.lv_font)" },
|
||||
{ "theme_openhasp_is_inited", (void*) &lv_theme_openhasp_is_inited, "b", "" },
|
||||
{ "theme_set_apply_cb", (void*) &lv_theme_set_apply_cb, "", "(lv.lv_theme)^lv_theme_apply_cb^" },
|
||||
{ "theme_set_parent", (void*) &lv_theme_set_parent, "", "(lv.lv_theme)(lv.lv_theme)" },
|
||||
|
||||
};
|
||||
const size_t lv_func_size = sizeof(lv_func) / sizeof(lv_func[0]);
|
||||
|
@ -177,23 +186,23 @@ const be_constint_t lv0_constants[] = {
|
|||
{ "COLORWHEEL_MODE_HUE", LV_COLORWHEEL_MODE_HUE },
|
||||
{ "COLORWHEEL_MODE_SATURATION", LV_COLORWHEEL_MODE_SATURATION },
|
||||
{ "COLORWHEEL_MODE_VALUE", LV_COLORWHEEL_MODE_VALUE },
|
||||
{ "COLOR_AQUA", 65535 },
|
||||
{ "COLOR_BLACK", 0 },
|
||||
{ "COLOR_BLUE", 255 },
|
||||
{ "COLOR_CYAN", 65535 },
|
||||
{ "COLOR_GRAY", 8421504 },
|
||||
{ "COLOR_GREEN", 32768 },
|
||||
{ "COLOR_LIME", 65280 },
|
||||
{ "COLOR_MAGENTA", 16711935 },
|
||||
{ "COLOR_MAROON", 8388608 },
|
||||
{ "COLOR_NAVY", 128 },
|
||||
{ "COLOR_OLIVE", 8421376 },
|
||||
{ "COLOR_PURPLE", 8388736 },
|
||||
{ "COLOR_RED", 16711680 },
|
||||
{ "COLOR_SILVER", 12632256 },
|
||||
{ "COLOR_TEAL", 32896 },
|
||||
{ "COLOR_WHITE", 16777215 },
|
||||
{ "COLOR_YELLOW", 16776960 },
|
||||
{ "COLOR_AQUA", (int32_t) 0x00FFFF },
|
||||
{ "COLOR_BLACK", (int32_t) 0x000000 },
|
||||
{ "COLOR_BLUE", (int32_t) 0x0000FF },
|
||||
{ "COLOR_CYAN", (int32_t) 0x00FFFF },
|
||||
{ "COLOR_GRAY", (int32_t) 0x808080 },
|
||||
{ "COLOR_GREEN", (int32_t) 0x008000 },
|
||||
{ "COLOR_LIME", (int32_t) 0x00FF00 },
|
||||
{ "COLOR_MAGENTA", (int32_t) 0xFF00FF },
|
||||
{ "COLOR_MAROON", (int32_t) 0x800000 },
|
||||
{ "COLOR_NAVY", (int32_t) 0x000080 },
|
||||
{ "COLOR_OLIVE", (int32_t) 0x808000 },
|
||||
{ "COLOR_PURPLE", (int32_t) 0x800080 },
|
||||
{ "COLOR_RED", (int32_t) 0xFF0000 },
|
||||
{ "COLOR_SILVER", (int32_t) 0xC0C0C0 },
|
||||
{ "COLOR_TEAL", (int32_t) 0x008080 },
|
||||
{ "COLOR_WHITE", (int32_t) 0xFFFFFF },
|
||||
{ "COLOR_YELLOW", (int32_t) 0xFFFF00 },
|
||||
{ "COVER_RES_COVER", LV_COVER_RES_COVER },
|
||||
{ "COVER_RES_MASKED", LV_COVER_RES_MASKED },
|
||||
{ "COVER_RES_NOT_COVER", LV_COVER_RES_NOT_COVER },
|
||||
|
@ -573,6 +582,65 @@ const be_constint_t lv0_constants[] = {
|
|||
{ "STYLE_WIDTH", LV_STYLE_WIDTH },
|
||||
{ "STYLE_X", LV_STYLE_X },
|
||||
{ "STYLE_Y", LV_STYLE_Y },
|
||||
{ "$SYMBOL_AUDIO", (int32_t) "\xef\x80\x81" },
|
||||
{ "$SYMBOL_BACKSPACE", (int32_t) "\xef\x95\x9A" },
|
||||
{ "$SYMBOL_BATTERY_1", (int32_t) "\xef\x89\x83" },
|
||||
{ "$SYMBOL_BATTERY_2", (int32_t) "\xef\x89\x82" },
|
||||
{ "$SYMBOL_BATTERY_3", (int32_t) "\xef\x89\x81" },
|
||||
{ "$SYMBOL_BATTERY_EMPTY", (int32_t) "\xef\x89\x84" },
|
||||
{ "$SYMBOL_BATTERY_FULL", (int32_t) "\xef\x89\x80" },
|
||||
{ "$SYMBOL_BELL", (int32_t) "\xef\x83\xb3" },
|
||||
{ "$SYMBOL_BLUETOOTH", (int32_t) "\xef\x8a\x93" },
|
||||
{ "$SYMBOL_BULLET", (int32_t) "\xE2\x80\xA2" },
|
||||
{ "$SYMBOL_CALL", (int32_t) "\xef\x82\x95" },
|
||||
{ "$SYMBOL_CHARGE", (int32_t) "\xef\x83\xa7" },
|
||||
{ "$SYMBOL_CLOSE", (int32_t) "\xef\x80\x8d" },
|
||||
{ "$SYMBOL_COPY", (int32_t) "\xef\x83\x85" },
|
||||
{ "$SYMBOL_CUT", (int32_t) "\xef\x83\x84" },
|
||||
{ "$SYMBOL_DIRECTORY", (int32_t) "\xef\x81\xbb" },
|
||||
{ "$SYMBOL_DOWN", (int32_t) "\xef\x81\xb8" },
|
||||
{ "$SYMBOL_DOWNLOAD", (int32_t) "\xef\x80\x99" },
|
||||
{ "$SYMBOL_DRIVE", (int32_t) "\xef\x80\x9c" },
|
||||
{ "$SYMBOL_DUMMY", (int32_t) "\xEF\xA3\xBF" },
|
||||
{ "$SYMBOL_EDIT", (int32_t) "\xef\x8C\x84" },
|
||||
{ "$SYMBOL_EJECT", (int32_t) "\xef\x81\x92" },
|
||||
{ "$SYMBOL_EYE_CLOSE", (int32_t) "\xef\x81\xb0" },
|
||||
{ "$SYMBOL_EYE_OPEN", (int32_t) "\xef\x81\xae" },
|
||||
{ "$SYMBOL_FILE", (int32_t) "\xef\x85\x9b" },
|
||||
{ "$SYMBOL_GPS", (int32_t) "\xef\x84\xa4" },
|
||||
{ "$SYMBOL_HOME", (int32_t) "\xef\x80\x95" },
|
||||
{ "$SYMBOL_IMAGE", (int32_t) "\xef\x80\xbe" },
|
||||
{ "$SYMBOL_KEYBOARD", (int32_t) "\xef\x84\x9c" },
|
||||
{ "$SYMBOL_LEFT", (int32_t) "\xef\x81\x93" },
|
||||
{ "$SYMBOL_LIST", (int32_t) "\xef\x80\x8b" },
|
||||
{ "$SYMBOL_LOOP", (int32_t) "\xef\x81\xb9" },
|
||||
{ "$SYMBOL_MINUS", (int32_t) "\xef\x81\xa8" },
|
||||
{ "$SYMBOL_MUTE", (int32_t) "\xef\x80\xa6" },
|
||||
{ "$SYMBOL_NEW_LINE", (int32_t) "\xef\xA2\xA2" },
|
||||
{ "$SYMBOL_NEXT", (int32_t) "\xef\x81\x91" },
|
||||
{ "$SYMBOL_OK", (int32_t) "\xef\x80\x8c" },
|
||||
{ "$SYMBOL_PASTE", (int32_t) "\xef\x83\xAA" },
|
||||
{ "$SYMBOL_PAUSE", (int32_t) "\xef\x81\x8c" },
|
||||
{ "$SYMBOL_PLAY", (int32_t) "\xef\x81\x8b" },
|
||||
{ "$SYMBOL_PLUS", (int32_t) "\xef\x81\xa7" },
|
||||
{ "$SYMBOL_POWER", (int32_t) "\xef\x80\x91" },
|
||||
{ "$SYMBOL_PREV", (int32_t) "\xef\x81\x88" },
|
||||
{ "$SYMBOL_REFRESH", (int32_t) "\xef\x80\xa1" },
|
||||
{ "$SYMBOL_RIGHT", (int32_t) "\xef\x81\x94" },
|
||||
{ "$SYMBOL_SAVE", (int32_t) "\xef\x83\x87" },
|
||||
{ "$SYMBOL_SD_CARD", (int32_t) "\xef\x9F\x82" },
|
||||
{ "$SYMBOL_SETTINGS", (int32_t) "\xef\x80\x93" },
|
||||
{ "$SYMBOL_SHUFFLE", (int32_t) "\xef\x81\xb4" },
|
||||
{ "$SYMBOL_STOP", (int32_t) "\xef\x81\x8d" },
|
||||
{ "$SYMBOL_TRASH", (int32_t) "\xef\x8B\xAD" },
|
||||
{ "$SYMBOL_UP", (int32_t) "\xef\x81\xb7" },
|
||||
{ "$SYMBOL_UPLOAD", (int32_t) "\xef\x82\x93" },
|
||||
{ "$SYMBOL_USB", (int32_t) "\xef\x8a\x87" },
|
||||
{ "$SYMBOL_VIDEO", (int32_t) "\xef\x80\x88" },
|
||||
{ "$SYMBOL_VOLUME_MAX", (int32_t) "\xef\x80\xa8" },
|
||||
{ "$SYMBOL_VOLUME_MID", (int32_t) "\xef\x80\xa7" },
|
||||
{ "$SYMBOL_WARNING", (int32_t) "\xef\x81\xb1" },
|
||||
{ "$SYMBOL_WIFI", (int32_t) "\xef\x87\xab" },
|
||||
{ "TABLE_CELL_CTRL_CUSTOM_1", LV_TABLE_CELL_CTRL_CUSTOM_1 },
|
||||
{ "TABLE_CELL_CTRL_CUSTOM_2", LV_TABLE_CELL_CTRL_CUSTOM_2 },
|
||||
{ "TABLE_CELL_CTRL_CUSTOM_3", LV_TABLE_CELL_CTRL_CUSTOM_3 },
|
||||
|
@ -594,153 +662,30 @@ const be_constint_t lv0_constants[] = {
|
|||
{ "TEXT_FLAG_FIT", LV_TEXT_FLAG_FIT },
|
||||
{ "TEXT_FLAG_NONE", LV_TEXT_FLAG_NONE },
|
||||
{ "TEXT_FLAG_RECOLOR", LV_TEXT_FLAG_RECOLOR },
|
||||
{ "&font_montserrat", (int32_t) &lv0_load_montserrat_font },
|
||||
{ "&font_robotocondensed_latin1", (int32_t) &lv0_load_robotocondensed_latin1_font },
|
||||
{ "&font_seg7", (int32_t) &lv0_load_seg7_font },
|
||||
{ "&load_font", (int32_t) &lv0_load_font },
|
||||
{ "&load_freetype_font", (int32_t) &lv0_load_freetype_font },
|
||||
{ "&montserrat_font", (int32_t) &lv0_load_montserrat_font },
|
||||
{ "®ister_button_encoder", (int32_t) &lv0_register_button_encoder },
|
||||
{ "&screenshot", (int32_t) &lv0_screenshot },
|
||||
{ "&seg7_font", (int32_t) &lv0_load_seg7_font },
|
||||
|
||||
};
|
||||
|
||||
const size_t lv0_constants_size = sizeof(lv0_constants)/sizeof(lv0_constants[0]);
|
||||
|
||||
be_define_local_const_str(SYMBOL_AUDIO, "\xef\x80\x81", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_VIDEO, "\xef\x80\x88", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_LIST, "\xef\x80\x8b", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_OK, "\xef\x80\x8c", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_CLOSE, "\xef\x80\x8d", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_POWER, "\xef\x80\x91", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_SETTINGS, "\xef\x80\x93", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_HOME, "\xef\x80\x95", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_DOWNLOAD, "\xef\x80\x99", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_DRIVE, "\xef\x80\x9c", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_REFRESH, "\xef\x80\xa1", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_MUTE, "\xef\x80\xa6", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_VOLUME_MID, "\xef\x80\xa7", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_VOLUME_MAX, "\xef\x80\xa8", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_IMAGE, "\xef\x80\xbe", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_EDIT, "\xef\x8C\x84", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_PREV, "\xef\x81\x88", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_PLAY, "\xef\x81\x8b", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_PAUSE, "\xef\x81\x8c", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_STOP, "\xef\x81\x8d", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_NEXT, "\xef\x81\x91", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_EJECT, "\xef\x81\x92", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_LEFT, "\xef\x81\x93", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_RIGHT, "\xef\x81\x94", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_PLUS, "\xef\x81\xa7", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_MINUS, "\xef\x81\xa8", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_EYE_OPEN, "\xef\x81\xae", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_EYE_CLOSE, "\xef\x81\xb0", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_WARNING, "\xef\x81\xb1", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_SHUFFLE, "\xef\x81\xb4", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_UP, "\xef\x81\xb7", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_DOWN, "\xef\x81\xb8", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_LOOP, "\xef\x81\xb9", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_DIRECTORY, "\xef\x81\xbb", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_UPLOAD, "\xef\x82\x93", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_CALL, "\xef\x82\x95", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_CUT, "\xef\x83\x84", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_COPY, "\xef\x83\x85", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_SAVE, "\xef\x83\x87", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_CHARGE, "\xef\x83\xa7", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_PASTE, "\xef\x83\xAA", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_BELL, "\xef\x83\xb3", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_KEYBOARD, "\xef\x84\x9c", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_GPS, "\xef\x84\xa4", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_FILE, "\xef\x85\x9b", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_WIFI, "\xef\x87\xab", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_BATTERY_FULL, "\xef\x89\x80", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_BATTERY_3, "\xef\x89\x81", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_BATTERY_2, "\xef\x89\x82", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_BATTERY_1, "\xef\x89\x83", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_BATTERY_EMPTY, "\xef\x89\x84", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_USB, "\xef\x8a\x87", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_BLUETOOTH, "\xef\x8a\x93", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_TRASH, "\xef\x8B\xAD", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_BACKSPACE, "\xef\x95\x9A", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_SD_CARD, "\xef\x9F\x82", 0, 3);
|
||||
be_define_local_const_str(SYMBOL_NEW_LINE, "\xef\xA2\xA2", 0, 3);
|
||||
|
||||
be_define_local_const_str(SYMBOL_DUMMY, "\xEF\xA3\xBF", 0, 3);
|
||||
|
||||
be_define_local_const_str(SYMBOL_BULLET, "\xE2\x80\xA2", 0, 3);
|
||||
|
||||
|
||||
/* @const_object_info_begin
|
||||
module lvgl (scope: global) {
|
||||
SYMBOL_AUDIO, str(&be_local_const_str_SYMBOL_AUDIO)
|
||||
SYMBOL_VIDEO, str(&be_local_const_str_SYMBOL_VIDEO)
|
||||
SYMBOL_LIST, str(&be_local_const_str_SYMBOL_LIST)
|
||||
SYMBOL_OK, str(&be_local_const_str_SYMBOL_OK)
|
||||
SYMBOL_CLOSE, str(&be_local_const_str_SYMBOL_CLOSE)
|
||||
SYMBOL_POWER, str(&be_local_const_str_SYMBOL_POWER)
|
||||
SYMBOL_SETTINGS, str(&be_local_const_str_SYMBOL_SETTINGS)
|
||||
SYMBOL_HOME, str(&be_local_const_str_SYMBOL_HOME)
|
||||
SYMBOL_DOWNLOAD, str(&be_local_const_str_SYMBOL_DOWNLOAD)
|
||||
SYMBOL_DRIVE, str(&be_local_const_str_SYMBOL_DRIVE)
|
||||
SYMBOL_REFRESH, str(&be_local_const_str_SYMBOL_REFRESH)
|
||||
SYMBOL_MUTE, str(&be_local_const_str_SYMBOL_MUTE)
|
||||
SYMBOL_VOLUME_MID, str(&be_local_const_str_SYMBOL_VOLUME_MID)
|
||||
SYMBOL_VOLUME_MAX, str(&be_local_const_str_SYMBOL_VOLUME_MAX)
|
||||
SYMBOL_IMAGE, str(&be_local_const_str_SYMBOL_IMAGE)
|
||||
SYMBOL_EDIT, str(&be_local_const_str_SYMBOL_EDIT)
|
||||
SYMBOL_PREV, str(&be_local_const_str_SYMBOL_PREV)
|
||||
SYMBOL_PLAY, str(&be_local_const_str_SYMBOL_PLAY)
|
||||
SYMBOL_PAUSE, str(&be_local_const_str_SYMBOL_PAUSE)
|
||||
SYMBOL_STOP, str(&be_local_const_str_SYMBOL_STOP)
|
||||
SYMBOL_NEXT, str(&be_local_const_str_SYMBOL_NEXT)
|
||||
SYMBOL_EJECT, str(&be_local_const_str_SYMBOL_EJECT)
|
||||
SYMBOL_LEFT, str(&be_local_const_str_SYMBOL_LEFT)
|
||||
SYMBOL_RIGHT, str(&be_local_const_str_SYMBOL_RIGHT)
|
||||
SYMBOL_PLUS, str(&be_local_const_str_SYMBOL_PLUS)
|
||||
SYMBOL_MINUS, str(&be_local_const_str_SYMBOL_MINUS)
|
||||
SYMBOL_EYE_OPEN, str(&be_local_const_str_SYMBOL_EYE_OPEN)
|
||||
SYMBOL_EYE_CLOSE, str(&be_local_const_str_SYMBOL_EYE_CLOSE)
|
||||
SYMBOL_WARNING, str(&be_local_const_str_SYMBOL_WARNING)
|
||||
SYMBOL_SHUFFLE, str(&be_local_const_str_SYMBOL_SHUFFLE)
|
||||
SYMBOL_UP, str(&be_local_const_str_SYMBOL_UP)
|
||||
SYMBOL_DOWN, str(&be_local_const_str_SYMBOL_DOWN)
|
||||
SYMBOL_LOOP, str(&be_local_const_str_SYMBOL_LOOP)
|
||||
SYMBOL_DIRECTORY, str(&be_local_const_str_SYMBOL_DIRECTORY)
|
||||
SYMBOL_UPLOAD, str(&be_local_const_str_SYMBOL_UPLOAD)
|
||||
SYMBOL_CALL, str(&be_local_const_str_SYMBOL_CALL)
|
||||
SYMBOL_CUT, str(&be_local_const_str_SYMBOL_CUT)
|
||||
SYMBOL_COPY, str(&be_local_const_str_SYMBOL_COPY)
|
||||
SYMBOL_SAVE, str(&be_local_const_str_SYMBOL_SAVE)
|
||||
SYMBOL_CHARGE, str(&be_local_const_str_SYMBOL_CHARGE)
|
||||
SYMBOL_PASTE, str(&be_local_const_str_SYMBOL_PASTE)
|
||||
SYMBOL_BELL, str(&be_local_const_str_SYMBOL_BELL)
|
||||
SYMBOL_KEYBOARD, str(&be_local_const_str_SYMBOL_KEYBOARD)
|
||||
SYMBOL_GPS, str(&be_local_const_str_SYMBOL_GPS)
|
||||
SYMBOL_FILE, str(&be_local_const_str_SYMBOL_FILE)
|
||||
SYMBOL_WIFI, str(&be_local_const_str_SYMBOL_WIFI)
|
||||
SYMBOL_BATTERY_FULL, str(&be_local_const_str_SYMBOL_BATTERY_FULL)
|
||||
SYMBOL_BATTERY_3, str(&be_local_const_str_SYMBOL_BATTERY_3)
|
||||
SYMBOL_BATTERY_2, str(&be_local_const_str_SYMBOL_BATTERY_2)
|
||||
SYMBOL_BATTERY_1, str(&be_local_const_str_SYMBOL_BATTERY_1)
|
||||
SYMBOL_BATTERY_EMPTY, str(&be_local_const_str_SYMBOL_BATTERY_EMPTY)
|
||||
SYMBOL_USB, str(&be_local_const_str_SYMBOL_USB)
|
||||
SYMBOL_BLUETOOTH, str(&be_local_const_str_SYMBOL_BLUETOOTH)
|
||||
SYMBOL_TRASH, str(&be_local_const_str_SYMBOL_TRASH)
|
||||
SYMBOL_BACKSPACE, str(&be_local_const_str_SYMBOL_BACKSPACE)
|
||||
SYMBOL_SD_CARD, str(&be_local_const_str_SYMBOL_SD_CARD)
|
||||
SYMBOL_NEW_LINE, str(&be_local_const_str_SYMBOL_NEW_LINE)
|
||||
|
||||
SYMBOL_DUMMY, str(&be_local_const_str_SYMBOL_DUMMY)
|
||||
|
||||
SYMBOL_BULLET, str(&be_local_const_str_SYMBOL_BULLET)
|
||||
|
||||
|
||||
member, func(lv0_member)
|
||||
start, func(lv0_start)
|
||||
|
||||
register_button_encoder, func(lv0_register_button_encoder)
|
||||
|
||||
montserrat_font, func(lv0_load_montserrat_font)
|
||||
seg7_font, func(lv0_load_seg7_font)
|
||||
load_font, func(lv0_load_font)
|
||||
load_freetype_font, func(lv0_load_freetype_font)
|
||||
|
||||
screenshot, func(lv0_screenshot)
|
||||
}
|
||||
@const_object_info_end */
|
||||
#include "../generate/be_fixed_lvgl.h"
|
||||
/* generated */
|
||||
be_local_module(lv,
|
||||
"lv",
|
||||
be_nested_map(2,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_nested_key("member", 719708611, 6, -1), be_const_func(lv0_member) },
|
||||
{ be_nested_key("start", 1697318111, 5, 0), be_const_func(lv0_start) },
|
||||
}))
|
||||
);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(lv);
|
||||
|
||||
#endif // USE_LVGL
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ be_local_closure(set_percentage, /* name */
|
|||
/* K2 */ be_nested_string("invalidate", -1645232368, 10),
|
||||
}),
|
||||
(be_nested_const_str("set_percentage", -1342944572, 14)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[18]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x540E0018, // 0001 LDINT R3 25
|
||||
|
@ -70,16 +70,16 @@ be_local_closure(init, /* name */
|
|||
/* K1 */ be_nested_string("create_custom_widget", 1140594778, 20),
|
||||
/* K2 */ be_nested_string("percentage", -1756136011, 10),
|
||||
/* K3 */ be_nested_string("p1", -1605446022, 2),
|
||||
/* K4 */ be_nested_string("lv_point", -174745506, 8),
|
||||
/* K5 */ be_nested_string("p2", -1622223641, 2),
|
||||
/* K6 */ be_nested_string("area", -1693507260, 4),
|
||||
/* K7 */ be_nested_string("lv_area", -1773816895, 7),
|
||||
/* K4 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K5 */ be_nested_string("point", 414084241, 5),
|
||||
/* K6 */ be_nested_string("p2", -1622223641, 2),
|
||||
/* K7 */ be_nested_string("area", -1693507260, 4),
|
||||
/* K8 */ be_nested_string("line_dsc", -200476318, 8),
|
||||
/* K9 */ be_nested_string("lv_draw_line_dsc", -1872162060, 16),
|
||||
/* K9 */ be_nested_string("draw_line_dsc", -74291093, 13),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[20]) { /* code */
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[24]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
0x5C100000, // 0002 MOVE R4 R0
|
||||
|
@ -88,18 +88,22 @@ be_local_closure(init, /* name */
|
|||
0x540A0063, // 0005 LDINT R2 100
|
||||
0x90020402, // 0006 SETMBR R0 K2 R2
|
||||
0xB80A0800, // 0007 GETNGBL R2 K4
|
||||
0x7C080000, // 0008 CALL R2 0
|
||||
0x90020602, // 0009 SETMBR R0 K3 R2
|
||||
0xB80A0800, // 000A GETNGBL R2 K4
|
||||
0x7C080000, // 000B CALL R2 0
|
||||
0x90020A02, // 000C SETMBR R0 K5 R2
|
||||
0xB80A0E00, // 000D GETNGBL R2 K7
|
||||
0x7C080000, // 000E CALL R2 0
|
||||
0x90020C02, // 000F SETMBR R0 K6 R2
|
||||
0xB80A1200, // 0010 GETNGBL R2 K9
|
||||
0x7C080000, // 0011 CALL R2 0
|
||||
0x90021002, // 0012 SETMBR R0 K8 R2
|
||||
0x80000000, // 0013 RET 0
|
||||
0x8C080505, // 0008 GETMET R2 R2 K5
|
||||
0x7C080200, // 0009 CALL R2 1
|
||||
0x90020602, // 000A SETMBR R0 K3 R2
|
||||
0xB80A0800, // 000B GETNGBL R2 K4
|
||||
0x8C080505, // 000C GETMET R2 R2 K5
|
||||
0x7C080200, // 000D CALL R2 1
|
||||
0x90020C02, // 000E SETMBR R0 K6 R2
|
||||
0xB80A0800, // 000F GETNGBL R2 K4
|
||||
0x8C080507, // 0010 GETMET R2 R2 K7
|
||||
0x7C080200, // 0011 CALL R2 1
|
||||
0x90020E02, // 0012 SETMBR R0 K7 R2
|
||||
0xB80A0800, // 0013 GETNGBL R2 K4
|
||||
0x8C080509, // 0014 GETMET R2 R2 K9
|
||||
0x7C080200, // 0015 CALL R2 1
|
||||
0x90021002, // 0016 SETMBR R0 K8 R2
|
||||
0x80000000, // 0017 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -131,7 +135,7 @@ be_local_closure(widget_event, /* name */
|
|||
/* K0 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("atleast1", 1956331672, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0x28040100, // 0000 GE R1 R0 K0
|
||||
0x78060001, // 0001 JMPF R1 #0004
|
||||
|
@ -143,7 +147,7 @@ be_local_closure(widget_event, /* name */
|
|||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[36]) { /* constants */
|
||||
( &(const bvalue[35]) { /* constants */
|
||||
/* K0 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K1 */ be_nested_string("obj_event_base", 1624064363, 14),
|
||||
/* K2 */ be_nested_string("RES_OK", 1233817284, 6),
|
||||
|
@ -154,36 +158,35 @@ be_local_closure(widget_event, /* name */
|
|||
/* K7 */ be_const_int(2),
|
||||
/* K8 */ be_const_int(3),
|
||||
/* K9 */ be_nested_string("EVENT_DRAW_MAIN", 1955620614, 15),
|
||||
/* K10 */ be_nested_string("lv_area", -1773816895, 7),
|
||||
/* K10 */ be_nested_string("area", -1693507260, 4),
|
||||
/* K11 */ be_nested_string("param", 1309554226, 5),
|
||||
/* K12 */ be_nested_string("get_coords", 1044089006, 10),
|
||||
/* K13 */ be_nested_string("area", -1693507260, 4),
|
||||
/* K14 */ be_nested_string("x1", 274927234, 2),
|
||||
/* K15 */ be_nested_string("y1", -1939865569, 2),
|
||||
/* K16 */ be_nested_string("draw_line_dsc_init", -428273650, 18),
|
||||
/* K17 */ be_nested_string("line_dsc", -200476318, 8),
|
||||
/* K18 */ be_nested_string("init_draw_line_dsc", -1787031256, 18),
|
||||
/* K19 */ be_nested_string("PART_MAIN", -1821475788, 9),
|
||||
/* K20 */ be_nested_string("round_start", -1345482912, 11),
|
||||
/* K21 */ be_const_int(1),
|
||||
/* K22 */ be_nested_string("round_end", 985288225, 9),
|
||||
/* K23 */ be_nested_string("width", -1786286561, 5),
|
||||
/* K24 */ be_nested_string("get_style_line_color", 805371932, 20),
|
||||
/* K25 */ be_nested_string("STATE_DEFAULT", 712406428, 13),
|
||||
/* K26 */ be_nested_string("get_style_bg_color", 964794381, 18),
|
||||
/* K27 */ be_nested_string("deg", -967213025, 3),
|
||||
/* K28 */ be_nested_string("acos", 1006755615, 4),
|
||||
/* K29 */ be_nested_string("p1", -1605446022, 2),
|
||||
/* K30 */ be_nested_string("x", -49524601, 1),
|
||||
/* K31 */ be_nested_string("y", -66302220, 1),
|
||||
/* K32 */ be_nested_string("color", 1031692888, 5),
|
||||
/* K33 */ be_nested_string("percentage", -1756136011, 10),
|
||||
/* K34 */ be_nested_string("draw_arc", 1828251676, 8),
|
||||
/* K35 */ be_const_int(0),
|
||||
/* K13 */ be_nested_string("x1", 274927234, 2),
|
||||
/* K14 */ be_nested_string("y1", -1939865569, 2),
|
||||
/* K15 */ be_nested_string("draw_line_dsc_init", -428273650, 18),
|
||||
/* K16 */ be_nested_string("line_dsc", -200476318, 8),
|
||||
/* K17 */ be_nested_string("init_draw_line_dsc", -1787031256, 18),
|
||||
/* K18 */ be_nested_string("PART_MAIN", -1821475788, 9),
|
||||
/* K19 */ be_nested_string("round_start", -1345482912, 11),
|
||||
/* K20 */ be_const_int(1),
|
||||
/* K21 */ be_nested_string("round_end", 985288225, 9),
|
||||
/* K22 */ be_nested_string("width", -1786286561, 5),
|
||||
/* K23 */ be_nested_string("get_style_line_color", 805371932, 20),
|
||||
/* K24 */ be_nested_string("STATE_DEFAULT", 712406428, 13),
|
||||
/* K25 */ be_nested_string("get_style_bg_color", 964794381, 18),
|
||||
/* K26 */ be_nested_string("deg", -967213025, 3),
|
||||
/* K27 */ be_nested_string("acos", 1006755615, 4),
|
||||
/* K28 */ be_nested_string("p1", -1605446022, 2),
|
||||
/* K29 */ be_nested_string("x", -49524601, 1),
|
||||
/* K30 */ be_nested_string("y", -66302220, 1),
|
||||
/* K31 */ be_nested_string("color", 1031692888, 5),
|
||||
/* K32 */ be_nested_string("percentage", -1756136011, 10),
|
||||
/* K33 */ be_nested_string("draw_arc", 1828251676, 8),
|
||||
/* K34 */ be_const_int(0),
|
||||
}),
|
||||
(be_nested_const_str("widget_event", 1951408186, 12)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[181]) { /* code */
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[182]) { /* code */
|
||||
0xB80E0000, // 0000 GETNGBL R3 K0
|
||||
0x8C0C0701, // 0001 GETMET R3 R3 K1
|
||||
0x5C140200, // 0002 MOVE R5 R1
|
||||
|
@ -214,157 +217,158 @@ be_local_closure(widget_event, /* name */
|
|||
0xB82E0000, // 001B GETNGBL R11 K0
|
||||
0x882C1709, // 001C GETMBR R11 R11 K9
|
||||
0x1C2C060B, // 001D EQ R11 R3 R11
|
||||
0x782E0094, // 001E JMPF R11 #00B4
|
||||
0xB82E1400, // 001F GETNGBL R11 K10
|
||||
0x8830050B, // 0020 GETMBR R12 R2 K11
|
||||
0x7C2C0200, // 0021 CALL R11 1
|
||||
0x8C30010C, // 0022 GETMET R12 R0 K12
|
||||
0x8838010D, // 0023 GETMBR R14 R0 K13
|
||||
0x7C300400, // 0024 CALL R12 2
|
||||
0x8830010D, // 0025 GETMBR R12 R0 K13
|
||||
0x8830190E, // 0026 GETMBR R12 R12 K14
|
||||
0x8834010D, // 0027 GETMBR R13 R0 K13
|
||||
0x88341B0F, // 0028 GETMBR R13 R13 K15
|
||||
0xB83A0000, // 0029 GETNGBL R14 K0
|
||||
0x8C381D10, // 002A GETMET R14 R14 K16
|
||||
0x88400111, // 002B GETMBR R16 R0 K17
|
||||
0x7C380400, // 002C CALL R14 2
|
||||
0x8C380112, // 002D GETMET R14 R0 K18
|
||||
0xB8420000, // 002E GETNGBL R16 K0
|
||||
0x88402113, // 002F GETMBR R16 R16 K19
|
||||
0x88440111, // 0030 GETMBR R17 R0 K17
|
||||
0x7C380600, // 0031 CALL R14 3
|
||||
0x88380111, // 0032 GETMBR R14 R0 K17
|
||||
0x903A2915, // 0033 SETMBR R14 K20 K21
|
||||
0x88380111, // 0034 GETMBR R14 R0 K17
|
||||
0x903A2D15, // 0035 SETMBR R14 K22 K21
|
||||
0x88380111, // 0036 GETMBR R14 R0 K17
|
||||
0x083C1308, // 0037 MUL R15 R9 K8
|
||||
0x003C1F15, // 0038 ADD R15 R15 K21
|
||||
0x54420003, // 0039 LDINT R16 4
|
||||
0x0C3C1E10, // 003A DIV R15 R15 R16
|
||||
0x903A2E0F, // 003B SETMBR R14 K23 R15
|
||||
0x8C380118, // 003C GETMET R14 R0 K24
|
||||
0xB8420000, // 003D GETNGBL R16 K0
|
||||
0x88402113, // 003E GETMBR R16 R16 K19
|
||||
0xB8460000, // 003F GETNGBL R17 K0
|
||||
0x88442319, // 0040 GETMBR R17 R17 K25
|
||||
0x30402011, // 0041 OR R16 R16 R17
|
||||
0x7C380400, // 0042 CALL R14 2
|
||||
0x8C3C011A, // 0043 GETMET R15 R0 K26
|
||||
0xB8460000, // 0044 GETNGBL R17 K0
|
||||
0x88442313, // 0045 GETMBR R17 R17 K19
|
||||
0xB84A0000, // 0046 GETNGBL R18 K0
|
||||
0x88482519, // 0047 GETMBR R18 R18 K25
|
||||
0x30442212, // 0048 OR R17 R17 R18
|
||||
0x7C3C0400, // 0049 CALL R15 2
|
||||
0x04400C09, // 004A SUB R16 R6 R9
|
||||
0x0C440F07, // 004B DIV R17 R7 K7
|
||||
0x0444220A, // 004C SUB R17 R17 R10
|
||||
0x60480009, // 004D GETGBL R18 G9
|
||||
0x544E0059, // 004E LDINT R19 90
|
||||
0x8C50091B, // 004F GETMET R20 R4 K27
|
||||
0x8C58091C, // 0050 GETMET R22 R4 K28
|
||||
0x6060000A, // 0051 GETGBL R24 G10
|
||||
0x5C642200, // 0052 MOVE R25 R17
|
||||
0x7C600200, // 0053 CALL R24 1
|
||||
0x6064000A, // 0054 GETGBL R25 G10
|
||||
0x5C682000, // 0055 MOVE R26 R16
|
||||
0x7C640200, // 0056 CALL R25 1
|
||||
0x0C603019, // 0057 DIV R24 R24 R25
|
||||
0x7C580400, // 0058 CALL R22 2
|
||||
0x7C500400, // 0059 CALL R20 2
|
||||
0x044C2614, // 005A SUB R19 R19 R20
|
||||
0x7C480200, // 005B CALL R18 1
|
||||
0x544E002C, // 005C LDINT R19 45
|
||||
0x244C2413, // 005D GT R19 R18 R19
|
||||
0x784E0000, // 005E JMPF R19 #0060
|
||||
0x544A002C, // 005F LDINT R18 45
|
||||
0x884C011D, // 0060 GETMBR R19 R0 K29
|
||||
0x0C500F07, // 0061 DIV R20 R7 K7
|
||||
0x00501814, // 0062 ADD R20 R12 R20
|
||||
0x904E3C14, // 0063 SETMBR R19 K30 R20
|
||||
0x884C011D, // 0064 GETMBR R19 R0 K29
|
||||
0x00501A06, // 0065 ADD R20 R13 R6
|
||||
0x04502915, // 0066 SUB R20 R20 K21
|
||||
0x0450280A, // 0067 SUB R20 R20 R10
|
||||
0x904E3E14, // 0068 SETMBR R19 K31 R20
|
||||
0x884C0111, // 0069 GETMBR R19 R0 K17
|
||||
0x88500121, // 006A GETMBR R20 R0 K33
|
||||
0x54560018, // 006B LDINT R21 25
|
||||
0x28502815, // 006C GE R20 R20 R21
|
||||
0x78520001, // 006D JMPF R20 #0070
|
||||
0x5C501C00, // 006E MOVE R20 R14
|
||||
0x70020000, // 006F JMP #0071
|
||||
0x5C501E00, // 0070 MOVE R20 R15
|
||||
0x904E4014, // 0071 SETMBR R19 K32 R20
|
||||
0xB84E0000, // 0072 GETNGBL R19 K0
|
||||
0x8C4C2722, // 0073 GETMET R19 R19 K34
|
||||
0x8854011D, // 0074 GETMBR R21 R0 K29
|
||||
0x88542B1E, // 0075 GETMBR R21 R21 K30
|
||||
0x8858011D, // 0076 GETMBR R22 R0 K29
|
||||
0x88582D1F, // 0077 GETMBR R22 R22 K31
|
||||
0x005C1208, // 0078 ADD R23 R9 R8
|
||||
0x085E4617, // 0079 MUL R23 K35 R23
|
||||
0x005C2E0A, // 007A ADD R23 R23 R10
|
||||
0x58600023, // 007B LDCONST R24 K35
|
||||
0x54660167, // 007C LDINT R25 360
|
||||
0x5C681600, // 007D MOVE R26 R11
|
||||
0x886C0111, // 007E GETMBR R27 R0 K17
|
||||
0x7C4C1000, // 007F CALL R19 8
|
||||
0x884C0111, // 0080 GETMBR R19 R0 K17
|
||||
0x88500121, // 0081 GETMBR R20 R0 K33
|
||||
0x54560031, // 0082 LDINT R21 50
|
||||
0x28502815, // 0083 GE R20 R20 R21
|
||||
0x78520001, // 0084 JMPF R20 #0087
|
||||
0x5C501C00, // 0085 MOVE R20 R14
|
||||
0x70020000, // 0086 JMP #0088
|
||||
0x5C501E00, // 0087 MOVE R20 R15
|
||||
0x904E4014, // 0088 SETMBR R19 K32 R20
|
||||
0xB84E0000, // 0089 GETNGBL R19 K0
|
||||
0x8C4C2722, // 008A GETMET R19 R19 K34
|
||||
0x8854011D, // 008B GETMBR R21 R0 K29
|
||||
0x88542B1E, // 008C GETMBR R21 R21 K30
|
||||
0x8858011D, // 008D GETMBR R22 R0 K29
|
||||
0x88582D1F, // 008E GETMBR R22 R22 K31
|
||||
0x005C1208, // 008F ADD R23 R9 R8
|
||||
0x085E2A17, // 0090 MUL R23 K21 R23
|
||||
0x005C2E0A, // 0091 ADD R23 R23 R10
|
||||
0x045C2F15, // 0092 SUB R23 R23 K21
|
||||
0x5462010D, // 0093 LDINT R24 270
|
||||
0x04603012, // 0094 SUB R24 R24 R18
|
||||
0x5466010D, // 0095 LDINT R25 270
|
||||
0x00643212, // 0096 ADD R25 R25 R18
|
||||
0x5C681600, // 0097 MOVE R26 R11
|
||||
0x886C0111, // 0098 GETMBR R27 R0 K17
|
||||
0x7C4C1000, // 0099 CALL R19 8
|
||||
0x884C0111, // 009A GETMBR R19 R0 K17
|
||||
0x88500121, // 009B GETMBR R20 R0 K33
|
||||
0x5456004A, // 009C LDINT R21 75
|
||||
0x28502815, // 009D GE R20 R20 R21
|
||||
0x78520001, // 009E JMPF R20 #00A1
|
||||
0x5C501C00, // 009F MOVE R20 R14
|
||||
0x70020000, // 00A0 JMP #00A2
|
||||
0x5C501E00, // 00A1 MOVE R20 R15
|
||||
0x904E4014, // 00A2 SETMBR R19 K32 R20
|
||||
0xB84E0000, // 00A3 GETNGBL R19 K0
|
||||
0x8C4C2722, // 00A4 GETMET R19 R19 K34
|
||||
0x8854011D, // 00A5 GETMBR R21 R0 K29
|
||||
0x88542B1E, // 00A6 GETMBR R21 R21 K30
|
||||
0x8858011D, // 00A7 GETMBR R22 R0 K29
|
||||
0x88582D1F, // 00A8 GETMBR R22 R22 K31
|
||||
0x005C1208, // 00A9 ADD R23 R9 R8
|
||||
0x085E0E17, // 00AA MUL R23 K7 R23
|
||||
0x005C2E0A, // 00AB ADD R23 R23 R10
|
||||
0x045C2F07, // 00AC SUB R23 R23 K7
|
||||
0x5462010D, // 00AD LDINT R24 270
|
||||
0x04603012, // 00AE SUB R24 R24 R18
|
||||
0x5466010D, // 00AF LDINT R25 270
|
||||
0x00643212, // 00B0 ADD R25 R25 R18
|
||||
0x5C681600, // 00B1 MOVE R26 R11
|
||||
0x886C0111, // 00B2 GETMBR R27 R0 K17
|
||||
0x7C4C1000, // 00B3 CALL R19 8
|
||||
0x80000000, // 00B4 RET 0
|
||||
0x782E0095, // 001E JMPF R11 #00B5
|
||||
0xB82E0000, // 001F GETNGBL R11 K0
|
||||
0x8C2C170A, // 0020 GETMET R11 R11 K10
|
||||
0x8834050B, // 0021 GETMBR R13 R2 K11
|
||||
0x7C2C0400, // 0022 CALL R11 2
|
||||
0x8C30010C, // 0023 GETMET R12 R0 K12
|
||||
0x8838010A, // 0024 GETMBR R14 R0 K10
|
||||
0x7C300400, // 0025 CALL R12 2
|
||||
0x8830010A, // 0026 GETMBR R12 R0 K10
|
||||
0x8830190D, // 0027 GETMBR R12 R12 K13
|
||||
0x8834010A, // 0028 GETMBR R13 R0 K10
|
||||
0x88341B0E, // 0029 GETMBR R13 R13 K14
|
||||
0xB83A0000, // 002A GETNGBL R14 K0
|
||||
0x8C381D0F, // 002B GETMET R14 R14 K15
|
||||
0x88400110, // 002C GETMBR R16 R0 K16
|
||||
0x7C380400, // 002D CALL R14 2
|
||||
0x8C380111, // 002E GETMET R14 R0 K17
|
||||
0xB8420000, // 002F GETNGBL R16 K0
|
||||
0x88402112, // 0030 GETMBR R16 R16 K18
|
||||
0x88440110, // 0031 GETMBR R17 R0 K16
|
||||
0x7C380600, // 0032 CALL R14 3
|
||||
0x88380110, // 0033 GETMBR R14 R0 K16
|
||||
0x903A2714, // 0034 SETMBR R14 K19 K20
|
||||
0x88380110, // 0035 GETMBR R14 R0 K16
|
||||
0x903A2B14, // 0036 SETMBR R14 K21 K20
|
||||
0x88380110, // 0037 GETMBR R14 R0 K16
|
||||
0x083C1308, // 0038 MUL R15 R9 K8
|
||||
0x003C1F14, // 0039 ADD R15 R15 K20
|
||||
0x54420003, // 003A LDINT R16 4
|
||||
0x0C3C1E10, // 003B DIV R15 R15 R16
|
||||
0x903A2C0F, // 003C SETMBR R14 K22 R15
|
||||
0x8C380117, // 003D GETMET R14 R0 K23
|
||||
0xB8420000, // 003E GETNGBL R16 K0
|
||||
0x88402112, // 003F GETMBR R16 R16 K18
|
||||
0xB8460000, // 0040 GETNGBL R17 K0
|
||||
0x88442318, // 0041 GETMBR R17 R17 K24
|
||||
0x30402011, // 0042 OR R16 R16 R17
|
||||
0x7C380400, // 0043 CALL R14 2
|
||||
0x8C3C0119, // 0044 GETMET R15 R0 K25
|
||||
0xB8460000, // 0045 GETNGBL R17 K0
|
||||
0x88442312, // 0046 GETMBR R17 R17 K18
|
||||
0xB84A0000, // 0047 GETNGBL R18 K0
|
||||
0x88482518, // 0048 GETMBR R18 R18 K24
|
||||
0x30442212, // 0049 OR R17 R17 R18
|
||||
0x7C3C0400, // 004A CALL R15 2
|
||||
0x04400C09, // 004B SUB R16 R6 R9
|
||||
0x0C440F07, // 004C DIV R17 R7 K7
|
||||
0x0444220A, // 004D SUB R17 R17 R10
|
||||
0x60480009, // 004E GETGBL R18 G9
|
||||
0x544E0059, // 004F LDINT R19 90
|
||||
0x8C50091A, // 0050 GETMET R20 R4 K26
|
||||
0x8C58091B, // 0051 GETMET R22 R4 K27
|
||||
0x6060000A, // 0052 GETGBL R24 G10
|
||||
0x5C642200, // 0053 MOVE R25 R17
|
||||
0x7C600200, // 0054 CALL R24 1
|
||||
0x6064000A, // 0055 GETGBL R25 G10
|
||||
0x5C682000, // 0056 MOVE R26 R16
|
||||
0x7C640200, // 0057 CALL R25 1
|
||||
0x0C603019, // 0058 DIV R24 R24 R25
|
||||
0x7C580400, // 0059 CALL R22 2
|
||||
0x7C500400, // 005A CALL R20 2
|
||||
0x044C2614, // 005B SUB R19 R19 R20
|
||||
0x7C480200, // 005C CALL R18 1
|
||||
0x544E002C, // 005D LDINT R19 45
|
||||
0x244C2413, // 005E GT R19 R18 R19
|
||||
0x784E0000, // 005F JMPF R19 #0061
|
||||
0x544A002C, // 0060 LDINT R18 45
|
||||
0x884C011C, // 0061 GETMBR R19 R0 K28
|
||||
0x0C500F07, // 0062 DIV R20 R7 K7
|
||||
0x00501814, // 0063 ADD R20 R12 R20
|
||||
0x904E3A14, // 0064 SETMBR R19 K29 R20
|
||||
0x884C011C, // 0065 GETMBR R19 R0 K28
|
||||
0x00501A06, // 0066 ADD R20 R13 R6
|
||||
0x04502914, // 0067 SUB R20 R20 K20
|
||||
0x0450280A, // 0068 SUB R20 R20 R10
|
||||
0x904E3C14, // 0069 SETMBR R19 K30 R20
|
||||
0x884C0110, // 006A GETMBR R19 R0 K16
|
||||
0x88500120, // 006B GETMBR R20 R0 K32
|
||||
0x54560018, // 006C LDINT R21 25
|
||||
0x28502815, // 006D GE R20 R20 R21
|
||||
0x78520001, // 006E JMPF R20 #0071
|
||||
0x5C501C00, // 006F MOVE R20 R14
|
||||
0x70020000, // 0070 JMP #0072
|
||||
0x5C501E00, // 0071 MOVE R20 R15
|
||||
0x904E3E14, // 0072 SETMBR R19 K31 R20
|
||||
0xB84E0000, // 0073 GETNGBL R19 K0
|
||||
0x8C4C2721, // 0074 GETMET R19 R19 K33
|
||||
0x8854011C, // 0075 GETMBR R21 R0 K28
|
||||
0x88542B1D, // 0076 GETMBR R21 R21 K29
|
||||
0x8858011C, // 0077 GETMBR R22 R0 K28
|
||||
0x88582D1E, // 0078 GETMBR R22 R22 K30
|
||||
0x005C1208, // 0079 ADD R23 R9 R8
|
||||
0x085E4417, // 007A MUL R23 K34 R23
|
||||
0x005C2E0A, // 007B ADD R23 R23 R10
|
||||
0x58600022, // 007C LDCONST R24 K34
|
||||
0x54660167, // 007D LDINT R25 360
|
||||
0x5C681600, // 007E MOVE R26 R11
|
||||
0x886C0110, // 007F GETMBR R27 R0 K16
|
||||
0x7C4C1000, // 0080 CALL R19 8
|
||||
0x884C0110, // 0081 GETMBR R19 R0 K16
|
||||
0x88500120, // 0082 GETMBR R20 R0 K32
|
||||
0x54560031, // 0083 LDINT R21 50
|
||||
0x28502815, // 0084 GE R20 R20 R21
|
||||
0x78520001, // 0085 JMPF R20 #0088
|
||||
0x5C501C00, // 0086 MOVE R20 R14
|
||||
0x70020000, // 0087 JMP #0089
|
||||
0x5C501E00, // 0088 MOVE R20 R15
|
||||
0x904E3E14, // 0089 SETMBR R19 K31 R20
|
||||
0xB84E0000, // 008A GETNGBL R19 K0
|
||||
0x8C4C2721, // 008B GETMET R19 R19 K33
|
||||
0x8854011C, // 008C GETMBR R21 R0 K28
|
||||
0x88542B1D, // 008D GETMBR R21 R21 K29
|
||||
0x8858011C, // 008E GETMBR R22 R0 K28
|
||||
0x88582D1E, // 008F GETMBR R22 R22 K30
|
||||
0x005C1208, // 0090 ADD R23 R9 R8
|
||||
0x085E2817, // 0091 MUL R23 K20 R23
|
||||
0x005C2E0A, // 0092 ADD R23 R23 R10
|
||||
0x045C2F14, // 0093 SUB R23 R23 K20
|
||||
0x5462010D, // 0094 LDINT R24 270
|
||||
0x04603012, // 0095 SUB R24 R24 R18
|
||||
0x5466010D, // 0096 LDINT R25 270
|
||||
0x00643212, // 0097 ADD R25 R25 R18
|
||||
0x5C681600, // 0098 MOVE R26 R11
|
||||
0x886C0110, // 0099 GETMBR R27 R0 K16
|
||||
0x7C4C1000, // 009A CALL R19 8
|
||||
0x884C0110, // 009B GETMBR R19 R0 K16
|
||||
0x88500120, // 009C GETMBR R20 R0 K32
|
||||
0x5456004A, // 009D LDINT R21 75
|
||||
0x28502815, // 009E GE R20 R20 R21
|
||||
0x78520001, // 009F JMPF R20 #00A2
|
||||
0x5C501C00, // 00A0 MOVE R20 R14
|
||||
0x70020000, // 00A1 JMP #00A3
|
||||
0x5C501E00, // 00A2 MOVE R20 R15
|
||||
0x904E3E14, // 00A3 SETMBR R19 K31 R20
|
||||
0xB84E0000, // 00A4 GETNGBL R19 K0
|
||||
0x8C4C2721, // 00A5 GETMET R19 R19 K33
|
||||
0x8854011C, // 00A6 GETMBR R21 R0 K28
|
||||
0x88542B1D, // 00A7 GETMBR R21 R21 K29
|
||||
0x8858011C, // 00A8 GETMBR R22 R0 K28
|
||||
0x88582D1E, // 00A9 GETMBR R22 R22 K30
|
||||
0x005C1208, // 00AA ADD R23 R9 R8
|
||||
0x085E0E17, // 00AB MUL R23 K7 R23
|
||||
0x005C2E0A, // 00AC ADD R23 R23 R10
|
||||
0x045C2F07, // 00AD SUB R23 R23 K7
|
||||
0x5462010D, // 00AE LDINT R24 270
|
||||
0x04603012, // 00AF SUB R24 R24 R18
|
||||
0x5466010D, // 00B0 LDINT R25 270
|
||||
0x00643212, // 00B1 ADD R25 R25 R18
|
||||
0x5C681600, // 00B2 MOVE R26 R11
|
||||
0x886C0110, // 00B3 GETMBR R27 R0 K16
|
||||
0x7C4C1000, // 00B4 CALL R19 8
|
||||
0x80000000, // 00B5 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -388,7 +392,7 @@ be_local_closure(get_percentage, /* name */
|
|||
/* K0 */ be_nested_string("percentage", -1756136011, 10),
|
||||
}),
|
||||
(be_nested_const_str("get_percentage", -1414483304, 14)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x80040200, // 0001 RET 1 R1
|
||||
|
|
|
@ -26,7 +26,7 @@ be_local_closure(set_percentage, /* name */
|
|||
/* K2 */ be_nested_string("invalidate", -1645232368, 10),
|
||||
}),
|
||||
(be_nested_const_str("set_percentage", -1342944572, 14)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[18]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x540E0013, // 0001 LDINT R3 20
|
||||
|
@ -70,16 +70,16 @@ be_local_closure(init, /* name */
|
|||
/* K1 */ be_nested_string("create_custom_widget", 1140594778, 20),
|
||||
/* K2 */ be_nested_string("percentage", -1756136011, 10),
|
||||
/* K3 */ be_nested_string("p1", -1605446022, 2),
|
||||
/* K4 */ be_nested_string("lv_point", -174745506, 8),
|
||||
/* K5 */ be_nested_string("p2", -1622223641, 2),
|
||||
/* K6 */ be_nested_string("area", -1693507260, 4),
|
||||
/* K7 */ be_nested_string("lv_area", -1773816895, 7),
|
||||
/* K4 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K5 */ be_nested_string("point", 414084241, 5),
|
||||
/* K6 */ be_nested_string("p2", -1622223641, 2),
|
||||
/* K7 */ be_nested_string("area", -1693507260, 4),
|
||||
/* K8 */ be_nested_string("line_dsc", -200476318, 8),
|
||||
/* K9 */ be_nested_string("lv_draw_line_dsc", -1872162060, 16),
|
||||
/* K9 */ be_nested_string("draw_line_dsc", -74291093, 13),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[20]) { /* code */
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[24]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
0x5C100000, // 0002 MOVE R4 R0
|
||||
|
@ -88,18 +88,22 @@ be_local_closure(init, /* name */
|
|||
0x540A0063, // 0005 LDINT R2 100
|
||||
0x90020402, // 0006 SETMBR R0 K2 R2
|
||||
0xB80A0800, // 0007 GETNGBL R2 K4
|
||||
0x7C080000, // 0008 CALL R2 0
|
||||
0x90020602, // 0009 SETMBR R0 K3 R2
|
||||
0xB80A0800, // 000A GETNGBL R2 K4
|
||||
0x7C080000, // 000B CALL R2 0
|
||||
0x90020A02, // 000C SETMBR R0 K5 R2
|
||||
0xB80A0E00, // 000D GETNGBL R2 K7
|
||||
0x7C080000, // 000E CALL R2 0
|
||||
0x90020C02, // 000F SETMBR R0 K6 R2
|
||||
0xB80A1200, // 0010 GETNGBL R2 K9
|
||||
0x7C080000, // 0011 CALL R2 0
|
||||
0x90021002, // 0012 SETMBR R0 K8 R2
|
||||
0x80000000, // 0013 RET 0
|
||||
0x8C080505, // 0008 GETMET R2 R2 K5
|
||||
0x7C080200, // 0009 CALL R2 1
|
||||
0x90020602, // 000A SETMBR R0 K3 R2
|
||||
0xB80A0800, // 000B GETNGBL R2 K4
|
||||
0x8C080505, // 000C GETMET R2 R2 K5
|
||||
0x7C080200, // 000D CALL R2 1
|
||||
0x90020C02, // 000E SETMBR R0 K6 R2
|
||||
0xB80A0800, // 000F GETNGBL R2 K4
|
||||
0x8C080507, // 0010 GETMET R2 R2 K7
|
||||
0x7C080200, // 0011 CALL R2 1
|
||||
0x90020E02, // 0012 SETMBR R0 K7 R2
|
||||
0xB80A0800, // 0013 GETNGBL R2 K4
|
||||
0x8C080509, // 0014 GETMET R2 R2 K9
|
||||
0x7C080200, // 0015 CALL R2 1
|
||||
0x90021002, // 0016 SETMBR R0 K8 R2
|
||||
0x80000000, // 0017 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -131,7 +135,7 @@ be_local_closure(widget_event, /* name */
|
|||
/* K0 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("atleast1", 1956331672, 8)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0x28040100, // 0000 GE R1 R0 K0
|
||||
0x78060001, // 0001 JMPF R1 #0004
|
||||
|
@ -143,7 +147,7 @@ be_local_closure(widget_event, /* name */
|
|||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[38]) { /* constants */
|
||||
( &(const bvalue[37]) { /* constants */
|
||||
/* K0 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K1 */ be_nested_string("obj_event_base", 1624064363, 14),
|
||||
/* K2 */ be_nested_string("RES_OK", 1233817284, 6),
|
||||
|
@ -153,39 +157,38 @@ be_local_closure(widget_event, /* name */
|
|||
/* K6 */ be_const_int(3),
|
||||
/* K7 */ be_const_int(2),
|
||||
/* K8 */ be_nested_string("EVENT_DRAW_MAIN", 1955620614, 15),
|
||||
/* K9 */ be_nested_string("lv_area", -1773816895, 7),
|
||||
/* K9 */ be_nested_string("area", -1693507260, 4),
|
||||
/* K10 */ be_nested_string("param", 1309554226, 5),
|
||||
/* K11 */ be_nested_string("get_coords", 1044089006, 10),
|
||||
/* K12 */ be_nested_string("area", -1693507260, 4),
|
||||
/* K13 */ be_nested_string("x1", 274927234, 2),
|
||||
/* K14 */ be_nested_string("y1", -1939865569, 2),
|
||||
/* K15 */ be_nested_string("draw_line_dsc_init", -428273650, 18),
|
||||
/* K16 */ be_nested_string("line_dsc", -200476318, 8),
|
||||
/* K17 */ be_nested_string("init_draw_line_dsc", -1787031256, 18),
|
||||
/* K18 */ be_nested_string("PART_MAIN", -1821475788, 9),
|
||||
/* K19 */ be_nested_string("round_start", -1345482912, 11),
|
||||
/* K20 */ be_const_int(1),
|
||||
/* K21 */ be_nested_string("round_end", 985288225, 9),
|
||||
/* K22 */ be_nested_string("width", -1786286561, 5),
|
||||
/* K23 */ be_nested_string("get_style_line_color", 805371932, 20),
|
||||
/* K24 */ be_nested_string("STATE_DEFAULT", 712406428, 13),
|
||||
/* K25 */ be_nested_string("get_style_bg_color", 964794381, 18),
|
||||
/* K26 */ be_nested_string("event_send", 598925582, 10),
|
||||
/* K27 */ be_nested_string("EVENT_DRAW_PART_BEGIN", -903102272, 21),
|
||||
/* K28 */ be_const_int(0),
|
||||
/* K29 */ be_nested_string("color", 1031692888, 5),
|
||||
/* K30 */ be_nested_string("percentage", -1756136011, 10),
|
||||
/* K31 */ be_nested_string("p1", -1605446022, 2),
|
||||
/* K32 */ be_nested_string("y", -66302220, 1),
|
||||
/* K33 */ be_nested_string("x", -49524601, 1),
|
||||
/* K34 */ be_nested_string("p2", -1622223641, 2),
|
||||
/* K35 */ be_nested_string("draw_line", 1634465686, 9),
|
||||
/* K36 */ be_nested_string("stop_iteration", -121173395, 14),
|
||||
/* K37 */ be_nested_string("EVENT_DRAW_PART_END", -993342004, 19),
|
||||
/* K12 */ be_nested_string("x1", 274927234, 2),
|
||||
/* K13 */ be_nested_string("y1", -1939865569, 2),
|
||||
/* K14 */ be_nested_string("draw_line_dsc_init", -428273650, 18),
|
||||
/* K15 */ be_nested_string("line_dsc", -200476318, 8),
|
||||
/* K16 */ be_nested_string("init_draw_line_dsc", -1787031256, 18),
|
||||
/* K17 */ be_nested_string("PART_MAIN", -1821475788, 9),
|
||||
/* K18 */ be_nested_string("round_start", -1345482912, 11),
|
||||
/* K19 */ be_const_int(1),
|
||||
/* K20 */ be_nested_string("round_end", 985288225, 9),
|
||||
/* K21 */ be_nested_string("width", -1786286561, 5),
|
||||
/* K22 */ be_nested_string("get_style_line_color", 805371932, 20),
|
||||
/* K23 */ be_nested_string("STATE_DEFAULT", 712406428, 13),
|
||||
/* K24 */ be_nested_string("get_style_bg_color", 964794381, 18),
|
||||
/* K25 */ be_nested_string("event_send", 598925582, 10),
|
||||
/* K26 */ be_nested_string("EVENT_DRAW_PART_BEGIN", -903102272, 21),
|
||||
/* K27 */ be_const_int(0),
|
||||
/* K28 */ be_nested_string("color", 1031692888, 5),
|
||||
/* K29 */ be_nested_string("percentage", -1756136011, 10),
|
||||
/* K30 */ be_nested_string("p1", -1605446022, 2),
|
||||
/* K31 */ be_nested_string("y", -66302220, 1),
|
||||
/* K32 */ be_nested_string("x", -49524601, 1),
|
||||
/* K33 */ be_nested_string("p2", -1622223641, 2),
|
||||
/* K34 */ be_nested_string("draw_line", 1634465686, 9),
|
||||
/* K35 */ be_nested_string("stop_iteration", -121173395, 14),
|
||||
/* K36 */ be_nested_string("EVENT_DRAW_PART_END", -993342004, 19),
|
||||
}),
|
||||
(be_nested_const_str("widget_event", 1951408186, 12)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[137]) { /* code */
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[138]) { /* code */
|
||||
0xB80E0000, // 0000 GETNGBL R3 K0
|
||||
0x8C0C0701, // 0001 GETMET R3 R3 K1
|
||||
0x5C140200, // 0002 MOVE R5 R1
|
||||
|
@ -216,113 +219,114 @@ be_local_closure(widget_event, /* name */
|
|||
0xB82A0000, // 001B GETNGBL R10 K0
|
||||
0x88281508, // 001C GETMBR R10 R10 K8
|
||||
0x1C28060A, // 001D EQ R10 R3 R10
|
||||
0x782A0068, // 001E JMPF R10 #0088
|
||||
0xB82A1200, // 001F GETNGBL R10 K9
|
||||
0x882C050A, // 0020 GETMBR R11 R2 K10
|
||||
0x7C280200, // 0021 CALL R10 1
|
||||
0x8C2C010B, // 0022 GETMET R11 R0 K11
|
||||
0x8834010C, // 0023 GETMBR R13 R0 K12
|
||||
0x7C2C0400, // 0024 CALL R11 2
|
||||
0x882C010C, // 0025 GETMBR R11 R0 K12
|
||||
0x882C170D, // 0026 GETMBR R11 R11 K13
|
||||
0x8830010C, // 0027 GETMBR R12 R0 K12
|
||||
0x8830190E, // 0028 GETMBR R12 R12 K14
|
||||
0xB8360000, // 0029 GETNGBL R13 K0
|
||||
0x8C341B0F, // 002A GETMET R13 R13 K15
|
||||
0x883C0110, // 002B GETMBR R15 R0 K16
|
||||
0x7C340400, // 002C CALL R13 2
|
||||
0x8C340111, // 002D GETMET R13 R0 K17
|
||||
0xB83E0000, // 002E GETNGBL R15 K0
|
||||
0x883C1F12, // 002F GETMBR R15 R15 K18
|
||||
0x88400110, // 0030 GETMBR R16 R0 K16
|
||||
0x7C340600, // 0031 CALL R13 3
|
||||
0x88340110, // 0032 GETMBR R13 R0 K16
|
||||
0x90362714, // 0033 SETMBR R13 K19 K20
|
||||
0x88340110, // 0034 GETMBR R13 R0 K16
|
||||
0x90362B14, // 0035 SETMBR R13 K21 K20
|
||||
0x88340110, // 0036 GETMBR R13 R0 K16
|
||||
0x90362C08, // 0037 SETMBR R13 K22 R8
|
||||
0x8C340117, // 0038 GETMET R13 R0 K23
|
||||
0xB83E0000, // 0039 GETNGBL R15 K0
|
||||
0x883C1F12, // 003A GETMBR R15 R15 K18
|
||||
0xB8420000, // 003B GETNGBL R16 K0
|
||||
0x88402118, // 003C GETMBR R16 R16 K24
|
||||
0x303C1E10, // 003D OR R15 R15 R16
|
||||
0x7C340400, // 003E CALL R13 2
|
||||
0x8C380119, // 003F GETMET R14 R0 K25
|
||||
0xB8420000, // 0040 GETNGBL R16 K0
|
||||
0x88402112, // 0041 GETMBR R16 R16 K18
|
||||
0xB8460000, // 0042 GETNGBL R17 K0
|
||||
0x88442318, // 0043 GETMBR R17 R17 K24
|
||||
0x30402011, // 0044 OR R16 R16 R17
|
||||
0x7C380400, // 0045 CALL R14 2
|
||||
0xB83E0000, // 0046 GETNGBL R15 K0
|
||||
0x8C3C1F1A, // 0047 GETMET R15 R15 K26
|
||||
0x5C440000, // 0048 MOVE R17 R0
|
||||
0xB84A0000, // 0049 GETNGBL R18 K0
|
||||
0x8848251B, // 004A GETMBR R18 R18 K27
|
||||
0x884C0110, // 004B GETMBR R19 R0 K16
|
||||
0x7C3C0800, // 004C CALL R15 4
|
||||
0x603C0010, // 004D GETGBL R15 G16
|
||||
0x40423906, // 004E CONNECT R16 K28 K6
|
||||
0x7C3C0200, // 004F CALL R15 1
|
||||
0xA802002C, // 0050 EXBLK 0 #007E
|
||||
0x5C401E00, // 0051 MOVE R16 R15
|
||||
0x7C400000, // 0052 CALL R16 0
|
||||
0x88440110, // 0053 GETMBR R17 R0 K16
|
||||
0x8848011E, // 0054 GETMBR R18 R0 K30
|
||||
0x004C2114, // 0055 ADD R19 R16 K20
|
||||
0x54520013, // 0056 LDINT R20 20
|
||||
0x084C2614, // 0057 MUL R19 R19 R20
|
||||
0x28482413, // 0058 GE R18 R18 R19
|
||||
0x784A0001, // 0059 JMPF R18 #005C
|
||||
0x5C481A00, // 005A MOVE R18 R13
|
||||
0x70020000, // 005B JMP #005D
|
||||
0x5C481C00, // 005C MOVE R18 R14
|
||||
0x90463A12, // 005D SETMBR R17 K29 R18
|
||||
0x8844011F, // 005E GETMBR R17 R0 K31
|
||||
0x00481805, // 005F ADD R18 R12 R5
|
||||
0x04482514, // 0060 SUB R18 R18 K20
|
||||
0x04482409, // 0061 SUB R18 R18 R9
|
||||
0x90464012, // 0062 SETMBR R17 K32 R18
|
||||
0x8844011F, // 0063 GETMBR R17 R0 K31
|
||||
0x00481007, // 0064 ADD R18 R8 R7
|
||||
0x08482012, // 0065 MUL R18 R16 R18
|
||||
0x00481612, // 0066 ADD R18 R11 R18
|
||||
0x00482409, // 0067 ADD R18 R18 R9
|
||||
0x90464212, // 0068 SETMBR R17 K33 R18
|
||||
0x88440122, // 0069 GETMBR R17 R0 K34
|
||||
0x044A0C10, // 006A SUB R18 K6 R16
|
||||
0x044C0A08, // 006B SUB R19 R5 R8
|
||||
0x08482413, // 006C MUL R18 R18 R19
|
||||
0x544E0003, // 006D LDINT R19 4
|
||||
0x0C482413, // 006E DIV R18 R18 R19
|
||||
0x00481812, // 006F ADD R18 R12 R18
|
||||
0x00482409, // 0070 ADD R18 R18 R9
|
||||
0x90464012, // 0071 SETMBR R17 K32 R18
|
||||
0x88440122, // 0072 GETMBR R17 R0 K34
|
||||
0x8848011F, // 0073 GETMBR R18 R0 K31
|
||||
0x88482521, // 0074 GETMBR R18 R18 K33
|
||||
0x90464212, // 0075 SETMBR R17 K33 R18
|
||||
0xB8460000, // 0076 GETNGBL R17 K0
|
||||
0x8C442323, // 0077 GETMET R17 R17 K35
|
||||
0x884C011F, // 0078 GETMBR R19 R0 K31
|
||||
0x88500122, // 0079 GETMBR R20 R0 K34
|
||||
0x5C541400, // 007A MOVE R21 R10
|
||||
0x88580110, // 007B GETMBR R22 R0 K16
|
||||
0x7C440A00, // 007C CALL R17 5
|
||||
0x7001FFD2, // 007D JMP #0051
|
||||
0x583C0024, // 007E LDCONST R15 K36
|
||||
0xAC3C0200, // 007F CATCH R15 1 0
|
||||
0xB0080000, // 0080 RAISE 2 R0 R0
|
||||
0xB83E0000, // 0081 GETNGBL R15 K0
|
||||
0x8C3C1F1A, // 0082 GETMET R15 R15 K26
|
||||
0x5C440000, // 0083 MOVE R17 R0
|
||||
0xB84A0000, // 0084 GETNGBL R18 K0
|
||||
0x88482525, // 0085 GETMBR R18 R18 K37
|
||||
0x884C0110, // 0086 GETMBR R19 R0 K16
|
||||
0x7C3C0800, // 0087 CALL R15 4
|
||||
0x80000000, // 0088 RET 0
|
||||
0x782A0069, // 001E JMPF R10 #0089
|
||||
0xB82A0000, // 001F GETNGBL R10 K0
|
||||
0x8C281509, // 0020 GETMET R10 R10 K9
|
||||
0x8830050A, // 0021 GETMBR R12 R2 K10
|
||||
0x7C280400, // 0022 CALL R10 2
|
||||
0x8C2C010B, // 0023 GETMET R11 R0 K11
|
||||
0x88340109, // 0024 GETMBR R13 R0 K9
|
||||
0x7C2C0400, // 0025 CALL R11 2
|
||||
0x882C0109, // 0026 GETMBR R11 R0 K9
|
||||
0x882C170C, // 0027 GETMBR R11 R11 K12
|
||||
0x88300109, // 0028 GETMBR R12 R0 K9
|
||||
0x8830190D, // 0029 GETMBR R12 R12 K13
|
||||
0xB8360000, // 002A GETNGBL R13 K0
|
||||
0x8C341B0E, // 002B GETMET R13 R13 K14
|
||||
0x883C010F, // 002C GETMBR R15 R0 K15
|
||||
0x7C340400, // 002D CALL R13 2
|
||||
0x8C340110, // 002E GETMET R13 R0 K16
|
||||
0xB83E0000, // 002F GETNGBL R15 K0
|
||||
0x883C1F11, // 0030 GETMBR R15 R15 K17
|
||||
0x8840010F, // 0031 GETMBR R16 R0 K15
|
||||
0x7C340600, // 0032 CALL R13 3
|
||||
0x8834010F, // 0033 GETMBR R13 R0 K15
|
||||
0x90362513, // 0034 SETMBR R13 K18 K19
|
||||
0x8834010F, // 0035 GETMBR R13 R0 K15
|
||||
0x90362913, // 0036 SETMBR R13 K20 K19
|
||||
0x8834010F, // 0037 GETMBR R13 R0 K15
|
||||
0x90362A08, // 0038 SETMBR R13 K21 R8
|
||||
0x8C340116, // 0039 GETMET R13 R0 K22
|
||||
0xB83E0000, // 003A GETNGBL R15 K0
|
||||
0x883C1F11, // 003B GETMBR R15 R15 K17
|
||||
0xB8420000, // 003C GETNGBL R16 K0
|
||||
0x88402117, // 003D GETMBR R16 R16 K23
|
||||
0x303C1E10, // 003E OR R15 R15 R16
|
||||
0x7C340400, // 003F CALL R13 2
|
||||
0x8C380118, // 0040 GETMET R14 R0 K24
|
||||
0xB8420000, // 0041 GETNGBL R16 K0
|
||||
0x88402111, // 0042 GETMBR R16 R16 K17
|
||||
0xB8460000, // 0043 GETNGBL R17 K0
|
||||
0x88442317, // 0044 GETMBR R17 R17 K23
|
||||
0x30402011, // 0045 OR R16 R16 R17
|
||||
0x7C380400, // 0046 CALL R14 2
|
||||
0xB83E0000, // 0047 GETNGBL R15 K0
|
||||
0x8C3C1F19, // 0048 GETMET R15 R15 K25
|
||||
0x5C440000, // 0049 MOVE R17 R0
|
||||
0xB84A0000, // 004A GETNGBL R18 K0
|
||||
0x8848251A, // 004B GETMBR R18 R18 K26
|
||||
0x884C010F, // 004C GETMBR R19 R0 K15
|
||||
0x7C3C0800, // 004D CALL R15 4
|
||||
0x603C0010, // 004E GETGBL R15 G16
|
||||
0x40423706, // 004F CONNECT R16 K27 K6
|
||||
0x7C3C0200, // 0050 CALL R15 1
|
||||
0xA802002C, // 0051 EXBLK 0 #007F
|
||||
0x5C401E00, // 0052 MOVE R16 R15
|
||||
0x7C400000, // 0053 CALL R16 0
|
||||
0x8844010F, // 0054 GETMBR R17 R0 K15
|
||||
0x8848011D, // 0055 GETMBR R18 R0 K29
|
||||
0x004C2113, // 0056 ADD R19 R16 K19
|
||||
0x54520013, // 0057 LDINT R20 20
|
||||
0x084C2614, // 0058 MUL R19 R19 R20
|
||||
0x28482413, // 0059 GE R18 R18 R19
|
||||
0x784A0001, // 005A JMPF R18 #005D
|
||||
0x5C481A00, // 005B MOVE R18 R13
|
||||
0x70020000, // 005C JMP #005E
|
||||
0x5C481C00, // 005D MOVE R18 R14
|
||||
0x90463812, // 005E SETMBR R17 K28 R18
|
||||
0x8844011E, // 005F GETMBR R17 R0 K30
|
||||
0x00481805, // 0060 ADD R18 R12 R5
|
||||
0x04482513, // 0061 SUB R18 R18 K19
|
||||
0x04482409, // 0062 SUB R18 R18 R9
|
||||
0x90463E12, // 0063 SETMBR R17 K31 R18
|
||||
0x8844011E, // 0064 GETMBR R17 R0 K30
|
||||
0x00481007, // 0065 ADD R18 R8 R7
|
||||
0x08482012, // 0066 MUL R18 R16 R18
|
||||
0x00481612, // 0067 ADD R18 R11 R18
|
||||
0x00482409, // 0068 ADD R18 R18 R9
|
||||
0x90464012, // 0069 SETMBR R17 K32 R18
|
||||
0x88440121, // 006A GETMBR R17 R0 K33
|
||||
0x044A0C10, // 006B SUB R18 K6 R16
|
||||
0x044C0A08, // 006C SUB R19 R5 R8
|
||||
0x08482413, // 006D MUL R18 R18 R19
|
||||
0x544E0003, // 006E LDINT R19 4
|
||||
0x0C482413, // 006F DIV R18 R18 R19
|
||||
0x00481812, // 0070 ADD R18 R12 R18
|
||||
0x00482409, // 0071 ADD R18 R18 R9
|
||||
0x90463E12, // 0072 SETMBR R17 K31 R18
|
||||
0x88440121, // 0073 GETMBR R17 R0 K33
|
||||
0x8848011E, // 0074 GETMBR R18 R0 K30
|
||||
0x88482520, // 0075 GETMBR R18 R18 K32
|
||||
0x90464012, // 0076 SETMBR R17 K32 R18
|
||||
0xB8460000, // 0077 GETNGBL R17 K0
|
||||
0x8C442322, // 0078 GETMET R17 R17 K34
|
||||
0x884C011E, // 0079 GETMBR R19 R0 K30
|
||||
0x88500121, // 007A GETMBR R20 R0 K33
|
||||
0x5C541400, // 007B MOVE R21 R10
|
||||
0x8858010F, // 007C GETMBR R22 R0 K15
|
||||
0x7C440A00, // 007D CALL R17 5
|
||||
0x7001FFD2, // 007E JMP #0052
|
||||
0x583C0023, // 007F LDCONST R15 K35
|
||||
0xAC3C0200, // 0080 CATCH R15 1 0
|
||||
0xB0080000, // 0081 RAISE 2 R0 R0
|
||||
0xB83E0000, // 0082 GETNGBL R15 K0
|
||||
0x8C3C1F19, // 0083 GETMET R15 R15 K25
|
||||
0x5C440000, // 0084 MOVE R17 R0
|
||||
0xB84A0000, // 0085 GETNGBL R18 K0
|
||||
0x88482524, // 0086 GETMBR R18 R18 K36
|
||||
0x884C010F, // 0087 GETMBR R19 R0 K15
|
||||
0x7C3C0800, // 0088 CALL R15 4
|
||||
0x80000000, // 0089 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -346,7 +350,7 @@ be_local_closure(get_percentage, /* name */
|
|||
/* K0 */ be_nested_string("percentage", -1756136011, 10),
|
||||
}),
|
||||
(be_nested_const_str("get_percentage", -1414483304, 14)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x80040200, // 0001 RET 1 R1
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -23,8 +23,8 @@ be_local_closure(init, /* name */
|
|||
( &(const bvalue[18]) { /* constants */
|
||||
/* K0 */ be_nested_string("init", 380752755, 4),
|
||||
/* K1 */ be_nested_string("set_style_line_color", -629728320, 20),
|
||||
/* K2 */ be_nested_string("lv_color", 1419148319, 8),
|
||||
/* K3 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K2 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K3 */ be_nested_string("color", 1031692888, 5),
|
||||
/* K4 */ be_nested_string("COLOR_WHITE", -1758096026, 11),
|
||||
/* K5 */ be_nested_string("PART_MAIN", -1821475788, 9),
|
||||
/* K6 */ be_nested_string("STATE_DEFAULT", 712406428, 13),
|
||||
|
@ -40,9 +40,9 @@ be_local_closure(init, /* name */
|
|||
/* K16 */ be_nested_string("set_style_pad_right", -980898242, 19),
|
||||
/* K17 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[65]) { /* code */
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[67]) { /* code */
|
||||
0x60080003, // 0000 GETGBL R2 G3
|
||||
0x5C0C0000, // 0001 MOVE R3 R0
|
||||
0x7C080200, // 0002 CALL R2 1
|
||||
|
@ -51,63 +51,65 @@ be_local_closure(init, /* name */
|
|||
0x7C080400, // 0005 CALL R2 2
|
||||
0x8C080101, // 0006 GETMET R2 R0 K1
|
||||
0xB8120400, // 0007 GETNGBL R4 K2
|
||||
0xB8160600, // 0008 GETNGBL R5 K3
|
||||
0x88140B04, // 0009 GETMBR R5 R5 K4
|
||||
0x7C100200, // 000A CALL R4 1
|
||||
0xB8160600, // 000B GETNGBL R5 K3
|
||||
0x88140B05, // 000C GETMBR R5 R5 K5
|
||||
0xB81A0600, // 000D GETNGBL R6 K3
|
||||
0x88180D06, // 000E GETMBR R6 R6 K6
|
||||
0x30140A06, // 000F OR R5 R5 R6
|
||||
0x7C080600, // 0010 CALL R2 3
|
||||
0x8C080107, // 0011 GETMET R2 R0 K7
|
||||
0xB8120400, // 0012 GETNGBL R4 K2
|
||||
0xB8160600, // 0013 GETNGBL R5 K3
|
||||
0x88140B08, // 0014 GETMBR R5 R5 K8
|
||||
0x7C100200, // 0015 CALL R4 1
|
||||
0xB8160600, // 0016 GETNGBL R5 K3
|
||||
0x88140B05, // 0017 GETMBR R5 R5 K5
|
||||
0xB81A0600, // 0018 GETNGBL R6 K3
|
||||
0x88180D06, // 0019 GETMBR R6 R6 K6
|
||||
0x30140A06, // 001A OR R5 R5 R6
|
||||
0x7C080600, // 001B CALL R2 3
|
||||
0x4C080000, // 001C LDNIL R2
|
||||
0x20080202, // 001D NE R2 R1 R2
|
||||
0x780A0020, // 001E JMPF R2 #0040
|
||||
0x8C080309, // 001F GETMET R2 R1 K9
|
||||
0x7C080200, // 0020 CALL R2 1
|
||||
0x8C0C030A, // 0021 GETMET R3 R1 K10
|
||||
0xB8160600, // 0022 GETNGBL R5 K3
|
||||
0x88140B05, // 0023 GETMBR R5 R5 K5
|
||||
0xB81A0600, // 0024 GETNGBL R6 K3
|
||||
0x88180D06, // 0025 GETMBR R6 R6 K6
|
||||
0x30140A06, // 0026 OR R5 R5 R6
|
||||
0x7C0C0400, // 0027 CALL R3 2
|
||||
0x8C10010B, // 0028 GETMET R4 R0 K11
|
||||
0x5C180400, // 0029 MOVE R6 R2
|
||||
0x7C100400, // 002A CALL R4 2
|
||||
0x54120003, // 002B LDINT R4 4
|
||||
0x08100404, // 002C MUL R4 R2 R4
|
||||
0x0C10090C, // 002D DIV R4 R4 K12
|
||||
0x8C14010D, // 002E GETMET R5 R0 K13
|
||||
0x5C1C0800, // 002F MOVE R7 R4
|
||||
0x7C140400, // 0030 CALL R5 2
|
||||
0x8C14010E, // 0031 GETMET R5 R0 K14
|
||||
0x8C1C030F, // 0032 GETMET R7 R1 K15
|
||||
0x7C1C0200, // 0033 CALL R7 1
|
||||
0x041C0E04, // 0034 SUB R7 R7 R4
|
||||
0x041C0E03, // 0035 SUB R7 R7 R3
|
||||
0x7C140400, // 0036 CALL R5 2
|
||||
0x8C140310, // 0037 GETMET R5 R1 K16
|
||||
0x001C0604, // 0038 ADD R7 R3 R4
|
||||
0x001C0F11, // 0039 ADD R7 R7 K17
|
||||
0xB8220600, // 003A GETNGBL R8 K3
|
||||
0x88201105, // 003B GETMBR R8 R8 K5
|
||||
0xB8260600, // 003C GETNGBL R9 K3
|
||||
0x88241306, // 003D GETMBR R9 R9 K6
|
||||
0x30201009, // 003E OR R8 R8 R9
|
||||
0x7C140600, // 003F CALL R5 3
|
||||
0x80000000, // 0040 RET 0
|
||||
0x8C100903, // 0008 GETMET R4 R4 K3
|
||||
0xB81A0400, // 0009 GETNGBL R6 K2
|
||||
0x88180D04, // 000A GETMBR R6 R6 K4
|
||||
0x7C100400, // 000B CALL R4 2
|
||||
0xB8160400, // 000C GETNGBL R5 K2
|
||||
0x88140B05, // 000D GETMBR R5 R5 K5
|
||||
0xB81A0400, // 000E GETNGBL R6 K2
|
||||
0x88180D06, // 000F GETMBR R6 R6 K6
|
||||
0x30140A06, // 0010 OR R5 R5 R6
|
||||
0x7C080600, // 0011 CALL R2 3
|
||||
0x8C080107, // 0012 GETMET R2 R0 K7
|
||||
0xB8120400, // 0013 GETNGBL R4 K2
|
||||
0x8C100903, // 0014 GETMET R4 R4 K3
|
||||
0xB81A0400, // 0015 GETNGBL R6 K2
|
||||
0x88180D08, // 0016 GETMBR R6 R6 K8
|
||||
0x7C100400, // 0017 CALL R4 2
|
||||
0xB8160400, // 0018 GETNGBL R5 K2
|
||||
0x88140B05, // 0019 GETMBR R5 R5 K5
|
||||
0xB81A0400, // 001A GETNGBL R6 K2
|
||||
0x88180D06, // 001B GETMBR R6 R6 K6
|
||||
0x30140A06, // 001C OR R5 R5 R6
|
||||
0x7C080600, // 001D CALL R2 3
|
||||
0x4C080000, // 001E LDNIL R2
|
||||
0x20080202, // 001F NE R2 R1 R2
|
||||
0x780A0020, // 0020 JMPF R2 #0042
|
||||
0x8C080309, // 0021 GETMET R2 R1 K9
|
||||
0x7C080200, // 0022 CALL R2 1
|
||||
0x8C0C030A, // 0023 GETMET R3 R1 K10
|
||||
0xB8160400, // 0024 GETNGBL R5 K2
|
||||
0x88140B05, // 0025 GETMBR R5 R5 K5
|
||||
0xB81A0400, // 0026 GETNGBL R6 K2
|
||||
0x88180D06, // 0027 GETMBR R6 R6 K6
|
||||
0x30140A06, // 0028 OR R5 R5 R6
|
||||
0x7C0C0400, // 0029 CALL R3 2
|
||||
0x8C10010B, // 002A GETMET R4 R0 K11
|
||||
0x5C180400, // 002B MOVE R6 R2
|
||||
0x7C100400, // 002C CALL R4 2
|
||||
0x54120003, // 002D LDINT R4 4
|
||||
0x08100404, // 002E MUL R4 R2 R4
|
||||
0x0C10090C, // 002F DIV R4 R4 K12
|
||||
0x8C14010D, // 0030 GETMET R5 R0 K13
|
||||
0x5C1C0800, // 0031 MOVE R7 R4
|
||||
0x7C140400, // 0032 CALL R5 2
|
||||
0x8C14010E, // 0033 GETMET R5 R0 K14
|
||||
0x8C1C030F, // 0034 GETMET R7 R1 K15
|
||||
0x7C1C0200, // 0035 CALL R7 1
|
||||
0x041C0E04, // 0036 SUB R7 R7 R4
|
||||
0x041C0E03, // 0037 SUB R7 R7 R3
|
||||
0x7C140400, // 0038 CALL R5 2
|
||||
0x8C140310, // 0039 GETMET R5 R1 K16
|
||||
0x001C0604, // 003A ADD R7 R3 R4
|
||||
0x001C0F11, // 003B ADD R7 R7 K17
|
||||
0xB8220400, // 003C GETNGBL R8 K2
|
||||
0x88201105, // 003D GETMBR R8 R8 K5
|
||||
0xB8260400, // 003E GETNGBL R9 K2
|
||||
0x88241306, // 003F GETMBR R9 R9 K6
|
||||
0x30201009, // 0040 OR R8 R8 R9
|
||||
0x7C140600, // 0041 CALL R5 3
|
||||
0x80000000, // 0042 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
|
|
@ -30,7 +30,7 @@ be_local_closure(every_second, /* name */
|
|||
/* K6 */ be_const_int(0),
|
||||
}),
|
||||
(be_nested_const_str("every_second", 2075451465, 12)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[23]) { /* code */
|
||||
0xB8060000, // 0000 GETNGBL R1 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
|
@ -81,8 +81,8 @@ be_local_closure(init, /* name */
|
|||
/* K3 */ be_nested_string("set_percentage", -1342944572, 14),
|
||||
/* K4 */ be_const_int(0),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0x60080003, // 0000 GETGBL R2 G3
|
||||
0x5C0C0000, // 0001 MOVE R3 R0
|
||||
|
@ -123,7 +123,7 @@ be_local_closure(del, /* name */
|
|||
/* K2 */ be_nested_string("remove_driver", 1030243768, 13),
|
||||
}),
|
||||
(be_nested_const_str("del", -816214454, 3)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x60040003, // 0000 GETGBL R1 G3
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
|
|
|
@ -23,8 +23,8 @@ be_local_closure(init, /* name */
|
|||
( &(const bvalue[17]) { /* constants */
|
||||
/* K0 */ be_nested_string("init", 380752755, 4),
|
||||
/* K1 */ be_nested_string("set_style_line_color", -629728320, 20),
|
||||
/* K2 */ be_nested_string("lv_color", 1419148319, 8),
|
||||
/* K3 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K2 */ be_nested_string("lv", 1529997255, 2),
|
||||
/* K3 */ be_nested_string("color", 1031692888, 5),
|
||||
/* K4 */ be_nested_string("COLOR_WHITE", -1758096026, 11),
|
||||
/* K5 */ be_nested_string("PART_MAIN", -1821475788, 9),
|
||||
/* K6 */ be_nested_string("STATE_DEFAULT", 712406428, 13),
|
||||
|
@ -39,9 +39,9 @@ be_local_closure(init, /* name */
|
|||
/* K15 */ be_nested_string("set_style_pad_right", -980898242, 19),
|
||||
/* K16 */ be_const_int(1),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[62]) { /* code */
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[64]) { /* code */
|
||||
0x60080003, // 0000 GETGBL R2 G3
|
||||
0x5C0C0000, // 0001 MOVE R3 R0
|
||||
0x7C080200, // 0002 CALL R2 1
|
||||
|
@ -50,60 +50,62 @@ be_local_closure(init, /* name */
|
|||
0x7C080400, // 0005 CALL R2 2
|
||||
0x8C080101, // 0006 GETMET R2 R0 K1
|
||||
0xB8120400, // 0007 GETNGBL R4 K2
|
||||
0xB8160600, // 0008 GETNGBL R5 K3
|
||||
0x88140B04, // 0009 GETMBR R5 R5 K4
|
||||
0x7C100200, // 000A CALL R4 1
|
||||
0xB8160600, // 000B GETNGBL R5 K3
|
||||
0x88140B05, // 000C GETMBR R5 R5 K5
|
||||
0xB81A0600, // 000D GETNGBL R6 K3
|
||||
0x88180D06, // 000E GETMBR R6 R6 K6
|
||||
0x30140A06, // 000F OR R5 R5 R6
|
||||
0x7C080600, // 0010 CALL R2 3
|
||||
0x8C080107, // 0011 GETMET R2 R0 K7
|
||||
0xB8120400, // 0012 GETNGBL R4 K2
|
||||
0xB8160600, // 0013 GETNGBL R5 K3
|
||||
0x88140B08, // 0014 GETMBR R5 R5 K8
|
||||
0x7C100200, // 0015 CALL R4 1
|
||||
0xB8160600, // 0016 GETNGBL R5 K3
|
||||
0x88140B05, // 0017 GETMBR R5 R5 K5
|
||||
0xB81A0600, // 0018 GETNGBL R6 K3
|
||||
0x88180D06, // 0019 GETMBR R6 R6 K6
|
||||
0x30140A06, // 001A OR R5 R5 R6
|
||||
0x7C080600, // 001B CALL R2 3
|
||||
0x4C080000, // 001C LDNIL R2
|
||||
0x20080202, // 001D NE R2 R1 R2
|
||||
0x780A001D, // 001E JMPF R2 #003D
|
||||
0x8C080309, // 001F GETMET R2 R1 K9
|
||||
0x7C080200, // 0020 CALL R2 1
|
||||
0x8C0C030A, // 0021 GETMET R3 R1 K10
|
||||
0xB8160600, // 0022 GETNGBL R5 K3
|
||||
0x88140B05, // 0023 GETMBR R5 R5 K5
|
||||
0xB81A0600, // 0024 GETNGBL R6 K3
|
||||
0x88180D06, // 0025 GETMBR R6 R6 K6
|
||||
0x30140A06, // 0026 OR R5 R5 R6
|
||||
0x7C0C0400, // 0027 CALL R3 2
|
||||
0x8C10010B, // 0028 GETMET R4 R0 K11
|
||||
0x5C180400, // 0029 MOVE R6 R2
|
||||
0x7C100400, // 002A CALL R4 2
|
||||
0x8C10010C, // 002B GETMET R4 R0 K12
|
||||
0x5C180400, // 002C MOVE R6 R2
|
||||
0x7C100400, // 002D CALL R4 2
|
||||
0x8C10010D, // 002E GETMET R4 R0 K13
|
||||
0x8C18030E, // 002F GETMET R6 R1 K14
|
||||
0x7C180200, // 0030 CALL R6 1
|
||||
0x04180C02, // 0031 SUB R6 R6 R2
|
||||
0x04180C03, // 0032 SUB R6 R6 R3
|
||||
0x7C100400, // 0033 CALL R4 2
|
||||
0x8C10030F, // 0034 GETMET R4 R1 K15
|
||||
0x00180602, // 0035 ADD R6 R3 R2
|
||||
0x00180D10, // 0036 ADD R6 R6 K16
|
||||
0xB81E0600, // 0037 GETNGBL R7 K3
|
||||
0x881C0F05, // 0038 GETMBR R7 R7 K5
|
||||
0xB8220600, // 0039 GETNGBL R8 K3
|
||||
0x88201106, // 003A GETMBR R8 R8 K6
|
||||
0x301C0E08, // 003B OR R7 R7 R8
|
||||
0x7C100600, // 003C CALL R4 3
|
||||
0x80000000, // 003D RET 0
|
||||
0x8C100903, // 0008 GETMET R4 R4 K3
|
||||
0xB81A0400, // 0009 GETNGBL R6 K2
|
||||
0x88180D04, // 000A GETMBR R6 R6 K4
|
||||
0x7C100400, // 000B CALL R4 2
|
||||
0xB8160400, // 000C GETNGBL R5 K2
|
||||
0x88140B05, // 000D GETMBR R5 R5 K5
|
||||
0xB81A0400, // 000E GETNGBL R6 K2
|
||||
0x88180D06, // 000F GETMBR R6 R6 K6
|
||||
0x30140A06, // 0010 OR R5 R5 R6
|
||||
0x7C080600, // 0011 CALL R2 3
|
||||
0x8C080107, // 0012 GETMET R2 R0 K7
|
||||
0xB8120400, // 0013 GETNGBL R4 K2
|
||||
0x8C100903, // 0014 GETMET R4 R4 K3
|
||||
0xB81A0400, // 0015 GETNGBL R6 K2
|
||||
0x88180D08, // 0016 GETMBR R6 R6 K8
|
||||
0x7C100400, // 0017 CALL R4 2
|
||||
0xB8160400, // 0018 GETNGBL R5 K2
|
||||
0x88140B05, // 0019 GETMBR R5 R5 K5
|
||||
0xB81A0400, // 001A GETNGBL R6 K2
|
||||
0x88180D06, // 001B GETMBR R6 R6 K6
|
||||
0x30140A06, // 001C OR R5 R5 R6
|
||||
0x7C080600, // 001D CALL R2 3
|
||||
0x4C080000, // 001E LDNIL R2
|
||||
0x20080202, // 001F NE R2 R1 R2
|
||||
0x780A001D, // 0020 JMPF R2 #003F
|
||||
0x8C080309, // 0021 GETMET R2 R1 K9
|
||||
0x7C080200, // 0022 CALL R2 1
|
||||
0x8C0C030A, // 0023 GETMET R3 R1 K10
|
||||
0xB8160400, // 0024 GETNGBL R5 K2
|
||||
0x88140B05, // 0025 GETMBR R5 R5 K5
|
||||
0xB81A0400, // 0026 GETNGBL R6 K2
|
||||
0x88180D06, // 0027 GETMBR R6 R6 K6
|
||||
0x30140A06, // 0028 OR R5 R5 R6
|
||||
0x7C0C0400, // 0029 CALL R3 2
|
||||
0x8C10010B, // 002A GETMET R4 R0 K11
|
||||
0x5C180400, // 002B MOVE R6 R2
|
||||
0x7C100400, // 002C CALL R4 2
|
||||
0x8C10010C, // 002D GETMET R4 R0 K12
|
||||
0x5C180400, // 002E MOVE R6 R2
|
||||
0x7C100400, // 002F CALL R4 2
|
||||
0x8C10010D, // 0030 GETMET R4 R0 K13
|
||||
0x8C18030E, // 0031 GETMET R6 R1 K14
|
||||
0x7C180200, // 0032 CALL R6 1
|
||||
0x04180C02, // 0033 SUB R6 R6 R2
|
||||
0x04180C03, // 0034 SUB R6 R6 R3
|
||||
0x7C100400, // 0035 CALL R4 2
|
||||
0x8C10030F, // 0036 GETMET R4 R1 K15
|
||||
0x00180602, // 0037 ADD R6 R3 R2
|
||||
0x00180D10, // 0038 ADD R6 R6 K16
|
||||
0xB81E0400, // 0039 GETNGBL R7 K2
|
||||
0x881C0F05, // 003A GETMBR R7 R7 K5
|
||||
0xB8220400, // 003B GETNGBL R8 K2
|
||||
0x88201106, // 003C GETMBR R8 R8 K6
|
||||
0x301C0E08, // 003D OR R7 R7 R8
|
||||
0x7C100600, // 003E CALL R4 3
|
||||
0x80000000, // 003F RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
|
|
@ -30,7 +30,7 @@ be_local_closure(every_second, /* name */
|
|||
/* K6 */ be_const_int(0),
|
||||
}),
|
||||
(be_nested_const_str("every_second", 2075451465, 12)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[23]) { /* code */
|
||||
0xB8060000, // 0000 GETNGBL R1 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
|
@ -81,8 +81,8 @@ be_local_closure(init, /* name */
|
|||
/* K3 */ be_nested_string("set_percentage", -1342944572, 14),
|
||||
/* K4 */ be_const_int(0),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0x60080003, // 0000 GETGBL R2 G3
|
||||
0x5C0C0000, // 0001 MOVE R3 R0
|
||||
|
@ -123,7 +123,7 @@ be_local_closure(del, /* name */
|
|||
/* K2 */ be_nested_string("remove_driver", 1030243768, 13),
|
||||
}),
|
||||
(be_nested_const_str("del", -816214454, 3)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x60040003, // 0000 GETGBL R1 G3
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
|
|
|
@ -24,6 +24,7 @@ be_extern_native_module(introspect);
|
|||
be_extern_native_module(strict);
|
||||
|
||||
/* Tasmota specific */
|
||||
be_extern_native_module(python_compat);
|
||||
be_extern_native_module(persist);
|
||||
be_extern_native_module(light);
|
||||
be_extern_native_module(gpio);
|
||||
|
@ -31,8 +32,9 @@ be_extern_native_module(energy);
|
|||
be_extern_native_module(webserver);
|
||||
be_extern_native_module(flash);
|
||||
be_extern_native_module(path);
|
||||
be_extern_native_module(unishox);
|
||||
#ifdef USE_LVGL
|
||||
be_extern_native_module(lvgl);
|
||||
be_extern_native_module(lv);
|
||||
#endif // USE_LVGL
|
||||
|
||||
/* user-defined modules declare start */
|
||||
|
@ -80,6 +82,7 @@ BERRY_LOCAL const bntvmodule* const be_module_table[] = {
|
|||
#endif
|
||||
/* user-defined modules register start */
|
||||
|
||||
&be_native_module(python_compat),
|
||||
&be_native_module(path),
|
||||
&be_native_module(persist),
|
||||
&be_native_module(gpio),
|
||||
|
@ -87,8 +90,12 @@ BERRY_LOCAL const bntvmodule* const be_module_table[] = {
|
|||
&be_native_module(light),
|
||||
#endif
|
||||
|
||||
#ifdef USE_UNISHOX_COMPRESSION
|
||||
&be_native_module(unishox),
|
||||
#endif // USE_UNISHOX_COMPRESSION
|
||||
|
||||
#ifdef USE_LVGL
|
||||
&be_native_module(lvgl),
|
||||
&be_native_module(lv),
|
||||
#endif // USE_LVGL
|
||||
#ifdef USE_ENERGY_SENSOR
|
||||
&be_native_module(energy),
|
||||
|
@ -124,10 +131,8 @@ extern void be_load_driver_audio_lib(bvm *vm);
|
|||
#endif
|
||||
|
||||
#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);
|
||||
extern void be_load_ctypes_lvgl_definitions_lib(bvm *vm);
|
||||
extern void be_load_lv_color_class(bvm *vm);
|
||||
extern void be_load_lv_font_class(bvm *vm);
|
||||
extern void be_load_LVGL_glob_class(bvm *vm);
|
||||
// custom widgets
|
||||
extern void be_load_lv_signal_bars_class(bvm *vm);
|
||||
|
@ -176,11 +181,9 @@ BERRY_API void be_load_custom_libs(bvm *vm)
|
|||
#endif
|
||||
#ifdef USE_LVGL
|
||||
// LVGL
|
||||
be_load_lvgl_color_lib(vm);
|
||||
be_load_lvgl_font_lib(vm);
|
||||
be_load_lv_color_class(vm);
|
||||
be_load_lv_font_class(vm);
|
||||
|
||||
be_load_lv_all_lib(vm);
|
||||
be_load_ctypes_lvgl_definitions_lib(vm);
|
||||
be_load_LVGL_glob_class(vm);
|
||||
// custom widgets
|
||||
be_load_lv_signal_bars_class(vm);
|
||||
|
|
|
@ -31,7 +31,7 @@ be_local_closure(save, /* name */
|
|||
/* K7 */ be_nested_string("_dirty", 283846766, 6),
|
||||
}),
|
||||
(be_nested_const_str("save", -855671224, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[30]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x4C080000, // 0001 LDNIL R2
|
||||
|
@ -87,7 +87,7 @@ be_local_closure(setmember, /* name */
|
|||
/* K1 */ be_nested_string("_dirty", 283846766, 6),
|
||||
}),
|
||||
(be_nested_const_str("setmember", 1432909441, 9)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x880C0100, // 0000 GETMBR R3 R0 K0
|
||||
0x980C0202, // 0001 SETIDX R3 R1 R2
|
||||
|
@ -121,8 +121,8 @@ be_local_closure(init, /* name */
|
|||
/* K4 */ be_nested_string("load", -435725847, 4),
|
||||
/* K5 */ be_nested_string("_dirty", 283846766, 6),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0x90020101, // 0000 SETMBR R0 K0 K1
|
||||
0x6008000F, // 0001 GETGBL R2 G15
|
||||
|
@ -176,7 +176,7 @@ be_local_closure(load, /* name */
|
|||
/* K9 */ be_nested_string("_dirty", 283846766, 6),
|
||||
}),
|
||||
(be_nested_const_str("load", -435725847, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[37]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
|
@ -239,7 +239,7 @@ be_local_closure(has, /* name */
|
|||
/* K1 */ be_nested_string("has", -306245661, 3),
|
||||
}),
|
||||
(be_nested_const_str("has", -306245661, 3)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
|
@ -270,7 +270,7 @@ be_local_closure(zero, /* name */
|
|||
/* K1 */ be_nested_string("_dirty", 283846766, 6),
|
||||
}),
|
||||
(be_nested_const_str("zero", -1955600541, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0x60040013, // 0000 GETGBL R1 G19
|
||||
0x7C040000, // 0001 CALL R1 0
|
||||
|
@ -302,7 +302,7 @@ be_local_closure(member, /* name */
|
|||
/* K1 */ be_nested_string("find", -1108310694, 4),
|
||||
}),
|
||||
(be_nested_const_str("member", 719708611, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
|
@ -334,7 +334,7 @@ be_local_closure(remove, /* name */
|
|||
/* K2 */ be_nested_string("_dirty", 283846766, 6),
|
||||
}),
|
||||
(be_nested_const_str("remove", -611183107, 6)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
|
@ -367,7 +367,7 @@ be_local_closure(find, /* name */
|
|||
/* K1 */ be_nested_string("find", -1108310694, 4),
|
||||
}),
|
||||
(be_nested_const_str("find", -1108310694, 4)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 6]) { /* code */
|
||||
0x880C0100, // 0000 GETMBR R3 R0 K0
|
||||
0x8C0C0701, // 0001 GETMET R3 R3 K1
|
||||
|
@ -422,7 +422,7 @@ be_local_closure(_anonymous_, /* name */
|
|||
/* K0 */ be_const_class(be_class_Persist),
|
||||
}),
|
||||
(be_nested_const_str("_anonymous_", 1957281476, 11)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x58040000, // 0000 LDCONST R1 K0
|
||||
0xB4000000, // 0001 CLASS K0
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
/********************************************************************
|
||||
* Berry python compatibility module
|
||||
*
|
||||
* `import python_compat`
|
||||
*******************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: _anonymous_
|
||||
********************************************************************/
|
||||
be_local_closure(_anonymous_, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_string("global", 503252654, 6),
|
||||
/* K1 */ be_nested_string("True", -841064955, 4),
|
||||
/* K2 */ be_nested_string("False", -1753917960, 5),
|
||||
/* K3 */ be_nested_string("None", 810547195, 4),
|
||||
/* K4 */ be_nested_string("b", -418632219, 1),
|
||||
}),
|
||||
(be_nested_const_str("_anonymous_", 1957281476, 11)),
|
||||
(be_nested_const_str("python_compat.be", -225667571, 16)),
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x50080200, // 0001 LDBOOL R2 1 0
|
||||
0x90060202, // 0002 SETMBR R1 K1 R2
|
||||
0x50080000, // 0003 LDBOOL R2 0 0
|
||||
0x90060402, // 0004 SETMBR R1 K2 R2
|
||||
0x4C080000, // 0005 LDNIL R2
|
||||
0x90060602, // 0006 SETMBR R1 K3 R2
|
||||
0x60080015, // 0007 GETGBL R2 G21
|
||||
0x90060802, // 0008 SETMBR R1 K4 R2
|
||||
0x80040000, // 0009 RET 1 R0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified module: python_compat
|
||||
********************************************************************/
|
||||
be_local_module(python_compat,
|
||||
"python_compat",
|
||||
be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_nested_key("init", 380752755, 4, -1), be_const_closure(_anonymous__closure) },
|
||||
}))
|
||||
);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(python_compat);
|
||||
/********************************************************************/
|
File diff suppressed because it is too large
Load Diff
|
@ -27,7 +27,7 @@ be_local_closure(tostring, /* name */
|
|||
/* K5 */ be_nested_string("id", 926444256, 2),
|
||||
}),
|
||||
(be_nested_const_str("tostring", -1995258651, 8)),
|
||||
(be_nested_const_str("Tasmota.be", 825809411, 10)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[19]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x8C080301, // 0001 GETMET R2 R1 K1
|
||||
|
@ -72,8 +72,8 @@ be_local_closure(init, /* name */
|
|||
/* K1 */ be_nested_string("f", -485742695, 1),
|
||||
/* K2 */ be_nested_string("id", 926444256, 2),
|
||||
}),
|
||||
(be_nested_const_str("init", 380752755, 4)),
|
||||
(be_nested_const_str("Tasmota.be", 825809411, 10)),
|
||||
((bstring*) &be_const_str_init),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x90020001, // 0000 SETMBR R0 K0 R1
|
||||
0x90020202, // 0001 SETMBR R0 K1 R2
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/********************************************************************
|
||||
* Berry module `unishox`
|
||||
*
|
||||
* To use: `import unishox`
|
||||
*
|
||||
* Allows to respond to HTTP request
|
||||
*******************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
#ifdef USE_UNISHOX_COMPRESSION
|
||||
|
||||
extern int be_unishox_compress(bvm *vm);
|
||||
extern int be_unishox_decompress(bvm *vm);
|
||||
|
||||
/********************************************************************
|
||||
** Solidified module: unishox
|
||||
********************************************************************/
|
||||
be_local_module(unishox,
|
||||
"unishox",
|
||||
be_nested_map(2,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_nested_key("decompress", -1407935646, 10, -1), be_const_func(be_unishox_decompress) },
|
||||
{ be_nested_key("compress", -1476883059, 8, -1), be_const_func(be_unishox_compress) },
|
||||
}))
|
||||
);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(unishox);
|
||||
|
||||
#endif // USE_UNISHOX_COMPRESSION
|
|
@ -23,6 +23,7 @@ extern int b_wire_scan(bvm *vm);
|
|||
extern int b_wire_validwrite(bvm *vm);
|
||||
extern int b_wire_validread(bvm *vm);
|
||||
extern int b_wire_detect(bvm *vm);
|
||||
extern int b_wire_enabled(bvm *vm);
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: write_bytes
|
||||
|
@ -43,7 +44,7 @@ be_local_closure(write_bytes, /* name */
|
|||
/* K2 */ be_nested_string("_end_transmission", -1057486896, 17),
|
||||
}),
|
||||
(be_nested_const_str("write_bytes", 1227543792, 11)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0x8C100100, // 0000 GETMET R4 R0 K0
|
||||
0x5C180200, // 0001 MOVE R6 R1
|
||||
|
@ -85,7 +86,7 @@ be_local_closure(read_bytes, /* name */
|
|||
/* K5 */ be_nested_string("_read", 346717030, 5),
|
||||
}),
|
||||
(be_nested_const_str("read_bytes", -718234123, 10)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
((bstring*) &be_const_str_input),
|
||||
( &(const binstruction[24]) { /* code */
|
||||
0x8C100100, // 0000 GETMET R4 R0 K0
|
||||
0x5C180200, // 0001 MOVE R6 R1
|
||||
|
@ -140,6 +141,7 @@ class be_class_tasmota_wire (scope: global, name: Wire) {
|
|||
write, func(b_wire_validwrite)
|
||||
read, func(b_wire_validread)
|
||||
detect, func(b_wire_detect)
|
||||
enabled, func(b_wire_enabled)
|
||||
|
||||
read_bytes, closure(read_bytes_closure)
|
||||
write_bytes, closure(write_bytes_closure)
|
||||
|
|
|
@ -71,6 +71,21 @@
|
|||
**/
|
||||
#define BE_USE_OBSERVABILITY_HOOK 1
|
||||
|
||||
/* Macro: BE_USE_OBSERVABILITY_HOOK
|
||||
* Use the obshook function to report low-level actions.
|
||||
* Default: 0
|
||||
**/
|
||||
#define BE_USE_PERF_COUNTERS 1
|
||||
|
||||
/* Macro: BE_VM_OBSERVABILITY_SAMPLING
|
||||
* If BE_USE_OBSERVABILITY_HOOK == 1 and BE_USE_PERF_COUNTERS == 1
|
||||
* then the observability hook is called regularly in the VM loop
|
||||
* allowing to stop infinite loops or too-long running code.
|
||||
* The value is a power of 2.
|
||||
* Default: 20 - which translates to 2^20 or ~1 million instructions
|
||||
**/
|
||||
#define BE_VM_OBSERVABILITY_SAMPLING 20
|
||||
|
||||
/* Macro: BE_STACK_TOTAL_MAX
|
||||
* Set the maximum total stack size.
|
||||
* Default: 20000
|
||||
|
|
|
@ -17,11 +17,39 @@ end
|
|||
|
||||
tasmota = nil
|
||||
class Tasmota
|
||||
var _rules
|
||||
var _timers
|
||||
var _ccmd
|
||||
var _drivers
|
||||
var _cb
|
||||
var wire1
|
||||
var wire2
|
||||
var cmd_res # store the command result, nil if disables, true if capture enabled, contains return value
|
||||
var global # mapping to TasmotaGlobal
|
||||
var settings
|
||||
|
||||
def init()
|
||||
# instanciate the mapping object to TasmotaGlobal
|
||||
self.global = ctypes_bytes_dyn(self._global_addr, self._global_def)
|
||||
import introspect
|
||||
var settings_addr = bytes(self._settings_ptr, 4).get(0,4)
|
||||
if settings_addr
|
||||
self.settings = ctypes_bytes_dyn(introspect.toptr(settings_addr), self._settings_def)
|
||||
end
|
||||
end
|
||||
|
||||
# create a specific sub-class for rules: pattern(string) -> closure
|
||||
# Classs KV has two members k and v
|
||||
def kv(k, v)
|
||||
class KV
|
||||
var k, v
|
||||
def init(k,v)
|
||||
self.k = k
|
||||
self.v = v
|
||||
end
|
||||
end
|
||||
|
||||
return KV(k, v)
|
||||
end
|
||||
|
||||
# add `chars_in_string(s:string,c:string) -> int``
|
||||
|
@ -50,7 +78,7 @@ class Tasmota
|
|||
def find_key_i(m,keyi)
|
||||
import string
|
||||
var keyu = string.toupper(keyi)
|
||||
if classof(m) == map
|
||||
if isinstance(m, map)
|
||||
for k:m.keys()
|
||||
if string.toupper(k)==keyu || keyi=='?'
|
||||
return k
|
||||
|
@ -84,10 +112,10 @@ class Tasmota
|
|||
# Rules
|
||||
def add_rule(pat,f)
|
||||
if !self._rules
|
||||
self._rules={}
|
||||
self._rules=[]
|
||||
end
|
||||
if type(f) == 'function'
|
||||
self._rules[pat] = f
|
||||
self._rules.push(self.kv(pat, f))
|
||||
else
|
||||
raise 'value_error', 'the second argument is not a function'
|
||||
end
|
||||
|
@ -95,7 +123,14 @@ class Tasmota
|
|||
|
||||
def remove_rule(pat)
|
||||
if self._rules
|
||||
self._rules.remove(pat)
|
||||
var i = 0
|
||||
while i < size(self._rules)
|
||||
if self._rules[i].k == pat
|
||||
self._rules.remove(i) #- don't increment i since we removed the object -#
|
||||
else
|
||||
i += 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -142,15 +177,25 @@ class Tasmota
|
|||
# Run rules, i.e. check each individual rule
|
||||
# Returns true if at least one rule matched, false if none
|
||||
def exec_rules(ev_json)
|
||||
if self._rules
|
||||
if self._rules || self.cmd_res != nil # if there is a rule handler, or we record rule results
|
||||
import json
|
||||
var ev = json.load(ev_json)
|
||||
var ev = json.load(ev_json) # returns nil if invalid JSON
|
||||
var ret = false
|
||||
if ev == nil
|
||||
print('BRY: ERROR, bad json: '+ev_json, 3)
|
||||
else
|
||||
for r: self._rules.keys()
|
||||
ret = self.try_rule(ev,r,self._rules[r]) || ret
|
||||
self.log('BRY: ERROR, bad json: '+ev_json, 3)
|
||||
ev = ev_json # revert to string
|
||||
end
|
||||
# record the rule payload for tasmota.cmd()
|
||||
if self.cmd_res != nil
|
||||
self.cmd_res = ev
|
||||
end
|
||||
# try all rule handlers
|
||||
if self._rules
|
||||
var i = 0
|
||||
while i < size(self._rules)
|
||||
var kv = self._rules[i]
|
||||
ret = self.try_rule(ev,kv.k,kv.v) || ret #- call should be first to avoid evaluation shortcut if ret is already true -#
|
||||
i += 1
|
||||
end
|
||||
end
|
||||
return ret
|
||||
|
@ -158,6 +203,30 @@ class Tasmota
|
|||
return false
|
||||
end
|
||||
|
||||
# Run tele rules
|
||||
def exec_tele(ev_json)
|
||||
if self._rules
|
||||
import json
|
||||
var ev = json.load(ev_json) # returns nil if invalid JSON
|
||||
var ret = false
|
||||
if ev == nil
|
||||
self.log('BRY: ERROR, bad json: '+ev_json, 3)
|
||||
ev = ev_json # revert to string
|
||||
end
|
||||
# insert tele prefix
|
||||
ev = { "Tele": ev }
|
||||
|
||||
var i = 0
|
||||
while i < size(self._rules)
|
||||
var kv = self._rules[i]
|
||||
ret = self.try_rule(ev,kv.k,kv.v) || ret #- call should be first to avoid evaluation shortcut -#
|
||||
i += 1
|
||||
end
|
||||
return ret
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
def set_timer(delay,f,id)
|
||||
if !self._timers self._timers=[] end
|
||||
self._timers.push(Timer(self.millis(delay),f,id))
|
||||
|
@ -240,8 +309,8 @@ class Tasmota
|
|||
def wire_scan(addr,idx)
|
||||
# skip if the I2C index is disabled
|
||||
if idx != nil && !self.i2c_enabled(idx) return nil end
|
||||
if self.wire1.detect(addr) return self.wire1 end
|
||||
if self.wire2.detect(addr) return self.wire2 end
|
||||
if self.wire1.enabled() && self.wire1.detect(addr) return self.wire1 end
|
||||
if self.wire2.enabled() && self.wire2.detect(addr) return self.wire2 end
|
||||
return nil
|
||||
end
|
||||
|
||||
|
@ -300,10 +369,13 @@ class Tasmota
|
|||
|
||||
def event(event_type, cmd, idx, payload, raw)
|
||||
import introspect
|
||||
import debug
|
||||
import string
|
||||
if event_type=='every_50ms' self.run_deferred() end #- first run deferred events -#
|
||||
|
||||
var done = false
|
||||
if event_type=='cmd' return self.exec_cmd(cmd, idx, payload)
|
||||
elif event_type=='tele' return self.exec_tele(payload)
|
||||
elif event_type=='rule' return self.exec_rules(payload)
|
||||
elif event_type=='gc' return self.gc()
|
||||
elif self._drivers
|
||||
|
@ -317,8 +389,8 @@ class Tasmota
|
|||
done = f(d, cmd, idx, payload, raw)
|
||||
if done break end
|
||||
except .. as e,m
|
||||
import string
|
||||
print(string.format("BRY: Exception> '%s' - %s", e, m))
|
||||
debug.traceback()
|
||||
end
|
||||
end
|
||||
i += 1
|
||||
|
@ -353,14 +425,17 @@ class Tasmota
|
|||
|
||||
# cmd high-level function
|
||||
def cmd(command)
|
||||
import json
|
||||
var ret = self._cmd(command)
|
||||
var j = json.load(ret)
|
||||
if type(j) == 'instance'
|
||||
return j
|
||||
else
|
||||
return {'response':j}
|
||||
self.cmd_res = true # signal buffer capture
|
||||
|
||||
self._cmd(command)
|
||||
|
||||
var ret = nil
|
||||
if self.cmd_res != true # unchanged
|
||||
ret = self.cmd_res
|
||||
end
|
||||
self.cmd_res = nil # clear buffer
|
||||
|
||||
return ret
|
||||
end
|
||||
|
||||
# set_light and get_light deprecetaion
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
-
|
||||
--#
|
||||
|
||||
class lv_clock_icon: lv_label
|
||||
class lv_clock_icon: lv.label
|
||||
var hour, minute, sec
|
||||
|
||||
def init(parent, copy)
|
||||
super(self).init(parent, copy)
|
||||
def init(parent)
|
||||
super(self).init(parent)
|
||||
var f_s7_16 = lv.seg7_font(16)
|
||||
if f_s7_16 != nil self.set_style_text_font(f_s7_16, lv.PART_MAIN | lv.STATE_DEFAULT) end
|
||||
|
||||
|
@ -22,7 +22,7 @@ class lv_clock_icon: lv_label
|
|||
self.set_x(parent.get_width() - w - pad_right - 3)
|
||||
parent.set_style_pad_right(pad_right + w + 6, lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
|
||||
self.set_style_bg_color(lv_color(lv.COLOR_BLACK), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
self.set_style_bg_color(lv.color(lv.COLOR_BLACK), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
end
|
||||
|
||||
tasmota.add_driver(self)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
-
|
||||
--#
|
||||
|
||||
class lv_signal_arcs : lv_obj
|
||||
class lv_signal_arcs : lv.obj
|
||||
var percentage # value to display, range 0..100
|
||||
var p1, p2, area, line_dsc # instances of objects kept to avoid re-instanciating at each call
|
||||
|
||||
|
@ -12,10 +12,10 @@ class lv_signal_arcs : lv_obj
|
|||
# own values
|
||||
self.percentage = 100
|
||||
# pre-allocate buffers
|
||||
self.p1 = lv_point()
|
||||
self.p2 = lv_point()
|
||||
self.area = lv_area()
|
||||
self.line_dsc = lv_draw_line_dsc()
|
||||
self.p1 = lv.point()
|
||||
self.p2 = lv.point()
|
||||
self.area = lv.area()
|
||||
self.line_dsc = lv.draw_line_dsc()
|
||||
end
|
||||
|
||||
def widget_event(cl, event)
|
||||
|
@ -35,14 +35,14 @@ class lv_signal_arcs : lv_obj
|
|||
#print("inter_bar", inter_bar, "bar", bar, "bar_offset", bar_offset)
|
||||
|
||||
if code == lv.EVENT_DRAW_MAIN
|
||||
var clip_area = lv_area(event.param)
|
||||
var clip_area = lv.area(event.param)
|
||||
|
||||
# get coordinates of object
|
||||
self.get_coords(self.area)
|
||||
var x_ofs = self.area.x1
|
||||
var y_ofs = self.area.y1
|
||||
|
||||
lv.draw_line_dsc_init(self.line_dsc) # initialize lv_draw_line_dsc structure
|
||||
lv.draw_line_dsc_init(self.line_dsc) # initialize lv.draw_line_dsc structure
|
||||
self.init_draw_line_dsc(lv.PART_MAIN, self.line_dsc) # copy the current values
|
||||
|
||||
self.line_dsc.round_start = 1
|
||||
|
@ -118,8 +118,8 @@ end
|
|||
class lv_wifi_arcs_icon: lv_wifi_arcs
|
||||
def init(parent)
|
||||
super(self).init(parent)
|
||||
self.set_style_line_color(lv_color(lv.COLOR_WHITE), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
self.set_style_bg_color(lv_color(lv.COLOR_BLACK), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
self.set_style_line_color(lv.color(lv.COLOR_WHITE), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
self.set_style_bg_color(lv.color(lv.COLOR_BLACK), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
if parent != nil
|
||||
var parent_height = parent.get_height()
|
||||
var pad_right = parent.get_style_pad_right(lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
-
|
||||
--#
|
||||
|
||||
class lv_signal_bars : lv_obj
|
||||
class lv_signal_bars : lv.obj
|
||||
var percentage # value to display, range 0..100
|
||||
var p1, p2, area, line_dsc # instances of objects kept to avoid re-instanciating at each call
|
||||
|
||||
|
@ -12,10 +12,10 @@ class lv_signal_bars : lv_obj
|
|||
# own values
|
||||
self.percentage = 100
|
||||
# pre-allocate buffers
|
||||
self.p1 = lv_point()
|
||||
self.p2 = lv_point()
|
||||
self.area = lv_area()
|
||||
self.line_dsc = lv_draw_line_dsc()
|
||||
self.p1 = lv.point()
|
||||
self.p2 = lv.point()
|
||||
self.area = lv.area()
|
||||
self.line_dsc = lv.draw_line_dsc()
|
||||
end
|
||||
|
||||
def widget_event(cl, event)
|
||||
|
@ -33,7 +33,7 @@ class lv_signal_bars : lv_obj
|
|||
var bar_offset = bar / 2
|
||||
|
||||
if code == lv.EVENT_DRAW_MAIN
|
||||
var clip_area = lv_area(event.param)
|
||||
var clip_area = lv.area(event.param)
|
||||
|
||||
# get coordinates of object
|
||||
self.get_coords(self.area)
|
||||
|
@ -104,8 +104,8 @@ end
|
|||
class lv_wifi_bars_icon: lv_wifi_bars
|
||||
def init(parent)
|
||||
super(self).init(parent)
|
||||
self.set_style_line_color(lv_color(lv.COLOR_WHITE), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
self.set_style_bg_color(lv_color(lv.COLOR_BLACK), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
self.set_style_line_color(lv.color(lv.COLOR_WHITE), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
self.set_style_bg_color(lv.color(lv.COLOR_BLACK), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
if parent != nil
|
||||
var parent_height = parent.get_height()
|
||||
var pad_right = parent.get_style_pad_right(lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
#- this limits the globals to a single value '_lvgl' -#
|
||||
class LVGL_glob
|
||||
# all variables are lazily initialized to reduce the memory pressure. Until they are used, they consume zero memory
|
||||
var cb_obj # map between a native C pointer (as int) and the corresponding lv_* berry object, also helps marking the objects as non-gc-able
|
||||
var cb_obj # map between a native C pointer (as int) and the corresponding lv.lv_* berry object, also helps marking the objects as non-gc-able
|
||||
var cb_event_closure # mapping for event closures per LVGL native pointer (int)
|
||||
var event_cb # native callback for lv_event
|
||||
var event_cb # native callback for lv.lv_event
|
||||
|
||||
#- below are native callbacks mapped to a closure to a method of this instance -#
|
||||
var null_cb # cb called if type is not supported
|
||||
|
@ -20,7 +20,7 @@ class LVGL_glob
|
|||
#- this is the fallback callback, if the event is unknown or unsupported -#
|
||||
static cb_do_nothing = def() print("LVG: call to unsupported callback") end
|
||||
|
||||
#- register an lv_* object in the mapping -#
|
||||
#- register an lv.lv_* object in the mapping -#
|
||||
def register_obj(obj)
|
||||
if self.cb_obj == nil self.cb_obj = {} end
|
||||
var native_ptr = int(obj._p)
|
||||
|
@ -36,9 +36,9 @@ class LVGL_glob
|
|||
def lvgl_event_dispatch(event_ptr)
|
||||
import introspect
|
||||
|
||||
var event = lv_event(introspect.toptr(event_ptr))
|
||||
var event = lv.lv_event(introspect.toptr(event_ptr))
|
||||
|
||||
var target = event.target
|
||||
var target = int(event.target)
|
||||
var f = self.cb_event_closure[target]
|
||||
var obj = self.get_object_from_ptr(target)
|
||||
#print('>> lvgl_event_dispatch', f, obj, event)
|
||||
|
@ -65,7 +65,7 @@ class LVGL_glob
|
|||
|
||||
def widget_ctor_impl(cl_ptr, obj_ptr)
|
||||
import introspect
|
||||
var cl = lv_obj_class(cl_ptr)
|
||||
var cl = lv.lv_obj_class(cl_ptr)
|
||||
var obj = self.get_object_from_ptr(obj_ptr)
|
||||
if self.cb_obj.find(obj) obj = self.cb_obj[obj] end
|
||||
# print("widget_ctor_impl", cl, obj)
|
||||
|
@ -75,7 +75,7 @@ class LVGL_glob
|
|||
end
|
||||
def widget_dtor_impl(cl_ptr, obj_ptr)
|
||||
import introspect
|
||||
var cl = lv_obj_class(cl_ptr)
|
||||
var cl = lv.lv_obj_class(cl_ptr)
|
||||
var obj = self.get_object_from_ptr(obj_ptr)
|
||||
# print("widget_dtor_impl", cl, obj)
|
||||
if type(obj) == 'instance' && introspect.get(obj, 'widget_destructor')
|
||||
|
@ -84,8 +84,8 @@ class LVGL_glob
|
|||
end
|
||||
def widget_event_impl(cl_ptr, e_ptr)
|
||||
import introspect
|
||||
var cl = lv_obj_class(cl_ptr)
|
||||
var event = lv_event(e_ptr)
|
||||
var cl = lv.lv_obj_class(cl_ptr)
|
||||
var event = lv.lv_event(e_ptr)
|
||||
var obj_ptr = event.target
|
||||
var obj = self.get_object_from_ptr(int(obj_ptr))
|
||||
if type(obj) == 'instance' && introspect.get(obj, 'widget_event')
|
||||
|
@ -101,8 +101,8 @@ class LVGL_glob
|
|||
if self.widget_event_cb == nil self.widget_event_cb = tasmota.gen_cb(/ cl, e -> self.widget_event_impl(cl, e)) end
|
||||
|
||||
if self.widget_struct_default == nil
|
||||
self.widget_struct_default = lv_obj_class(lv_obj._class).copy()
|
||||
self.widget_struct_default.base_class = lv_obj._class # by default, inherit from base class `lv_obj`, this can be overriden
|
||||
self.widget_struct_default = lv.lv_obj_class(lv.lv_obj._class).copy()
|
||||
self.widget_struct_default.base_class = lv.lv_obj._class # by default, inherit from base class `lv_obj`, this can be overriden
|
||||
self.widget_struct_default.constructor_cb = self.widget_ctor_cb # set the berry cb dispatchers
|
||||
self.widget_struct_default.destructor_cb = self.widget_dtor_cb
|
||||
self.widget_struct_default.event_cb = self.widget_event_cb
|
||||
|
@ -116,11 +116,11 @@ class LVGL_glob
|
|||
end
|
||||
|
||||
#- initialize a custom widget -#
|
||||
#- arg must be a subclass of lv_obj -#
|
||||
#- arg must be a subclass of lv.lv_obj -#
|
||||
def create_custom_widget(obj, parent)
|
||||
import introspect
|
||||
|
||||
if !isinstance(obj, lv_obj) raise "value_error", "arg must be a subclass of lv_obj" end
|
||||
if !isinstance(obj, lv.lv_obj) raise "value_error", "arg must be a subclass of lv_obj" end
|
||||
if self.widget_struct_by_class == nil self.widget_struct_by_class = {} end
|
||||
|
||||
var obj_classname = classname(obj)
|
||||
|
@ -150,7 +150,7 @@ end
|
|||
|
||||
_lvgl = LVGL_glob()
|
||||
|
||||
# class lv_custom_widget : lv_obj
|
||||
# class lv_custom_widget : lv.lv_obj
|
||||
# # static widget_width_def
|
||||
# # static widget_height_def
|
||||
# # static widget_editable
|
||||
|
@ -165,10 +165,10 @@ _lvgl = LVGL_glob()
|
|||
# # own values
|
||||
# self.percentage = 100
|
||||
# # pre-allocate buffers
|
||||
# self.p1 = lv_point()
|
||||
# self.p2 = lv_point()
|
||||
# self.area = lv_area()
|
||||
# self.line_dsc = lv_draw_line_dsc()
|
||||
# self.p1 = lv.lv_point()
|
||||
# self.p2 = lv.lv_point()
|
||||
# self.area = lv.lv_area()
|
||||
# self.line_dsc = lv.lv_draw_line_dsc()
|
||||
# end
|
||||
|
||||
# # def widget_constructor(cl)
|
||||
|
@ -194,7 +194,7 @@ _lvgl = LVGL_glob()
|
|||
|
||||
# var code = event.code
|
||||
# if code == lv.EVENT_DRAW_MAIN
|
||||
# var clip_area = lv_area(event.param)
|
||||
# var clip_area = lv.lv_area(event.param)
|
||||
# print("widget_event DRAW", clip_area.tomap())
|
||||
# # lv.event_send(self, lv.EVENT_DRAW_MAIN, clip_area)
|
||||
|
||||
|
@ -203,7 +203,7 @@ _lvgl = LVGL_glob()
|
|||
# var x_ofs = self.area.x1
|
||||
# var y_ofs = self.area.y1
|
||||
|
||||
# lv.draw_line_dsc_init(self.line_dsc) # initialize lv_draw_line_dsc structure
|
||||
# lv.draw_line_dsc_init(self.line_dsc) # initialize lv.lv_draw_line_dsc structure
|
||||
# self.init_draw_line_dsc(lv.PART_MAIN, self.line_dsc)
|
||||
|
||||
# self.line_dsc.round_start = 1
|
||||
|
@ -252,6 +252,6 @@ _lvgl = LVGL_glob()
|
|||
# scr = lv.scr_act() # default screean object
|
||||
# f20 = lv.montserrat_font(20) # load embedded Montserrat 20
|
||||
|
||||
# scr.set_style_bg_color(lv_color(0x0000A0), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
# scr.set_style_bg_color(lv.lv_color(0x0000A0), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
|
||||
# w = lv_custom_widget(scr)
|
||||
# w = lv_custom_widget(scr)
|
|
@ -1,7 +1,75 @@
|
|||
|
||||
import string
|
||||
import json
|
||||
|
||||
# lv.start()
|
||||
# scr = lv.scr_act() # default screean object
|
||||
# scr.set_style_bg_color(lv.color(0x0000A0), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
|
||||
lv.start()
|
||||
|
||||
hres = lv.get_hor_res() # should be 320
|
||||
vres = lv.get_ver_res() # should be 240
|
||||
|
||||
scr = lv.scr_act() # default screean object
|
||||
#f20 = lv.montserrat_font(20) # load embedded Montserrat 20
|
||||
r20 = lv.font_robotocondensed_latin1(20)
|
||||
r16 = lv.font_robotocondensed_latin1(16)
|
||||
|
||||
th2 = lv.theme_openhasp_init(0, lv.color(0xFF00FF), lv.color(0x303030), false, r16)
|
||||
scr.get_disp().set_theme(th2)
|
||||
# TODO
|
||||
scr.set_style_bg_color(lv.color(lv.COLOR_WHITE),0)
|
||||
|
||||
# apply theme to layer_top, but keep it transparent
|
||||
lv.theme_apply(lv.layer_top())
|
||||
lv.layer_top().set_style_bg_opa(0,0)
|
||||
|
||||
|
||||
# takes an attribute name and responds if it needs color conversion
|
||||
def is_color_attribute(t)
|
||||
import string
|
||||
t = str(t)
|
||||
# contains `color` but does not contain `color_`
|
||||
return (string.find(t, "color") >= 0) && (string.find(t, "color_") < 0)
|
||||
end
|
||||
|
||||
# parse hex string
|
||||
def parse_hex(s)
|
||||
import string
|
||||
s = string.toupper(s) # turn to uppercase
|
||||
var val = 0
|
||||
for i:0..size(s)-1
|
||||
var c = s[i]
|
||||
# var c_int = string.byte(c)
|
||||
if c == "#" continue end # skip '#' prefix if any
|
||||
if c == "x" || c == "X" continue end # skip 'x' or 'X'
|
||||
|
||||
if c >= "A" && c <= "F"
|
||||
val = (val << 4) | string.byte(c) - 55
|
||||
elif c >= "0" && c <= "9"
|
||||
val = (val << 4) | string.byte(c) - 48
|
||||
end
|
||||
end
|
||||
return val
|
||||
end
|
||||
|
||||
def parse_color(s)
|
||||
s = str(s)
|
||||
if s[0] == '#'
|
||||
return lv.color(parse_hex(s))
|
||||
else
|
||||
import string
|
||||
import introspect
|
||||
var col_name = "COLOR_" + string.toupper(s)
|
||||
var col_try = introspect.get(lv, col_name)
|
||||
if col_try != nil
|
||||
return lv.color(col_try)
|
||||
end
|
||||
end
|
||||
# fail safe with black color
|
||||
return lv.color(0x000000)
|
||||
end
|
||||
|
||||
#- ------------------------------------------------------------
|
||||
Class `lvh_obj` encapsulating `lv_obj``
|
||||
|
||||
|
@ -11,7 +79,19 @@ import json
|
|||
Adds specific virtual members used by OpenHASP
|
||||
- ------------------------------------------------------------ -#
|
||||
class lvh_obj
|
||||
static _lv_class = lv_obj
|
||||
# _lv_class refers to the lvgl class encapsulated, and is overriden by subclasses
|
||||
static _lv_class = lv.obj
|
||||
static _lv_part2_selector # selector for secondary part (like knob of arc)
|
||||
|
||||
# attributes to ignore when set at object level (they are managed by page)
|
||||
static _attr_ignore = [
|
||||
"id",
|
||||
"obj",
|
||||
"page",
|
||||
"comment",
|
||||
"parentid",
|
||||
"auto_size", # TODO not sure it's still needed in LVGL8
|
||||
]
|
||||
#- mapping from OpenHASP attribute to LVGL attribute -#
|
||||
#- if mapping is null, we use set_X and get_X from our own class -#
|
||||
static _attr_map = {
|
||||
|
@ -19,28 +99,93 @@ class lvh_obj
|
|||
"y": "y",
|
||||
"w": "width",
|
||||
"h": "height",
|
||||
"radius": "radius",
|
||||
"border_side": "border_side",
|
||||
"text": nil, # apply to self
|
||||
# arc
|
||||
"asjustable": nil,
|
||||
"mode": nil,
|
||||
"start_angle": "bg_start_angle",
|
||||
"start_angle1": "start_angle",
|
||||
"end_angle": "bg_end_angle",
|
||||
"end_angle1": "end_angle",
|
||||
"radius": "style_radius",
|
||||
"border_side": "style_border_side",
|
||||
"bg_opa": "style_bg_opa",
|
||||
"border_width": "style_border_width",
|
||||
"line_width": nil, # depebds on class
|
||||
"line_width1": nil, # depebds on class
|
||||
"action": nil, # store the action in self._action
|
||||
"hidden": nil, # apply to self
|
||||
"enabled": nil, # apply to self
|
||||
"enabled": nil, # apply to self
|
||||
"click": nil, # synonym to enabled
|
||||
"toggle": nil,
|
||||
"bg_color": "style_bg_color",
|
||||
"bg_grad_color": "style_bg_grad_color",
|
||||
"type": nil,
|
||||
# below automatically create a sub-label
|
||||
"text": nil, # apply to self
|
||||
"value_str": nil, # synonym to 'text'
|
||||
"align": nil,
|
||||
"text_font": nil,
|
||||
"value_font": nil, # synonym to text_font
|
||||
"text_color": nil,
|
||||
"value_color": nil, # synonym to text_color
|
||||
"value_ofs_x": nil,
|
||||
"value_ofs_y": nil,
|
||||
#
|
||||
"min": nil,
|
||||
"max": nil,
|
||||
"val": "value",
|
||||
"rotation": "rotation",
|
||||
# img
|
||||
"src": "src",
|
||||
"image_recolor": "style_img_recolor",
|
||||
"image_recolor_opa": "style_img_recolor_opa",
|
||||
# spinner
|
||||
"angle": nil,
|
||||
"speed": nil,
|
||||
# padding of knob
|
||||
"pad_top2": nil,
|
||||
"pad_bottom2": nil,
|
||||
"pad_left2": nil,
|
||||
"pad_right2": nil,
|
||||
"pad_all2": nil,
|
||||
"radius2": nil,
|
||||
}
|
||||
|
||||
var _lv_obj # native lvgl object
|
||||
var _lv_label # sub-label if exists
|
||||
var _action # action for OpenHASP
|
||||
|
||||
def init(parent)
|
||||
var obj_class = self._lv_class # need to copy to a var to distinguish from method call
|
||||
self._lv_obj = obj_class(parent)
|
||||
# init
|
||||
# - create the LVGL encapsulated object
|
||||
# arg1: parent object
|
||||
# arg2: json line object
|
||||
def init(parent, jline)
|
||||
var obj_class = self._lv_class # need to assign to a var to distinguish from method call
|
||||
self._lv_obj = obj_class(parent) # instanciate LVGL object
|
||||
self.post_init()
|
||||
end
|
||||
|
||||
def obj()
|
||||
# post-init, to be overriden
|
||||
def post_init()
|
||||
end
|
||||
|
||||
# get LVGL encapsulated object
|
||||
def get_obj()
|
||||
return self._lv_obj
|
||||
end
|
||||
|
||||
def tostring()
|
||||
return "<instance "+classname(self)+"()>"
|
||||
def set_action(t)
|
||||
self._action = str(t)
|
||||
end
|
||||
def get_action()
|
||||
return self._action()
|
||||
end
|
||||
|
||||
def set_line_width(t)
|
||||
self._lv_obj.set_style_line_width(int(t), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
end
|
||||
def get_line_width()
|
||||
return self._lv_obj.get_style_line_width(lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
end
|
||||
|
||||
#- ------------------------------------------------------------
|
||||
|
@ -49,7 +194,7 @@ class lvh_obj
|
|||
- hidden
|
||||
- enabled
|
||||
- ------------------------------------------------------------ -#
|
||||
#- `hidden` attributes mapped to LV_OBJ_FLAG_HIDDEN -#
|
||||
#- `hidden` attributes mapped to OBJ_FLAG_HIDDEN -#
|
||||
def set_hidden(h)
|
||||
if h
|
||||
self._lv_obj.add_flag(lv.OBJ_FLAG_HIDDEN)
|
||||
|
@ -62,6 +207,7 @@ class lvh_obj
|
|||
return self._lv_obj.has_flag(lv.OBJ_FLAG_HIDDEN)
|
||||
end
|
||||
|
||||
#- `enabled` attributes mapped to OBJ_FLAG_CLICKABLE -#
|
||||
def set_enabled(h)
|
||||
if h
|
||||
self._lv_obj.add_flag(lv.OBJ_FLAG_CLICKABLE)
|
||||
|
@ -73,10 +219,14 @@ class lvh_obj
|
|||
def get_enabled()
|
||||
return self._lv_obj.has_flag(lv.OBJ_FLAG_CLICKABLE)
|
||||
end
|
||||
# click is synonym to enabled
|
||||
def set_click(t) self.set_enabled(t) end
|
||||
def get_click() return self.get_enabled() end
|
||||
|
||||
#- `toggle` attributes mapped to STATE_CHECKED -#
|
||||
def set_toggle(t)
|
||||
if t == "TRUE" t = true end
|
||||
if t == "FASLE" t = false end
|
||||
if t == "FALSE" t = false end
|
||||
if t
|
||||
self._lv_obj.add_state(lv.STATE_CHECKED)
|
||||
else
|
||||
|
@ -88,30 +238,177 @@ class lvh_obj
|
|||
return self._lv_obj.has_state(lv.STATE_CHECKED)
|
||||
end
|
||||
|
||||
#- set_text: create a `lv_label` sub object to the current object -#
|
||||
#- (default case, may be overriden by object that directly take text) -#
|
||||
def set_text(t)
|
||||
if self._lv_label == nil
|
||||
self._lv_label = lv_label(self.obj())
|
||||
def set_adjustable(t)
|
||||
if t
|
||||
self._lv_obj.add_flag(lv.OBJ_FLAG_CLICKABLE)
|
||||
else
|
||||
self._lv_obj.clear_flag(lv.OBJ_FLAG_CLICKABLE)
|
||||
end
|
||||
self._lv_label.set_text(t)
|
||||
end
|
||||
def get_adjustable()
|
||||
return self._lv_obj.has_flag(lv.OBJ_FLAG_CLICKABLE)
|
||||
end
|
||||
|
||||
def get_text()
|
||||
#- set_text: create a `lv_label` sub object to the current object -#
|
||||
#- (default case, may be overriden by object that directly take text) -#
|
||||
def check_label()
|
||||
if self._lv_label == nil
|
||||
self._lv_label = lv.label(self.get_obj())
|
||||
self._lv_label.set_align(lv.ALIGN_CENTER);
|
||||
end
|
||||
end
|
||||
|
||||
def set_text(t)
|
||||
self.check_label()
|
||||
self._lv_label.set_text(str(t))
|
||||
end
|
||||
def set_value_str(t) self.set_text(t) end
|
||||
|
||||
def get_text()
|
||||
if self._lv_label == nil return nil end
|
||||
return self._lv_label.get_text()
|
||||
end
|
||||
def get_value_str() return self.get_text() end
|
||||
|
||||
def set_align(t)
|
||||
var align
|
||||
self.check_label()
|
||||
if t == 0 || t == "left"
|
||||
align = lv.TEXT_ALIGN_LEFT
|
||||
elif t == 1 || t == "center"
|
||||
align = lv.TEXT_ALIGN_CENTER
|
||||
elif t == 2 || t == "right"
|
||||
align = lv.TEXT_ALIGN_RIGHT
|
||||
end
|
||||
self._lv_label.set_style_text_align(align, lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
end
|
||||
|
||||
def get_align()
|
||||
if self._lv_label == nil return nil end
|
||||
var align self._lv_label.get_style_text_align(lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
if align == lv.TEXT_ALIGN_LEFT
|
||||
return "left"
|
||||
elif align == lv.TEXT_ALIGN_CENTER
|
||||
return "center"
|
||||
elif align == lv.TEXT_ALIGN_RIGHT
|
||||
return "right"
|
||||
else
|
||||
return nil
|
||||
end
|
||||
return self._lv_label.get_text()
|
||||
end
|
||||
|
||||
def set_text_font(t)
|
||||
self.check_label()
|
||||
var f = lv.font_robotocondensed_latin1(int(t))
|
||||
if f != nil
|
||||
self._lv_label.set_style_text_font(f, lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
else
|
||||
print("HSP: Unsupported font size: robotocondensed-latin1", t)
|
||||
end
|
||||
end
|
||||
def get_text_font()
|
||||
end
|
||||
def set_value_font(t) self.set_text_font(t) end
|
||||
def get_value_font() return self.get_text_font() end
|
||||
|
||||
def set_text_color(t)
|
||||
self.check_label()
|
||||
self._lv_label.set_style_text_color(parse_color(t), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
end
|
||||
def get_text_color()
|
||||
return self._text_color
|
||||
end
|
||||
def set_value_color(t) self.set_text_color(t) end
|
||||
def get_value_color() return self.get_value_color() end
|
||||
|
||||
def set_value_ofs_x(t)
|
||||
self.check_label()
|
||||
self._lv_label.set_x(int(t))
|
||||
end
|
||||
def get_value_ofs_x()
|
||||
return self._lv_label.get_x()
|
||||
end
|
||||
def set_value_ofs_y(t)
|
||||
self.check_label()
|
||||
self._lv_label.set_y(int(t))
|
||||
end
|
||||
def get_value_ofs_y()
|
||||
return self._lv_label.get_y()
|
||||
end
|
||||
|
||||
# secondary element
|
||||
def set_pad_top2(t)
|
||||
if self._lv_part2_selector != nil
|
||||
self._lv_obj.set_style_pad_top(int(t), self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def set_pad_bottom2(t)
|
||||
if self._lv_part2_selector != nil
|
||||
self._lv_obj.set_style_pad_bottom(int(t), self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def set_pad_left2(t)
|
||||
if self._lv_part2_selector != nil
|
||||
self._lv_obj.set_style_pad_left(int(t), self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def set_pad_right2(t)
|
||||
if self._lv_part2_selector != nil
|
||||
self._lv_obj.set_style_pad_right(int(t), self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def set_pad_all2(t)
|
||||
if self._lv_part2_selector != nil
|
||||
self._lv_obj.set_style_pad_all(int(t), self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
|
||||
def get_pad_top()
|
||||
if self._lv_part2_selector != nil
|
||||
return self._lv_obj.get_style_pad_top(self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def get_pad_bottomo()
|
||||
if self._lv_part2_selector != nil
|
||||
return self._lv_obj.get_style_pad_bottom(self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def get_pad_left()
|
||||
if self._lv_part2_selector != nil
|
||||
return self._lv_obj.get_style_pad_left(self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def get_pad_right()
|
||||
if self._lv_part2_selector != nil
|
||||
return self._lv_obj.get_style_pad_right(self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def get_pad_all()
|
||||
end
|
||||
|
||||
def set_radius2(t)
|
||||
if self._lv_part2_selector != nil
|
||||
self._lv_obj.set_style_radius(int(t), self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
def get_radius2()
|
||||
if self._lv_part2_selector != nil
|
||||
return self._lv_obj.get_style_radius(self._lv_part2_selector | lv.STATE_DEFAULT)
|
||||
end
|
||||
end
|
||||
|
||||
#- ------------------------------------------------------------
|
||||
Mapping of virtual attributes
|
||||
- ------------------------------------------------------------ -#
|
||||
def member(k)
|
||||
# tostring is a special case, we shouldn't raise an exception for it
|
||||
if k == 'tostring' return nil end
|
||||
#
|
||||
if self._attr_map.has(k)
|
||||
import introspect
|
||||
if self._attr_map[k]
|
||||
var f = introspect.get(self._lv_obj, "get_" + self._attr_map[k])
|
||||
var kv = self._attr_map[k]
|
||||
if kv
|
||||
var f = introspect.get(self._lv_obj, "get_" + kv)
|
||||
if type(f) == 'function'
|
||||
return f(self._lv_obj)
|
||||
end
|
||||
|
@ -127,16 +424,31 @@ class lvh_obj
|
|||
end
|
||||
|
||||
def setmember(k, v)
|
||||
import string
|
||||
# print(">> setmember", k, v)
|
||||
# print(">>", classname(self), self._attr_map)
|
||||
if self._attr_map.has(k)
|
||||
if self._attr_ignore.find(k) != nil
|
||||
return
|
||||
elif self._attr_map.has(k)
|
||||
import introspect
|
||||
if self._attr_map[k]
|
||||
var f = introspect.get(self._lv_obj, "set_" + self._attr_map[k])
|
||||
# print("f=", f)
|
||||
var kv = self._attr_map[k]
|
||||
if kv
|
||||
var f = introspect.get(self._lv_obj, "set_" + kv)
|
||||
# if the attribute contains 'color', convert to lv_color
|
||||
if type(kv) == 'string' && is_color_attribute(kv)
|
||||
v = parse_color(v)
|
||||
end
|
||||
# print("f=", f, v, kv, self._lv_obj, self)
|
||||
if type(f) == 'function'
|
||||
f(self._lv_obj, v)
|
||||
if string.find(kv, "style_") == 0
|
||||
# style function need a selector as second parameter
|
||||
f(self._lv_obj, v, lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
else
|
||||
f(self._lv_obj, v)
|
||||
end
|
||||
return
|
||||
else
|
||||
print("HSP: Could not find function set_"+kv)
|
||||
end
|
||||
else
|
||||
# call self method
|
||||
|
@ -148,39 +460,148 @@ class lvh_obj
|
|||
end
|
||||
end
|
||||
|
||||
else
|
||||
print("HSP: unknown attribute:", k)
|
||||
end
|
||||
# silently ignore if the attribute name is not supported
|
||||
end
|
||||
end
|
||||
|
||||
#- creat sub-classes of lvh_obj and map the LVGL class in static '_lv_class' attribute -#
|
||||
class lvh_arc : lvh_obj static _lv_class = lv_arc end
|
||||
class lvh_bar : lvh_obj static _lv_class = lv_bar end
|
||||
class lvh_btn : lvh_obj static _lv_class = lv_btn end
|
||||
class lvh_btnmatrix : lvh_obj static _lv_class = lv_btnmatrix end
|
||||
class lvh_checkbox : lvh_obj static _lv_class = lv_checkbox end
|
||||
class lvh_dropdown : lvh_obj static _lv_class = lv_dropdown end
|
||||
class lvh_img : lvh_obj static _lv_class = lv_img end
|
||||
class lvh_label : lvh_obj static _lv_class = lv_label end
|
||||
class lvh_line : lvh_obj static _lv_class = lv_line end
|
||||
class lvh_roller : lvh_obj static _lv_class = lv_roller end
|
||||
class lvh_slider : lvh_obj static _lv_class = lv_slider end
|
||||
class lvh_slider : lvh_obj static _lv_class = lv_slider end
|
||||
class lvh_switch : lvh_obj static _lv_class = lv_switch end
|
||||
class lvh_textarea : lvh_obj static _lv_class = lv_textarea end
|
||||
#- ------------------------------------------------------------
|
||||
Other widgets
|
||||
- ------------------------------------------------------------ -#
|
||||
|
||||
#- ------------------------------------------------------------
|
||||
Class `lvh_page` encapsulating `lv_obj` as screen (created with lv_obj(0))
|
||||
- ------------------------------------------------------------ -#
|
||||
label
|
||||
#- ------------------------------------------------------------#
|
||||
class lvh_label : lvh_obj
|
||||
static _lv_class = lv.label
|
||||
# label do not need a sub-label
|
||||
def post_init()
|
||||
self._lv_label = self._lv_obj
|
||||
end
|
||||
end
|
||||
|
||||
#- ------------------------------------------------------------
|
||||
arc
|
||||
#- ------------------------------------------------------------#
|
||||
class lvh_arc : lvh_obj
|
||||
static _lv_class = lv.arc
|
||||
static _lv_part2_selector = lv.PART_KNOB
|
||||
|
||||
# line_width converts to arc_width
|
||||
def set_line_width(t)
|
||||
self._lv_obj.set_style_arc_width(int(t), lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
end
|
||||
def get_line_width()
|
||||
return self._lv_obj.get_arc_line_width(lv.PART_MAIN | lv.STATE_DEFAULT)
|
||||
end
|
||||
def set_line_width1(t)
|
||||
self._lv_obj.set_style_arc_width(int(t), lv.PART_INDICATOR | lv.STATE_DEFAULT)
|
||||
end
|
||||
def get_line_width1()
|
||||
return self._lv_obj.get_arc_line_width(lv.PART_INDICATOR | lv.STATE_DEFAULT)
|
||||
end
|
||||
|
||||
def set_min(t)
|
||||
self._lv_obj.set_range(int(t), self.get_max())
|
||||
end
|
||||
def set_max(t)
|
||||
self._lv_obj.set_range(self.get_min(), int(t))
|
||||
end
|
||||
def get_min()
|
||||
return self._lv_obj.get_min_value()
|
||||
end
|
||||
def get_max()
|
||||
return self._lv_obj.get_max_value()
|
||||
end
|
||||
def set_type(t)
|
||||
var mode
|
||||
if t == 0 mode = lv.ARC_MODE_NORMAL
|
||||
elif t == 1 mode = lv.ARC_MODE_REVERSE
|
||||
elif t == 2 mode = lv.ARC_MODE_SYMMETRICAL
|
||||
end
|
||||
if mode != nil
|
||||
self._lv_obj.set_mode(mode)
|
||||
end
|
||||
end
|
||||
def get_type()
|
||||
return self._lv_obj.get_mode()
|
||||
end
|
||||
# mode
|
||||
def set_mode(t)
|
||||
var mode
|
||||
if mode == "expand" self._lv_obj.set_width(lv.SIZE_CONTENT)
|
||||
elif mode == "break" mode = lv.LABEL_LONG_WRAP
|
||||
elif mode == "dots" mode = lv.LABEL_LONG_DOT
|
||||
elif mode == "scroll" mode = lv.LABEL_LONG_SCROLL
|
||||
elif mode == "loop" mode = lv.LABEL_LONG_SCROLL_CIRCULAR
|
||||
elif mode == "crop" mode = lv.LABEL_LONG_CLIP
|
||||
end
|
||||
if mode != nil
|
||||
self._lv_obj.lv_label_set_long_mode(mode)
|
||||
end
|
||||
end
|
||||
def get_mode()
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
#- ------------------------------------------------------------
|
||||
switch
|
||||
#- ------------------------------------------------------------#
|
||||
class lvh_switch : lvh_obj
|
||||
static _lv_class = lv.switch
|
||||
static _lv_part2_selector = lv.PART_KNOB
|
||||
end
|
||||
|
||||
#- ------------------------------------------------------------
|
||||
spinner
|
||||
#- ------------------------------------------------------------#
|
||||
class lvh_spinner : lvh_arc
|
||||
static _lv_class = lv.spinner
|
||||
|
||||
# init
|
||||
# - create the LVGL encapsulated object
|
||||
# arg1: parent object
|
||||
# arg2: json line object
|
||||
def init(parent, jline)
|
||||
var angle = jline.find("angle", 60)
|
||||
var speed = jline.find("speed", 1000)
|
||||
self._lv_obj = lv.spinner(parent, speed, angle)
|
||||
self.post_init()
|
||||
end
|
||||
|
||||
# ignore attributes, spinner can't be changed once created
|
||||
def set_angle(t) end
|
||||
def get_angle() end
|
||||
def set_speed(t) end
|
||||
def get_speed() end
|
||||
end
|
||||
|
||||
#- creat sub-classes of lvh_obj and map the LVGL class in static '_lv_class' attribute -#
|
||||
class lvh_bar : lvh_obj static _lv_class = lv.bar end
|
||||
class lvh_btn : lvh_obj static _lv_class = lv.btn end
|
||||
class lvh_btnmatrix : lvh_obj static _lv_class = lv.btnmatrix end
|
||||
class lvh_checkbox : lvh_obj static _lv_class = lv.checkbox end
|
||||
class lvh_dropdown : lvh_obj static _lv_class = lv.dropdown end
|
||||
class lvh_img : lvh_obj static _lv_class = lv.img end
|
||||
class lvh_line : lvh_obj static _lv_class = lv.line end
|
||||
class lvh_roller : lvh_obj static _lv_class = lv.roller end
|
||||
class lvh_slider : lvh_obj static _lv_class = lv.slider end
|
||||
class lvh_textarea : lvh_obj static _lv_class = lv.textarea end
|
||||
|
||||
#- ----------------------------------------------------------------------------
|
||||
Class `lvh_page` encapsulating `lv_obj` as screen (created with lv.obj(0))
|
||||
- ----------------------------------------------------------------------------- -#
|
||||
# ex of transition: lv.scr_load_anim(scr, lv.SCR_LOAD_ANIM_MOVE_RIGHT, 500, 0, false)
|
||||
class lvh_page
|
||||
var _obj_id # list of objects by id numbers
|
||||
var _page_id
|
||||
var _lv_scr # lvgl screen object
|
||||
var _obj_id # (map) of objects by id numbers
|
||||
var _page_id # (int) id number of the page
|
||||
var _lv_scr # (lv_obj) lvgl screen object
|
||||
|
||||
#- init(page_number) -#
|
||||
def init(page_number)
|
||||
import string
|
||||
import global
|
||||
|
||||
# if no parameter, default to page #1
|
||||
|
@ -190,9 +611,12 @@ class lvh_page
|
|||
self._obj_id = {} # init list of objects
|
||||
if page_number == 1
|
||||
self._lv_scr = lv.scr_act() # default screen
|
||||
elif page_number == 0
|
||||
self._lv_scr = lv.layer_top() # top layer, visible over all screens
|
||||
else
|
||||
self._lv_scr = lv_obj(0) # allocate a new screen
|
||||
self._lv_scr.set_style_bg_color(lv_color(0x000000), lv.PART_MAIN | lv.STATE_DEFAULT) # set black background
|
||||
self._lv_scr = lv.obj(0) # allocate a new screen
|
||||
# self._lv_scr.set_style_bg_color(lv.color(0x000000), lv.PART_MAIN | lv.STATE_DEFAULT) # set black background
|
||||
self._lv_scr.set_style_bg_color(lv.color(0xFFFFFF), lv.PART_MAIN | lv.STATE_DEFAULT) # set white background
|
||||
end
|
||||
|
||||
# create a global for this page of form p<page_number>, ex p1
|
||||
|
@ -209,6 +633,9 @@ class lvh_page
|
|||
def set_obj(id, o)
|
||||
self._obj_id[id] = o
|
||||
end
|
||||
def get_obj(id)
|
||||
return self._obj_id.find(id)
|
||||
end
|
||||
|
||||
#- return id of this page -#
|
||||
def id()
|
||||
|
@ -217,6 +644,8 @@ class lvh_page
|
|||
|
||||
#- show this page, with animation -#
|
||||
def show(anim, duration)
|
||||
# ignore if there is no screen, like for id 0
|
||||
if self._lv_scr == nil return nil end
|
||||
# ignore if the screen is already active
|
||||
if self._lv_scr._p == lv.scr_act()._p return end # do nothing
|
||||
|
||||
|
@ -278,21 +707,34 @@ def parse_obj(jline, page)
|
|||
# extract openhasp class, prefix with `lvh_`. Ex: `btn` becomes `lvh_btn`
|
||||
var obj_type = jline["obj"]
|
||||
|
||||
# extract parent
|
||||
var parent
|
||||
var parent_id = int(jline.find("parentid"))
|
||||
if parent_id != nil
|
||||
var parent_obj = lvh_page_cur.get_obj(parent_id)
|
||||
if parent_obj != nil
|
||||
parent = parent_obj._lv_obj
|
||||
end
|
||||
end
|
||||
if parent == nil
|
||||
parent = page.get_scr()
|
||||
end
|
||||
|
||||
# check if a class with the requested name exists
|
||||
var obj_class = introspect.get(global, "lvh_" + obj_type)
|
||||
if obj_class == nil
|
||||
raise "value error", "cannot find object of type " + str(obj_type)
|
||||
end
|
||||
|
||||
|
||||
# instanciate the object, passing the lvgl screen as paren object
|
||||
var obj = obj_class(page.get_scr())
|
||||
var obj = obj_class(parent, jline)
|
||||
|
||||
# add object to page object
|
||||
lvh_page_cur.set_obj(obj_id, obj)
|
||||
|
||||
# set attributes
|
||||
# try every attribute, if not supported it is silently ignored
|
||||
for k:jline.keys()
|
||||
# introspect.set(obj, k, jline[k])
|
||||
obj.(k) = jline[k]
|
||||
end
|
||||
|
||||
|
@ -310,12 +752,13 @@ end
|
|||
Parse jsonl file line by line
|
||||
|
||||
- ------------------------------------------------------------ -#
|
||||
tasmota.yield()
|
||||
for j:jsonl
|
||||
var jline = json.load(j)
|
||||
|
||||
# parse page first
|
||||
parse_page(jline)
|
||||
parse_obj(jline, lvh_page_cur)
|
||||
if type(jline) == 'instance'
|
||||
parse_page(jline)
|
||||
parse_obj(jline, lvh_page_cur)
|
||||
end
|
||||
end
|
||||
|
||||
print(lvh_pages[1]._obj_id)
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
{"page":1,"comment":"---------- Page 1 ----------"}
|
||||
{"page":1,"id":0,"bg_color":"#FFFFFF","bg_grad_color":"#FFFFFF","text_color":"#000000","radius":0,"border_side":0}
|
||||
{"page":1,"id":1,"obj":"btn","x":0,"y":0,"w":240,"h":30,"text":"LIVING ROOM","value_font":24,"bg_color":"#2C3E50","bg_grad_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
|
||||
|
||||
{"page":1,"id":2,"obj":"arc","x":20,"y":65,"w":80,"h":100,"max":40,"border_side":0,"type":0,"rotation":0,"start_angle":180,"end_angle":0,"start_angle1":180,"value_font":12,"value_ofs_x":0,"value_ofs_y":-14,"bg_opa":0,"text":"21.2°C","min":-20,"max":50,"val":21}
|
||||
|
||||
{"page":1,"id":3,"obj":"arc","x":140,"y":65,"w":80,"h":100,"max":100,"border_side":0,"type":0,"start_angle":180,"end_angle":0,"start_angle1":180,"value_font":12,"value_color":"#000000","value_ofs_x":0,"value_ofs_y":-14,"bg_opa":0,"text":"44%","val":44}
|
||||
|
||||
{"page":1,"id":4,"obj":"label","x":0,"y":120,"w":240,"h":20,"text":"CO2 levels: 1483 ppm","radius":0,"border_side":0,"align":1}
|
||||
{"page":1,"id":5,"obj":"label","x":2,"y":35,"w":140,"text":"Temperature","align":1}
|
||||
{"page":1,"id":6,"obj":"label","x":140,"y":35,"w":95,"text":"Humidity","align":1}
|
||||
{"page":1,"id":7,"obj":"btn","x":0,"y":160,"w":240,"h":20,"text":"LIGHTS","bg_color":"#F1C40F","text_color":"#FFFFFF","radius":0,"border_side":0}
|
||||
{"page":1,"id":8,"obj":"label","x":20,"y":190,"w":140,"h":20,"text":"Ceiling Light"}
|
||||
{"page":1,"id":9,"obj":"switch","x":160,"y":190,"w":40,"h":20,"toggle":"TRUE"}
|
||||
{"page":1,"id":10,"obj":"label","x":20,"y":215,"w":140,"h":20,"text":"Wall Light"}
|
||||
{"page":1,"id":11,"obj":"switch","x":160,"y":215,"w":40,"h":20,"toggle":"TRUE"}
|
||||
{"page":1,"id":12,"obj":"label","x":20,"y":240,"w":200,"h":20,"text":"Ambient Light"}
|
||||
{"page":1,"id":13,"obj":"slider","x":30,"y":265,"w":200,"h":10}
|
||||
|
||||
{"page":2,"comment":"---------- Page 2 ----------"}
|
||||
{"page":2,"id":1,"obj":"btn","x":0,"y":0,"w":240,"h":30,"text":"ENTITIES","value_font":24,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0,"click":0}
|
||||
{"page":2,"id":2,"obj":"obj","x":5,"y":35,"w":230,"h":250,"click":0}
|
||||
|
||||
{"page":2,"id":11,"obj":"label","x":8,"y":33,"w":35,"h":35,"text":"\uE004","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":2,"id":12,"obj":"label","x":48,"y":43,"w":130,"h":30,"text":"Presence override","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":2,"id":13,"obj":"switch","x":177,"y":40,"w":50,"h":25,"radius":25,"radius2":15}
|
||||
|
||||
{"page":2,"id":21,"obj":"label","x":8,"y":69,"w":35,"h":35,"text":"\uF020","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":2,"id":22,"obj":"label","x":48,"y":79,"w":130,"h":30,"text":"Front door light","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":2,"id":23,"obj":"switch","x":177,"y":74,"w":50,"h":25,"radius":25,"radius2":15}
|
||||
|
||||
{"page":2,"id":31,"obj":"label","x":8,"y":103,"w":35,"h":35,"text":"\uF054","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":2,"id":32,"obj":"label","x":48,"y":113,"w":130,"h":30,"text":"Back yard lights","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":2,"id":33,"obj":"switch","x":177,"y":110,"w":50,"h":25,"radius":25,"radius2":15}
|
||||
|
||||
{"page":2,"id":41,"obj":"label","x":8,"y":138,"w":35,"h":35,"text":"\uEA7A","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":2,"id":42,"obj":"label","x":48,"y":148,"w":130,"h":30,"text":"Trash service","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":2,"id":43,"obj":"label","x":97,"y":148,"w":130,"h":30,"text":"in 6 days","align":2,"text_color":"black"}
|
||||
|
||||
{"page":2,"id":51,"obj":"label","x":8,"y":173,"w":35,"h":35,"text":"\uF39D","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":2,"id":52,"obj":"label","x":48,"y":183,"w":130,"h":30,"text":"Selective trash","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":2,"id":53,"obj":"label","x":97,"y":183,"w":130,"h":30,"text":"in 10 days","align":2,"text_color":"black"}
|
||||
|
||||
{"page":2,"id":61,"obj":"label","x":8,"y":208,"w":35,"h":35,"text":"\uE32A","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":2,"id":62,"obj":"label","x":48,"y":218,"w":130,"h":30,"text":"Green energy active","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":2,"id":63,"obj":"label","x":97,"y":218,"w":130,"h":30,"text":"Yes :)","align":2,"text_color":"black"}
|
||||
|
||||
{"page":2,"id":71,"obj":"label","x":8,"y":243,"w":35,"h":35,"text":"\uE957","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":2,"id":72,"obj":"label","x":48,"y":253,"w":130,"h":30,"text":"Air quality","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":2,"id":73,"obj":"label","x":97,"y":253,"w":130,"h":30,"text":"OK (29.58 µg/m³)","align":2,"text_color":"black"}
|
||||
|
||||
{"page":3,"comment":"---------- Page 3 ----------"}
|
||||
{"page":3,"id":1,"obj":"btn","x":0,"y":0,"w":240,"h":30,"text":"FAN STATUS","text_font":16,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0,"click":0}
|
||||
|
||||
{"page":3,"id":11,"obj":"img","src":"A:/noun_Fan_35097_140.png","auto_size":1,"w":140,"h":140,"x":50,"y":75,"image_recolor":"lime","image_recolor_opa":150}
|
||||
{"page":3,"id":12,"obj":"spinner","parentid":11,"x":7,"y":6,"w":126,"h":126,"bg_opa":0,"border_width":0,"line_width":7,"line_width1":7,"type":2,"angle":120,"speed":1000,"value_str":3,"value_font":24}
|
||||
|
||||
{"page":0,"comment":"---------- All pages ----------"}
|
||||
{"page":0,"id":11,"obj":"btn","action":"prev","x":0,"y":290,"w":79,"h":32,"bg_color":"#34495E","text":"\uE141","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":32}
|
||||
{"page":0,"id":12,"obj":"btn","action":"back","x":80,"y":290,"w":80,"h":32,"bg_color":"#34495E","text":"\uE2DC","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":24}
|
||||
{"page":0,"id":13,"obj":"btn","action":"next","x":161,"y":290,"w":79,"h":32,"bg_color":"#34495E","text":"\uE142","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":32}
|
|
@ -0,0 +1,23 @@
|
|||
{"page":1,"comment":"---------- Page 1 ----------"}
|
||||
{"page":1,"id":0,"bg_color":"#FFFFFF","bg_grad_color":"#FFFFFF","text_color":"#000000","radius":0,"border_side":0}
|
||||
{"page":1,"id":1,"obj":"btn","x":0,"y":0,"w":240,"h":30,"text":"LIVING ROOM","value_font":22,"bg_color":"#2C3E50","bg_grad_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
|
||||
|
||||
{"page":1,"id":2,"obj":"arc","x":20,"y":65,"w":80,"h":100,"max":40,"border_side":0,"type":0,"rotation":0,"start_angle":180,"end_angle":0,"start_angle1":180,"value_font":12,"value_ofs_x":0,"value_ofs_y":-14,"bg_opa":0,"text":"21.2°C","min":-20,"max":50,"val":21}
|
||||
|
||||
{"page":1,"id":3,"obj":"arc","x":140,"y":65,"w":80,"h":100,"max":100,"border_side":0,"type":0,"start_angle":180,"end_angle":0,"start_angle1":180,"value_font":12,"value_color":"#000000","value_ofs_x":0,"value_ofs_y":-14,"bg_opa":0,"text":"44%","val":44}
|
||||
|
||||
{"page":1,"id":4,"obj":"label","x":0,"y":120,"w":240,"h":20,"text":"CO2 levels: 1483 ppm","radius":0,"border_side":0,"align":1}
|
||||
{"page":1,"id":5,"obj":"label","x":2,"y":35,"w":140,"text":"Temperature","align":1}
|
||||
{"page":1,"id":6,"obj":"label","x":140,"y":35,"w":95,"text":"Humidity","align":1}
|
||||
{"page":1,"id":7,"obj":"btn","x":0,"y":160,"w":240,"h":20,"text":"LIGHTS","bg_color":"#F1C40F","text_color":"#FFFFFF","radius":0,"border_side":0}
|
||||
{"page":1,"id":8,"obj":"label","x":20,"y":190,"w":140,"h":20,"text":"Ceiling Light"}
|
||||
{"page":1,"id":9,"obj":"switch","x":160,"y":190,"w":40,"h":20,"toggle":"TRUE"}
|
||||
{"page":1,"id":10,"obj":"label","x":20,"y":215,"w":140,"h":20,"text":"Wall Light"}
|
||||
{"page":1,"id":11,"obj":"switch","x":160,"y":215,"w":40,"h":20,"toggle":"TRUE"}
|
||||
{"page":1,"id":12,"obj":"label","x":20,"y":240,"w":200,"h":20,"text":"Ambient Light"}
|
||||
{"page":1,"id":13,"obj":"slider","x":30,"y":265,"w":200,"h":10}
|
||||
|
||||
{"page":0,"comment":"---------- All pages ----------"}
|
||||
{"page":0,"id":11,"obj":"btn","action":"prev","x":0,"y":290,"w":79,"h":32,"bg_color":"#34495E","text":"\uE141","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":32}
|
||||
{"page":0,"id":12,"obj":"btn","action":"back","x":80,"y":290,"w":80,"h":32,"bg_color":"#34495E","text":"\uE2DC","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":24}
|
||||
{"page":0,"id":13,"obj":"btn","action":"next","x":161,"y":290,"w":79,"h":32,"bg_color":"#34495E","text":"\uE142","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":32}
|
|
@ -0,0 +1,35 @@
|
|||
{"page":1,"id":1,"obj":"btn","x":0,"y":0,"w":240,"h":30,"text":"ENTITIES","value_font":22,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0,"click":0}
|
||||
{"page":1,"id":2,"obj":"obj","x":5,"y":35,"w":230,"h":250,"click":0}
|
||||
|
||||
{"page":1,"id":11,"obj":"label","x":8,"y":33,"w":35,"h":35,"text":"\uE004","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":1,"id":12,"obj":"label","x":48,"y":43,"w":130,"h":30,"text":"Presence override","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":1,"id":13,"obj":"switch","x":177,"y":40,"w":50,"h":25,"radius":25,"radius2":15}
|
||||
|
||||
{"page":1,"id":21,"obj":"label","x":8,"y":69,"w":35,"h":35,"text":"\uF020","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":1,"id":22,"obj":"label","x":48,"y":79,"w":130,"h":30,"text":"Front door light","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":1,"id":23,"obj":"switch","x":177,"y":74,"w":50,"h":25,"radius":25,"radius2":15}
|
||||
|
||||
{"page":1,"id":31,"obj":"label","x":8,"y":103,"w":35,"h":35,"text":"\uF054","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":1,"id":32,"obj":"label","x":48,"y":113,"w":130,"h":30,"text":"Back yard lights","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":1,"id":33,"obj":"switch","x":177,"y":110,"w":50,"h":25,"radius":25,"radius2":15}
|
||||
|
||||
{"page":1,"id":41,"obj":"label","x":8,"y":138,"w":35,"h":35,"text":"\uEA7A","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":1,"id":42,"obj":"label","x":48,"y":148,"w":130,"h":30,"text":"Trash service","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":1,"id":43,"obj":"label","x":97,"y":148,"w":130,"h":30,"text":"in 6 days","align":2,"text_color":"black"}
|
||||
|
||||
{"page":1,"id":51,"obj":"label","x":8,"y":173,"w":35,"h":35,"text":"\uF39D","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":1,"id":52,"obj":"label","x":48,"y":183,"w":130,"h":30,"text":"Selective trash","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":1,"id":53,"obj":"label","x":97,"y":183,"w":130,"h":30,"text":"in 10 days","align":2,"text_color":"black"}
|
||||
|
||||
{"page":1,"id":61,"obj":"label","x":8,"y":208,"w":35,"h":35,"text":"\uE32A","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":1,"id":62,"obj":"label","x":48,"y":218,"w":130,"h":30,"text":"Green energy active","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":1,"id":63,"obj":"label","x":97,"y":218,"w":130,"h":30,"text":"Yes :)","align":2,"text_color":"black"}
|
||||
|
||||
{"page":1,"id":71,"obj":"label","x":8,"y":243,"w":35,"h":35,"text":"\uE957","align":1,"text_font":32,"text_color":"black"}
|
||||
{"page":1,"id":72,"obj":"label","x":48,"y":253,"w":130,"h":30,"text":"Air quality","align":0,"text_font":16,"text_color":"black"}
|
||||
{"page":1,"id":73,"obj":"label","x":97,"y":253,"w":130,"h":30,"text":"OK (29.58 µg/m³)","align":2,"text_color":"black"}
|
||||
|
||||
{"page":0,"comment":"---------- All pages ----------"}
|
||||
{"page":0,"id":11,"obj":"btn","action":"prev","x":0,"y":290,"w":79,"h":32,"bg_color":"#34495E","text":"\uE141","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":32}
|
||||
{"page":0,"id":12,"obj":"btn","action":"back","x":80,"y":290,"w":80,"h":32,"bg_color":"#34495E","text":"\uE2DC","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":24}
|
||||
{"page":0,"id":13,"obj":"btn","action":"next","x":161,"y":290,"w":79,"h":32,"bg_color":"#34495E","text":"\uE142","text_color":"#CCCCCC","radius":0,"border_side":0,"text_font":32}
|
|
@ -0,0 +1,4 @@
|
|||
{"page":1,"id":1,"obj":"btn","x":0,"y":0,"w":240,"h":30,"text":"FAN STATUS","text_font":16,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0,"click":0}
|
||||
|
||||
{"page":1,"id":11,"obj":"img","src":"A:/noun_Fan_35097_140.png","auto_size":1,"w":140,"h":140,"x":50,"y":75,"image_recolor":"lime","image_recolor_opa":150}
|
||||
{"page":1,"id":12,"obj":"spinner","parentid":11,"x":7,"y":6,"w":126,"h":126,"bg_opa":0,"border_width":0,"line_width":7,"line_width1":7,"type":2,"angle":120,"speed":1000,"value_str":3,"value_font":24}
|
|
@ -1,239 +0,0 @@
|
|||
GPIO_NONE 0
|
||||
GPIO_KEY1 1
|
||||
GPIO_KEY1_NP 2
|
||||
GPIO_KEY1_INV 3
|
||||
GPIO_KEY1_INV_NP 4
|
||||
GPIO_SWT1 5
|
||||
GPIO_SWT1_NP 6
|
||||
GPIO_REL1 7
|
||||
GPIO_REL1_INV 8
|
||||
GPIO_LED1 9
|
||||
GPIO_LED1_INV 10
|
||||
GPIO_CNTR1 11
|
||||
GPIO_CNTR1_NP 12
|
||||
GPIO_PWM1 13
|
||||
GPIO_PWM1_INV 14
|
||||
GPIO_BUZZER 15
|
||||
GPIO_BUZZER_INV 16
|
||||
GPIO_LEDLNK 17
|
||||
GPIO_LEDLNK_INV 18
|
||||
GPIO_I2C_SCL 19
|
||||
GPIO_I2C_SDA 20
|
||||
GPIO_SPI_MISO 21
|
||||
GPIO_SPI_MOSI 22
|
||||
GPIO_SPI_CLK 23
|
||||
GPIO_SPI_CS 24
|
||||
GPIO_SPI_DC 25
|
||||
GPIO_SSPI_MISO 26
|
||||
GPIO_SSPI_MOSI 27
|
||||
GPIO_SSPI_SCLK 28
|
||||
GPIO_SSPI_CS 29
|
||||
GPIO_SSPI_DC 30
|
||||
GPIO_BACKLIGHT 31
|
||||
GPIO_OLED_RESET 32
|
||||
GPIO_IRSEND 33
|
||||
GPIO_IRRECV 34
|
||||
GPIO_RFSEND 35
|
||||
GPIO_RFRECV 36
|
||||
GPIO_DHT11 37
|
||||
GPIO_DHT22 38
|
||||
GPIO_SI7021 39
|
||||
GPIO_DHT11_OUT 40
|
||||
GPIO_DSB 41
|
||||
GPIO_DSB_OUT 42
|
||||
GPIO_WS2812 43
|
||||
GPIO_MHZ_TXD 44
|
||||
GPIO_MHZ_RXD 45
|
||||
GPIO_PZEM0XX_TX 46
|
||||
GPIO_PZEM004_RX 47
|
||||
GPIO_PZEM016_RX 48
|
||||
GPIO_PZEM017_RX 49
|
||||
GPIO_SAIR_TX 50
|
||||
GPIO_SAIR_RX 51
|
||||
GPIO_PMS5003_TX 52
|
||||
GPIO_PMS5003_RX 53
|
||||
GPIO_SDS0X1_TX 54
|
||||
GPIO_SDS0X1_RX 55
|
||||
GPIO_SBR_TX 56
|
||||
GPIO_SBR_RX 57
|
||||
GPIO_SR04_TRIG 58
|
||||
GPIO_SR04_ECHO 59
|
||||
GPIO_SDM120_TX 60
|
||||
GPIO_SDM120_RX 61
|
||||
GPIO_SDM630_TX 62
|
||||
GPIO_SDM630_RX 63
|
||||
GPIO_TM1638CLK 64
|
||||
GPIO_TM1638DIO 65
|
||||
GPIO_TM1638STB 66
|
||||
GPIO_MP3_DFR562 67
|
||||
GPIO_HX711_SCK 68
|
||||
GPIO_HX711_DAT 69
|
||||
GPIO_TX2X_TXD_BLACK 70
|
||||
GPIO_TUYA_TX 71
|
||||
GPIO_TUYA_RX 72
|
||||
GPIO_MGC3130_XFER 73
|
||||
GPIO_MGC3130_RESET 74
|
||||
GPIO_RF_SENSOR 75
|
||||
GPIO_AZ_TXD 76
|
||||
GPIO_AZ_RXD 77
|
||||
GPIO_MAX31855CS 78
|
||||
GPIO_MAX31855CLK 79
|
||||
GPIO_MAX31855DO 80
|
||||
GPIO_NRG_SEL 81
|
||||
GPIO_NRG_SEL_INV 82
|
||||
GPIO_NRG_CF1 83
|
||||
GPIO_HLW_CF 84
|
||||
GPIO_HJL_CF 85
|
||||
GPIO_MCP39F5_TX 86
|
||||
GPIO_MCP39F5_RX 87
|
||||
GPIO_MCP39F5_RST 88
|
||||
GPIO_PN532_TXD 89
|
||||
GPIO_PN532_RXD 90
|
||||
GPIO_SM16716_CLK 91
|
||||
GPIO_SM16716_DAT 92
|
||||
GPIO_SM16716_SEL 93
|
||||
GPIO_DI 94
|
||||
GPIO_DCKI 95
|
||||
GPIO_CSE7766_TX 96
|
||||
GPIO_CSE7766_RX 97
|
||||
GPIO_ARIRFRCV 98
|
||||
GPIO_ARIRFSEL 99
|
||||
GPIO_TXD 100
|
||||
GPIO_RXD 101
|
||||
GPIO_ROT1A 102
|
||||
GPIO_ROT1B 103
|
||||
GPIO_ADC_JOY 104
|
||||
GPIO_SSPI_MAX31865_CS1 105
|
||||
GPIO_HRE_CLOCK 106
|
||||
GPIO_HRE_DATA 107
|
||||
GPIO_ADE7953_IRQ 108
|
||||
GPIO_SOLAXX1_TX 109
|
||||
GPIO_SOLAXX1_RX 110
|
||||
GPIO_ZIGBEE_TX 111
|
||||
GPIO_ZIGBEE_RX 112
|
||||
GPIO_RDM6300_RX 113
|
||||
GPIO_IBEACON_TX 114
|
||||
GPIO_IBEACON_RX 115
|
||||
GPIO_A4988_DIR 116
|
||||
GPIO_A4988_STP 117
|
||||
GPIO_A4988_ENA 118
|
||||
GPIO_A4988_MS1 119
|
||||
GPIO_OUTPUT_HI 120
|
||||
GPIO_OUTPUT_LO 121
|
||||
GPIO_DDS2382_TX 122
|
||||
GPIO_DDS2382_RX 123
|
||||
GPIO_DDSU666_TX 124
|
||||
GPIO_DDSU666_RX 125
|
||||
GPIO_SM2135_CLK 126
|
||||
GPIO_SM2135_DAT 127
|
||||
GPIO_DEEPSLEEP 128
|
||||
GPIO_EXS_ENABLE 129
|
||||
GPIO_TASMOTACLIENT_TXD 130
|
||||
GPIO_TASMOTACLIENT_RXD 131
|
||||
GPIO_TASMOTACLIENT_RST 132
|
||||
GPIO_TASMOTACLIENT_RST_INV 133
|
||||
GPIO_HPMA_RX 134
|
||||
GPIO_HPMA_TX 135
|
||||
GPIO_GPS_RX 136
|
||||
GPIO_GPS_TX 137
|
||||
GPIO_HM10_RX 138
|
||||
GPIO_HM10_TX 139
|
||||
GPIO_LE01MR_RX 140
|
||||
GPIO_LE01MR_TX 141
|
||||
GPIO_CC1101_GDO0 142
|
||||
GPIO_CC1101_GDO2 143
|
||||
GPIO_HRXL_RX 144
|
||||
GPIO_ELECTRIQ_MOODL_TX 145
|
||||
GPIO_AS3935 146
|
||||
GPIO_ADC_INPUT 147
|
||||
GPIO_ADC_TEMP 148
|
||||
GPIO_ADC_LIGHT 149
|
||||
GPIO_ADC_BUTTON 150
|
||||
GPIO_ADC_BUTTON_INV 151
|
||||
GPIO_ADC_RANGE 152
|
||||
GPIO_ADC_CT_POWER 153
|
||||
GPIO_WEBCAM_PWDN 154
|
||||
GPIO_WEBCAM_RESET 155
|
||||
GPIO_WEBCAM_XCLK 156
|
||||
GPIO_WEBCAM_SIOD 157
|
||||
GPIO_WEBCAM_SIOC 158
|
||||
GPIO_WEBCAM_DATA 159
|
||||
GPIO_WEBCAM_VSYNC 160
|
||||
GPIO_WEBCAM_HREF 161
|
||||
GPIO_WEBCAM_PCLK 162
|
||||
GPIO_WEBCAM_PSCLK 163
|
||||
GPIO_WEBCAM_HSD 164
|
||||
GPIO_WEBCAM_PSRCS 165
|
||||
GPIO_BOILER_OT_RX 166
|
||||
GPIO_BOILER_OT_TX 167
|
||||
GPIO_WINDMETER_SPEED 168
|
||||
GPIO_KEY1_TC 169
|
||||
GPIO_BL0940_RX 170
|
||||
GPIO_TCP_TX 171
|
||||
GPIO_TCP_RX 172
|
||||
GPIO_ETH_PHY_POWER 173
|
||||
GPIO_ETH_PHY_MDC 174
|
||||
GPIO_ETH_PHY_MDIO 175
|
||||
GPIO_TELEINFO_RX 176
|
||||
GPIO_TELEINFO_ENABLE 177
|
||||
GPIO_LMT01 178
|
||||
GPIO_IEM3000_TX 179
|
||||
GPIO_IEM3000_RX 180
|
||||
GPIO_ZIGBEE_RST 181
|
||||
GPIO_DYP_RX 182
|
||||
GPIO_MIEL_HVAC_TX 183
|
||||
GPIO_MIEL_HVAC_RX 184
|
||||
GPIO_WE517_TX 185
|
||||
GPIO_WE517_RX 186
|
||||
GPIO_AS608_TX 187
|
||||
GPIO_AS608_RX 188
|
||||
GPIO_SHELLY_DIMMER_BOOT0 189
|
||||
GPIO_SHELLY_DIMMER_RST_INV 190
|
||||
GPIO_RC522_RST 191
|
||||
GPIO_P9813_CLK 192
|
||||
GPIO_P9813_DAT 193
|
||||
GPIO_OPTION_A 194
|
||||
GPIO_FTC532 195
|
||||
GPIO_RC522_CS 196
|
||||
GPIO_NRF24_CS 197
|
||||
GPIO_NRF24_DC 198
|
||||
GPIO_ILI9341_CS 199
|
||||
GPIO_ILI9341_DC 200
|
||||
GPIO_ILI9488_CS 201
|
||||
GPIO_EPAPER29_CS 202
|
||||
GPIO_EPAPER42_CS 203
|
||||
GPIO_SSD1351_CS 204
|
||||
GPIO_RA8876_CS 205
|
||||
GPIO_ST7789_CS 206
|
||||
GPIO_ST7789_DC 207
|
||||
GPIO_SSD1331_CS 208
|
||||
GPIO_SSD1331_DC 209
|
||||
GPIO_SDCARD_CS 210
|
||||
GPIO_ROT1A_NP 211
|
||||
GPIO_ROT1B_NP 212
|
||||
GPIO_ADC_PH 213
|
||||
GPIO_BS814_CLK 214
|
||||
GPIO_BS814_DAT 215
|
||||
GPIO_WIEGAND_D0 216
|
||||
GPIO_WIEGAND_D1 217
|
||||
GPIO_NEOPOOL_TX 218
|
||||
GPIO_NEOPOOL_RX 219
|
||||
GPIO_SDM72_TX 220
|
||||
GPIO_SDM72_RX 221
|
||||
GPIO_TM1637CLK 222
|
||||
GPIO_TM1637DIO 223
|
||||
GPIO_PROJECTOR_CTRL_TX 224
|
||||
GPIO_PROJECTOR_CTRL_RX 225
|
||||
GPIO_SSD1351_DC 226
|
||||
GPIO_XPT2046_CS 227
|
||||
GPIO_CSE7761_TX 228
|
||||
GPIO_CSE7761_RX 229
|
||||
GPIO_VL53L0X_XSHUT1 230
|
||||
GPIO_MAX7219CLK 231
|
||||
GPIO_MAX7219DIN 232
|
||||
GPIO_MAX7219CS 233
|
||||
GPIO_TFMINIPLUS_TX 234
|
||||
GPIO_TFMINIPLUS_RX 235
|
||||
GPIO_ZEROCROSS 236
|
||||
GPIO_HALLEFFECT 237
|
||||
GPIO_SENSOR_END 238
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_arc_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_arc_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_arc_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_arc_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_arc,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_arc
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_bar_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_bar_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_bar_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_bar_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_bar,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_bar
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_btn_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_btn_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_btn_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_btn_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_btn,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_btn
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_btnmatrix_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_btnmatrix_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_btnmatrix_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_btnmatrix_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_btnmatrix,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_btnmatrix
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_canvas_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_canvas_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_canvas_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_canvas_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_canvas,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_canvas
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_chart_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_chart_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_chart_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_chart_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_chart,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_chart
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_checkbox_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_checkbox_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_checkbox_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_checkbox_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_checkbox,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_checkbox
|
||||
);
|
|
@ -1,20 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_color_map) {
|
||||
{ be_const_key(toint, -1), be_const_func(lco_toint) },
|
||||
{ be_const_key(tostring, 0), be_const_func(lco_tostring) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, -1), be_const_func(lco_init) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_color_map,
|
||||
4
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_color,
|
||||
1,
|
||||
NULL,
|
||||
lv_color
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_colorwheel_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_colorwheel_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_colorwheel_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_colorwheel_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_colorwheel,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_colorwheel
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_dropdown_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_dropdown_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_dropdown_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_dropdown_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_dropdown,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_dropdown
|
||||
);
|
|
@ -1,19 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_font_map) {
|
||||
{ be_const_key(init, -1), be_const_func(lvbe_font_create) },
|
||||
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(_p, -1), be_const_var(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
|
||||
);
|
|
@ -1,20 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_group_map) {
|
||||
{ be_const_key(init, -1), be_const_func(lvbe_group_create) },
|
||||
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(member, 0), be_const_func(lvx_member) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_group_map,
|
||||
4
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_group,
|
||||
1,
|
||||
NULL,
|
||||
lv_group
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_img_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_img_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_img_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_img_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_img,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_img
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_imgbtn_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_imgbtn_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_imgbtn_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_imgbtn_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_imgbtn,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_imgbtn
|
||||
);
|
|
@ -1,20 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_indev_map) {
|
||||
{ be_const_key(init, -1), be_const_func(lv0_init) },
|
||||
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(member, 0), be_const_func(lvx_member) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_indev_map,
|
||||
4
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_indev,
|
||||
1,
|
||||
NULL,
|
||||
lv_indev
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_label_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_label_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_label_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_label_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_label,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_label
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_led_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_led_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_led_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_led_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_led,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_led
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_line_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_line_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_line_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_line_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_line,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_line
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_meter_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_meter_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_meter_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_meter_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_meter,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_meter
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_msgbox_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_msgbox_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_msgbox_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_msgbox_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_msgbox,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_msgbox
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_obj_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_obj_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_obj_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_obj_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_obj,
|
||||
1,
|
||||
NULL,
|
||||
lv_obj
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_roller_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_roller_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_roller_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_roller_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_roller,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_roller
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_slider_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_slider_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_slider_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_slider_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_slider,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_slider
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_spinbox_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_spinbox_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_spinbox_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_spinbox_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_spinbox,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_spinbox
|
||||
);
|
|
@ -1,20 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_style_map) {
|
||||
{ be_const_key(init, -1), be_const_func(lvs_init) },
|
||||
{ be_const_key(tostring, -1), be_const_func(lvs_tostring) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(member, 0), be_const_func(lvx_member) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_style_map,
|
||||
4
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_style,
|
||||
1,
|
||||
NULL,
|
||||
lv_style
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_switch_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_switch_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_switch_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_switch_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_switch,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_switch
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_table_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_table_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_table_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_table_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_table,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_table
|
||||
);
|
|
@ -1,21 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_lv_textarea_map) {
|
||||
{ be_const_key(tostring, 3), be_const_func(lvx_tostring) },
|
||||
{ be_const_key(member, -1), be_const_func(lvx_member) },
|
||||
{ be_const_key(_p, -1), be_const_var(0) },
|
||||
{ be_const_key(init, 4), be_const_func(lvbe_textarea_create) },
|
||||
{ be_const_key(_class, -1), be_const_int(&lv_textarea_class) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_lv_textarea_map,
|
||||
5
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_lv_textarea,
|
||||
1,
|
||||
(bclass *)&be_class_lv_obj,
|
||||
lv_textarea
|
||||
);
|
|
@ -1,23 +1,25 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_map_map) {
|
||||
{ be_const_key(size, -1), be_const_func(m_size) },
|
||||
{ be_const_key(tostring, -1), be_const_func(m_tostring) },
|
||||
{ be_const_key(has, 11), be_const_func(m_has) },
|
||||
{ be_const_key(init, -1), be_const_func(m_init) },
|
||||
{ be_const_key(setitem, -1), be_const_func(m_setitem) },
|
||||
{ be_const_key(remove, 8), be_const_func(m_remove) },
|
||||
{ be_const_key(insert, -1), be_const_func(m_insert) },
|
||||
{ be_const_key(keys, -1), be_const_func(m_keys) },
|
||||
{ be_const_key(tostring, 4), be_const_func(m_tostring) },
|
||||
{ be_const_key(has, -1), be_const_func(m_contains) },
|
||||
{ be_const_key(init, -1), be_const_func(m_init) },
|
||||
{ be_const_key(contains, 9), be_const_func(m_contains) },
|
||||
{ be_const_key(dot_p, 13), be_const_var(0) },
|
||||
{ be_const_key(reduce, -1), be_const_func(m_reduce) },
|
||||
{ be_const_key(size, -1), be_const_func(m_size) },
|
||||
{ be_const_key(find, -1), be_const_func(m_find) },
|
||||
{ be_const_key(dot_p, 2), be_const_var(0) },
|
||||
{ be_const_key(setitem, 4), be_const_func(m_setitem) },
|
||||
{ be_const_key(remove, -1), be_const_func(m_remove) },
|
||||
{ be_const_key(item, 6), be_const_func(m_item) },
|
||||
{ be_const_key(keys, -1), be_const_func(m_keys) },
|
||||
{ be_const_key(item, -1), be_const_func(m_item) },
|
||||
{ be_const_key(iter, -1), be_const_func(m_iter) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_map_map,
|
||||
12
|
||||
14
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
|
|
|
@ -1,84 +1,90 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_tasmota_map) {
|
||||
{ be_const_key(cb_dispatch, -1), be_const_closure(cb_dispatch_closure) },
|
||||
{ be_const_key(get_option, -1), be_const_func(l_getoption) },
|
||||
{ be_const_key(publish_result, 63), be_const_func(l_publish_result) },
|
||||
{ be_const_key(try_rule, 18), be_const_closure(try_rule_closure) },
|
||||
{ be_const_key(eth, 26), be_const_func(l_eth) },
|
||||
{ be_const_key(resp_cmnd, -1), be_const_func(l_respCmnd) },
|
||||
{ be_const_key(_cmd, -1), be_const_func(l_cmd) },
|
||||
{ be_const_key(exec_cmd, -1), be_const_closure(exec_cmd_closure) },
|
||||
{ be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) },
|
||||
{ be_const_key(resolvecmnd, -1), be_const_func(l_resolveCmnd) },
|
||||
{ be_const_key(find_op, -1), be_const_closure(find_op_closure) },
|
||||
{ be_const_key(add_driver, 40), be_const_closure(add_driver_closure) },
|
||||
{ be_const_key(remove_rule, 4), be_const_closure(remove_rule_closure) },
|
||||
{ be_const_key(load, -1), be_const_closure(load_closure) },
|
||||
{ be_const_key(response_append, -1), be_const_func(l_respAppend) },
|
||||
{ be_const_key(wire1, 20), be_const_var(0) },
|
||||
{ be_const_key(set_light, -1), be_const_closure(set_light_closure) },
|
||||
{ be_const_key(time_reached, 3), be_const_func(l_timereached) },
|
||||
{ be_const_key(log, -1), be_const_func(l_logInfo) },
|
||||
{ be_const_key(gc, -1), be_const_closure(gc_closure) },
|
||||
{ be_const_key(init, 8), be_const_closure(init_closure) },
|
||||
{ be_const_key(get_free_heap, -1), be_const_func(l_getFreeHeap) },
|
||||
{ be_const_key(global, 36), be_const_var(1) },
|
||||
{ be_const_key(event, -1), be_const_closure(event_closure) },
|
||||
{ be_const_key(time_str, 45), be_const_closure(time_str_closure) },
|
||||
{ be_const_key(set_power, -1), be_const_func(l_setpower) },
|
||||
{ be_const_key(rtc, 42), be_const_func(l_rtc) },
|
||||
{ be_const_key(millis, -1), be_const_func(l_millis) },
|
||||
{ be_const_key(save, -1), be_const_func(l_save) },
|
||||
{ be_const_key(resp_cmnd_error, -1), be_const_func(l_respCmndError) },
|
||||
{ be_const_key(resp_cmnd_str, -1), be_const_func(l_respCmndStr) },
|
||||
{ be_const_key(strftime, -1), be_const_func(l_strftime) },
|
||||
{ be_const_key(wifi, -1), be_const_func(l_wifi) },
|
||||
{ be_const_key(_drivers, -1), be_const_var(2) },
|
||||
{ be_const_key(chars_in_string, -1), be_const_closure(chars_in_string_closure) },
|
||||
{ be_const_key(_cb, 0), be_const_var(3) },
|
||||
{ be_const_key(resp_cmnd_failed, 59), be_const_func(l_respCmndFailed) },
|
||||
{ be_const_key(get_power, -1), be_const_func(l_getpower) },
|
||||
{ be_const_key(get_light, 2), be_const_closure(get_light_closure) },
|
||||
{ be_const_key(gen_cb, -1), be_const_closure(gen_cb_closure) },
|
||||
{ be_const_key(remove_timer, -1), be_const_closure(remove_timer_closure) },
|
||||
{ be_const_key(_global_addr, -1), be_const_comptr(&TasmotaGlobal) },
|
||||
{ be_const_key(web_send, 54), be_const_func(l_webSend) },
|
||||
{ be_const_key(time_dump, -1), be_const_func(l_time_dump) },
|
||||
{ be_const_key(get_switch, 38), be_const_func(l_getswitch) },
|
||||
{ be_const_key(exec_rules, -1), be_const_closure(exec_rules_closure) },
|
||||
{ be_const_key(find_key_i, 5), be_const_closure(find_key_i_closure) },
|
||||
{ be_const_key(yield, -1), be_const_func(l_yield) },
|
||||
{ be_const_key(web_send_decimal, 34), be_const_func(l_webSendDecimal) },
|
||||
{ be_const_key(i2c_enabled, 13), be_const_func(l_i2cenabled) },
|
||||
{ be_const_key(_get_cb, -1), be_const_func(l_get_cb) },
|
||||
{ be_const_key(cmd, 14), be_const_closure(cmd_closure) },
|
||||
{ be_const_key(publish, 10), be_const_func(l_publish) },
|
||||
{ be_const_key(_ccmd, -1), be_const_var(4) },
|
||||
{ be_const_key(_timers, -1), be_const_var(5) },
|
||||
{ be_const_key(resp_cmnd_done, -1), be_const_func(l_respCmndDone) },
|
||||
{ be_const_key(wire_scan, -1), be_const_closure(wire_scan_closure) },
|
||||
{ be_const_key(_rules, -1), be_const_var(6) },
|
||||
{ be_const_key(remove_cmd, -1), be_const_closure(remove_cmd_closure) },
|
||||
{ be_const_key(scale_uint, -1), be_const_func(l_scaleuint) },
|
||||
{ be_const_key(run_deferred, -1), be_const_closure(run_deferred_closure) },
|
||||
{ be_const_key(set_timer, -1), be_const_closure(set_timer_closure) },
|
||||
{ be_const_key(wire2, 47), be_const_var(7) },
|
||||
{ be_const_key(set_timer, 42), be_const_closure(set_timer_closure) },
|
||||
{ be_const_key(_settings_ptr, -1), be_const_comptr(&Settings) },
|
||||
{ be_const_key(set_power, -1), be_const_func(l_setpower) },
|
||||
{ be_const_key(remove_driver, -1), be_const_closure(remove_driver_closure) },
|
||||
{ be_const_key(try_rule, -1), be_const_closure(try_rule_closure) },
|
||||
{ be_const_key(find_op, 58), be_const_closure(find_op_closure) },
|
||||
{ be_const_key(resp_cmnd_str, -1), be_const_func(l_respCmndStr) },
|
||||
{ be_const_key(find_key_i, -1), be_const_closure(find_key_i_closure) },
|
||||
{ be_const_key(_cb, 3), be_const_var(0) },
|
||||
{ be_const_key(web_send, -1), be_const_func(l_webSend) },
|
||||
{ be_const_key(log, 1), be_const_func(l_logInfo) },
|
||||
{ be_const_key(get_switch, 50), be_const_func(l_getswitch) },
|
||||
{ be_const_key(_ccmd, 19), be_const_var(1) },
|
||||
{ be_const_key(eth, -1), be_const_func(l_eth) },
|
||||
{ be_const_key(_settings_def, -1), be_const_comptr(&be_tasmota_settings_struct) },
|
||||
{ be_const_key(init, 39), be_const_closure(init_closure) },
|
||||
{ be_const_key(strftime, -1), be_const_func(l_strftime) },
|
||||
{ be_const_key(kv, -1), be_const_closure(kv_closure) },
|
||||
{ be_const_key(resp_cmnd_done, -1), be_const_func(l_respCmndDone) },
|
||||
{ be_const_key(cmd_res, 67), be_const_var(2) },
|
||||
{ be_const_key(wire1, 43), be_const_var(3) },
|
||||
{ be_const_key(get_light, -1), be_const_closure(get_light_closure) },
|
||||
{ be_const_key(resp_cmnd_error, 62), be_const_func(l_respCmndError) },
|
||||
{ be_const_key(publish_result, 9), be_const_func(l_publish_result) },
|
||||
{ be_const_key(gen_cb, -1), be_const_closure(gen_cb_closure) },
|
||||
{ be_const_key(yield, -1), be_const_func(l_yield) },
|
||||
{ be_const_key(add_rule, -1), be_const_closure(add_rule_closure) },
|
||||
{ be_const_key(settings, -1), be_const_var(4) },
|
||||
{ be_const_key(chars_in_string, -1), be_const_closure(chars_in_string_closure) },
|
||||
{ be_const_key(resp_cmnd, 31), be_const_func(l_respCmnd) },
|
||||
{ be_const_key(exec_tele, 68), be_const_closure(exec_tele_closure) },
|
||||
{ be_const_key(exec_rules, 51), be_const_closure(exec_rules_closure) },
|
||||
{ be_const_key(load, -1), be_const_closure(load_closure) },
|
||||
{ be_const_key(remove_rule, 22), be_const_closure(remove_rule_closure) },
|
||||
{ be_const_key(_rules, 18), be_const_var(5) },
|
||||
{ be_const_key(publish, -1), be_const_func(l_publish) },
|
||||
{ be_const_key(get_option, 15), be_const_func(l_getoption) },
|
||||
{ be_const_key(global, -1), be_const_var(6) },
|
||||
{ be_const_key(add_driver, 33), be_const_closure(add_driver_closure) },
|
||||
{ be_const_key(cmd, -1), be_const_closure(cmd_closure) },
|
||||
{ be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) },
|
||||
{ be_const_key(run_deferred, -1), be_const_closure(run_deferred_closure) },
|
||||
{ be_const_key(get_free_heap, -1), be_const_func(l_getFreeHeap) },
|
||||
{ be_const_key(wifi, -1), be_const_func(l_wifi) },
|
||||
{ be_const_key(time_dump, -1), be_const_func(l_time_dump) },
|
||||
{ be_const_key(rtc, 24), be_const_func(l_rtc) },
|
||||
{ be_const_key(cb_dispatch, -1), be_const_closure(cb_dispatch_closure) },
|
||||
{ be_const_key(_get_cb, -1), be_const_func(l_get_cb) },
|
||||
{ be_const_key(resp_cmnd_failed, 72), be_const_func(l_respCmndFailed) },
|
||||
{ be_const_key(wire_scan, -1), be_const_closure(wire_scan_closure) },
|
||||
{ be_const_key(exec_cmd, -1), be_const_closure(exec_cmd_closure) },
|
||||
{ be_const_key(_cmd, 46), be_const_func(l_cmd) },
|
||||
{ be_const_key(remove_timer, -1), be_const_closure(remove_timer_closure) },
|
||||
{ be_const_key(time_str, 34), be_const_closure(time_str_closure) },
|
||||
{ be_const_key(response_append, -1), be_const_func(l_respAppend) },
|
||||
{ be_const_key(web_send_decimal, 60), be_const_func(l_webSendDecimal) },
|
||||
{ be_const_key(_drivers, 71), be_const_var(7) },
|
||||
{ be_const_key(delay, -1), be_const_func(l_delay) },
|
||||
{ be_const_key(time_reached, -1), be_const_func(l_timereached) },
|
||||
{ be_const_key(_global_def, -1), be_const_comptr(&be_tasmota_global_struct) },
|
||||
{ be_const_key(resolvecmnd, -1), be_const_func(l_resolveCmnd) },
|
||||
{ be_const_key(_timers, -1), be_const_var(8) },
|
||||
{ be_const_key(event, 7), be_const_closure(event_closure) },
|
||||
{ be_const_key(wire2, -1), be_const_var(9) },
|
||||
{ be_const_key(scale_uint, -1), be_const_func(l_scaleuint) },
|
||||
{ be_const_key(get_power, 73), be_const_func(l_getpower) },
|
||||
{ be_const_key(millis, -1), be_const_func(l_millis) },
|
||||
{ be_const_key(save, 44), be_const_func(l_save) },
|
||||
{ be_const_key(_global_addr, -1), be_const_comptr(&TasmotaGlobal) },
|
||||
{ be_const_key(memory, -1), be_const_func(l_memory) },
|
||||
{ be_const_key(add_rule, 29), be_const_closure(add_rule_closure) },
|
||||
{ be_const_key(i2c_enabled, -1), be_const_func(l_i2cenabled) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_tasmota_map,
|
||||
68
|
||||
74
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_tasmota,
|
||||
8,
|
||||
10,
|
||||
NULL,
|
||||
Tasmota
|
||||
);
|
||||
|
|
|
@ -1,25 +1,26 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_tasmota_wire_map) {
|
||||
{ be_const_key(_end_transmission, 10), be_const_func(b_wire_endtransmission) },
|
||||
{ be_const_key(bus, -1), be_const_var(0) },
|
||||
{ be_const_key(_read, 7), be_const_func(b_wire_read) },
|
||||
{ be_const_key(read, -1), be_const_func(b_wire_validread) },
|
||||
{ be_const_key(_request_from, -1), be_const_func(b_wire_requestfrom) },
|
||||
{ be_const_key(init, -1), be_const_func(b_wire_init) },
|
||||
{ be_const_key(write_bytes, -1), be_const_closure(write_bytes_closure) },
|
||||
{ be_const_key(_begin_transmission, -1), be_const_func(b_wire_begintransmission) },
|
||||
{ be_const_key(scan, -1), be_const_func(b_wire_scan) },
|
||||
{ be_const_key(_write, 1), be_const_func(b_wire_write) },
|
||||
{ be_const_key(write, -1), be_const_func(b_wire_validwrite) },
|
||||
{ be_const_key(_available, -1), be_const_func(b_wire_available) },
|
||||
{ be_const_key(detect, -1), be_const_func(b_wire_detect) },
|
||||
{ be_const_key(bus, -1), be_const_var(0) },
|
||||
{ be_const_key(read_bytes, -1), be_const_closure(read_bytes_closure) },
|
||||
{ be_const_key(_request_from, -1), be_const_func(b_wire_requestfrom) },
|
||||
{ be_const_key(detect, -1), be_const_func(b_wire_detect) },
|
||||
{ be_const_key(scan, 2), be_const_func(b_wire_scan) },
|
||||
{ be_const_key(enabled, -1), be_const_func(b_wire_enabled) },
|
||||
{ be_const_key(_write, 13), be_const_func(b_wire_write) },
|
||||
{ be_const_key(read, -1), be_const_func(b_wire_validread) },
|
||||
{ be_const_key(_end_transmission, 8), be_const_func(b_wire_endtransmission) },
|
||||
{ be_const_key(_begin_transmission, -1), be_const_func(b_wire_begintransmission) },
|
||||
{ be_const_key(write_bytes, 7), be_const_closure(write_bytes_closure) },
|
||||
{ be_const_key(_read, -1), be_const_func(b_wire_read) },
|
||||
{ be_const_key(write, -1), be_const_func(b_wire_validwrite) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_tasmota_wire_map,
|
||||
14
|
||||
15
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(m_libdebug_map) {
|
||||
{ be_const_key(counters, 3), be_const_func(m_counters) },
|
||||
{ be_const_key(traceback, -1), be_const_func(m_traceback) },
|
||||
{ be_const_key(codedump, -1), be_const_func(m_codedump) },
|
||||
{ be_const_key(calldepth, -1), be_const_func(m_calldepth) },
|
||||
{ be_const_key(top, -1), be_const_func(m_top) },
|
||||
{ be_const_key(attrdump, 0), be_const_func(m_attrdump) },
|
||||
{ be_const_key(calldepth, 5), be_const_func(m_calldepth) },
|
||||
{ be_const_key(top, -1), be_const_func(m_top) },
|
||||
{ be_const_key(codedump, -1), be_const_func(m_codedump) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
m_libdebug_map,
|
||||
5
|
||||
6
|
||||
);
|
||||
|
||||
static be_define_const_module(
|
||||
|
@ -18,4 +19,4 @@ static be_define_const_module(
|
|||
"debug"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(debug, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(debug);
|
||||
|
|
|
@ -18,4 +18,4 @@ static be_define_const_module(
|
|||
"energy"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(energy, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(energy);
|
||||
|
|
|
@ -16,4 +16,4 @@ static be_define_const_module(
|
|||
"flash"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(flash, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(flash);
|
||||
|
|
|
@ -15,4 +15,4 @@ static be_define_const_module(
|
|||
"gc"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(gc, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(gc);
|
||||
|
|
|
@ -16,4 +16,4 @@ static be_define_const_module(
|
|||
"global"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(global, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(global);
|
||||
|
|
|
@ -1,281 +1,18 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(m_libgpio_map) {
|
||||
{ be_const_key(SENSOR_END, 167), be_const_int(250) },
|
||||
{ be_const_key(DHT11_OUT, -1), be_const_int(40) },
|
||||
{ be_const_key(HM10_TX, 199), be_const_int(139) },
|
||||
{ be_const_key(DHT22, 6), be_const_int(38) },
|
||||
{ be_const_key(ARIRFRCV, 226), be_const_int(98) },
|
||||
{ be_const_key(WEBCAM_HREF, 183), be_const_int(161) },
|
||||
{ be_const_key(SM16716_CLK, 168), be_const_int(91) },
|
||||
{ be_const_key(ZIGBEE_RST, 264), be_const_int(181) },
|
||||
{ be_const_key(KEY1_INV_NP, 223), be_const_int(4) },
|
||||
{ be_const_key(KEY1_TC, 81), be_const_int(169) },
|
||||
{ be_const_key(PROJECTOR_CTRL_RX, -1), be_const_int(225) },
|
||||
{ be_const_key(TFMINIPLUS_RX, -1), be_const_int(235) },
|
||||
{ be_const_key(SSD1331_CS, -1), be_const_int(208) },
|
||||
{ be_const_key(MP3_DFR562, 162), be_const_int(67) },
|
||||
{ be_const_key(WEBCAM_VSYNC, 140), be_const_int(160) },
|
||||
{ be_const_key(CNTR1, 246), be_const_int(11) },
|
||||
{ be_const_key(ROT1B_NP, -1), be_const_int(212) },
|
||||
{ be_const_key(ELECTRIQ_MOODL_TX, -1), be_const_int(145) },
|
||||
{ be_const_key(TASMOTACLIENT_RXD, -1), be_const_int(131) },
|
||||
{ be_const_key(NONE, -1), be_const_int(0) },
|
||||
{ be_const_key(RF_SENSOR, -1), be_const_int(75) },
|
||||
{ be_const_key(MAX31855CS, -1), be_const_int(78) },
|
||||
{ be_const_key(SPI_MOSI, 233), be_const_int(22) },
|
||||
{ be_const_key(I2S_OUT_DATA, -1), be_const_int(243) },
|
||||
{ be_const_key(HPMA_TX, 108), be_const_int(135) },
|
||||
{ be_const_key(TASMOTACLIENT_RST_INV, 156), be_const_int(133) },
|
||||
{ be_const_key(IEM3000_RX, -1), be_const_int(180) },
|
||||
{ be_const_key(BS814_DAT, 196), be_const_int(215) },
|
||||
{ be_const_key(OUTPUT_LO, -1), be_const_int(121) },
|
||||
{ be_const_key(SSD1351_CS, 236), be_const_int(204) },
|
||||
{ be_const_key(TM1637DIO, -1), be_const_int(223) },
|
||||
{ be_const_key(INTERRUPT, 240), be_const_int(249) },
|
||||
{ be_const_key(PN532_RXD, 195), be_const_int(90) },
|
||||
{ be_const_key(SM2135_CLK, -1), be_const_int(126) },
|
||||
{ be_const_key(DI, -1), be_const_int(94) },
|
||||
{ be_const_key(TM1638CLK, 87), be_const_int(64) },
|
||||
{ be_const_key(DSB_OUT, 65), be_const_int(42) },
|
||||
{ be_const_key(I2S_OUT_SLCT, -1), be_const_int(245) },
|
||||
{ be_const_key(RDM6300_RX, -1), be_const_int(113) },
|
||||
{ be_const_key(TUYA_RX, 59), be_const_int(72) },
|
||||
{ be_const_key(WIEGAND_D1, -1), be_const_int(217) },
|
||||
{ be_const_key(EPAPER42_CS, 133), be_const_int(203) },
|
||||
{ be_const_key(INPUT_PULLDOWN, -1), be_const_int(9) },
|
||||
{ be_const_key(A4988_DIR, 75), be_const_int(116) },
|
||||
{ be_const_key(NEOPOOL_RX, -1), be_const_int(219) },
|
||||
{ be_const_key(PZEM016_RX, 36), be_const_int(48) },
|
||||
{ be_const_key(digital_write, 225), be_const_func(gp_digital_write) },
|
||||
{ be_const_key(NRG_CF1, -1), be_const_int(83) },
|
||||
{ be_const_key(FTC532, -1), be_const_int(195) },
|
||||
{ be_const_key(DDS2382_TX, -1), be_const_int(122) },
|
||||
{ be_const_key(WEBCAM_RESET, 230), be_const_int(155) },
|
||||
{ be_const_key(TELEINFO_ENABLE, 42), be_const_int(177) },
|
||||
{ be_const_key(IRRECV, 89), be_const_int(34) },
|
||||
{ be_const_key(SDM120_RX, 148), be_const_int(61) },
|
||||
{ be_const_key(PMS5003_TX, -1), be_const_int(52) },
|
||||
{ be_const_key(CC1101_GDO2, -1), be_const_int(143) },
|
||||
{ be_const_key(HPMA_RX, 238), be_const_int(134) },
|
||||
{ be_const_key(MAX7219CS, -1), be_const_int(233) },
|
||||
{ be_const_key(CSE7766_RX, 46), be_const_int(97) },
|
||||
{ be_const_key(RISING, 103), be_const_int(1) },
|
||||
{ be_const_key(SPI_MISO, -1), be_const_int(21) },
|
||||
{ be_const_key(RFRECV, -1), be_const_int(36) },
|
||||
{ be_const_key(SHELLY_DIMMER_RST_INV, 228), be_const_int(190) },
|
||||
{ be_const_key(TASMOTACLIENT_RST, -1), be_const_int(132) },
|
||||
{ be_const_key(PULLDOWN, 189), be_const_int(8) },
|
||||
{ be_const_key(SSPI_CS, -1), be_const_int(29) },
|
||||
{ be_const_key(TUYA_TX, -1), be_const_int(71) },
|
||||
{ be_const_key(LED1_INV, 0), be_const_int(10) },
|
||||
{ be_const_key(digital_read, -1), be_const_func(gp_digital_read) },
|
||||
{ be_const_key(CSE7766_TX, 215), be_const_int(96) },
|
||||
{ be_const_key(DCKI, -1), be_const_int(95) },
|
||||
{ be_const_key(ILI9341_CS, -1), be_const_int(199) },
|
||||
{ be_const_key(pin_used, -1), be_const_func(gp_pin_used) },
|
||||
{ be_const_key(ADC_RANGE, 237), be_const_int(152) },
|
||||
{ be_const_key(PZEM0XX_TX, 31), be_const_int(46) },
|
||||
{ be_const_key(ROT1A_NP, -1), be_const_int(211) },
|
||||
{ be_const_key(ROT1A, 202), be_const_int(102) },
|
||||
{ be_const_key(HALLEFFECT, -1), be_const_int(237) },
|
||||
{ be_const_key(OPEN_DRAIN, -1), be_const_int(16) },
|
||||
{ be_const_key(TM1638DIO, 220), be_const_int(65) },
|
||||
{ be_const_key(IEM3000_TX, -1), be_const_int(179) },
|
||||
{ be_const_key(MAX7219DIN, 118), be_const_int(232) },
|
||||
{ be_const_key(A4988_ENA, -1), be_const_int(118) },
|
||||
{ be_const_key(MHZ_TXD, 23), be_const_int(44) },
|
||||
{ be_const_key(WEBCAM_PWDN, -1), be_const_int(154) },
|
||||
{ be_const_key(SDS0X1_RX, -1), be_const_int(55) },
|
||||
{ be_const_key(SPI_CS, -1), be_const_int(24) },
|
||||
{ be_const_key(BS814_CLK, -1), be_const_int(214) },
|
||||
{ be_const_key(CSE7761_RX, -1), be_const_int(229) },
|
||||
{ be_const_key(ADC_JOY, -1), be_const_int(104) },
|
||||
{ be_const_key(OPTION_A, 171), be_const_int(194) },
|
||||
{ be_const_key(RFSEND, -1), be_const_int(35) },
|
||||
{ be_const_key(HRE_DATA, 135), be_const_int(107) },
|
||||
{ be_const_key(BOILER_OT_TX, 221), be_const_int(167) },
|
||||
{ be_const_key(ETH_PHY_MDC, 30), be_const_int(174) },
|
||||
{ be_const_key(LED1, 11), be_const_int(9) },
|
||||
{ be_const_key(DDSU666_RX, 64), be_const_int(125) },
|
||||
{ be_const_key(MAX31855CLK, -1), be_const_int(79) },
|
||||
{ be_const_key(RA8876_CS, -1), be_const_int(205) },
|
||||
{ be_const_key(AZ_TXD, -1), be_const_int(76) },
|
||||
{ be_const_key(SBR_TX, -1), be_const_int(56) },
|
||||
{ be_const_key(REL1_INV, 212), be_const_int(8) },
|
||||
{ be_const_key(CC1101_GDO0, -1), be_const_int(142) },
|
||||
{ be_const_key(AZ_RXD, 149), be_const_int(77) },
|
||||
{ be_const_key(EPAPER29_CS, 229), be_const_int(202) },
|
||||
{ be_const_key(P9813_DAT, 177), be_const_int(193) },
|
||||
{ be_const_key(PWM1, -1), be_const_int(13) },
|
||||
{ be_const_key(INPUT, -1), be_const_int(239) },
|
||||
{ be_const_key(PN532_TXD, -1), be_const_int(89) },
|
||||
{ be_const_key(I2S_IN_DATA, -1), be_const_int(246) },
|
||||
{ be_const_key(SOLAXX1_TX, -1), be_const_int(109) },
|
||||
{ be_const_key(LEDLNK_INV, 208), be_const_int(18) },
|
||||
{ be_const_key(ADC_LIGHT, -1), be_const_int(149) },
|
||||
{ be_const_key(SDS0X1_TX, 92), be_const_int(54) },
|
||||
{ be_const_key(ADC_PH, 1), be_const_int(213) },
|
||||
{ be_const_key(WEBCAM_XCLK, 267), be_const_int(156) },
|
||||
{ be_const_key(ADC_BUTTON_INV, -1), be_const_int(151) },
|
||||
{ be_const_key(IBEACON_TX, 13), be_const_int(114) },
|
||||
{ be_const_key(SWT1_NP, -1), be_const_int(6) },
|
||||
{ be_const_key(SDCARD_CS, 62), be_const_int(210) },
|
||||
{ be_const_key(KEY1_PD, -1), be_const_int(240) },
|
||||
{ be_const_key(BUZZER, 69), be_const_int(15) },
|
||||
{ be_const_key(SM2135_DAT, -1), be_const_int(127) },
|
||||
{ be_const_key(CNTR1_NP, -1), be_const_int(12) },
|
||||
{ be_const_key(NRF24_CS, 49), be_const_int(197) },
|
||||
{ be_const_key(DYP_RX, -1), be_const_int(182) },
|
||||
{ be_const_key(IRSEND, -1), be_const_int(33) },
|
||||
{ be_const_key(WEBCAM_SIOC, 258), be_const_int(158) },
|
||||
{ be_const_key(MAX7219CLK, 56), be_const_int(231) },
|
||||
{ be_const_key(WIEGAND_D0, 165), be_const_int(216) },
|
||||
{ be_const_key(ZIGBEE_RX, -1), be_const_int(112) },
|
||||
{ be_const_key(CHANGE, 33), be_const_int(4) },
|
||||
{ be_const_key(AS608_RX, -1), be_const_int(188) },
|
||||
{ be_const_key(TCP_RX, -1), be_const_int(172) },
|
||||
{ be_const_key(PZEM017_RX, -1), be_const_int(49) },
|
||||
{ be_const_key(NRF24_DC, -1), be_const_int(198) },
|
||||
{ be_const_key(BACKLIGHT, 35), be_const_int(31) },
|
||||
{ be_const_key(SSPI_MOSI, -1), be_const_int(27) },
|
||||
{ be_const_key(MAX31855DO, -1), be_const_int(80) },
|
||||
{ be_const_key(LE01MR_RX, -1), be_const_int(140) },
|
||||
{ be_const_key(I2S_IN_SLCT, -1), be_const_int(248) },
|
||||
{ be_const_key(ETH_PHY_POWER, -1), be_const_int(173) },
|
||||
{ be_const_key(ADE7953_IRQ, 29), be_const_int(108) },
|
||||
{ be_const_key(SSPI_MISO, -1), be_const_int(26) },
|
||||
{ be_const_key(WINDMETER_SPEED, 79), be_const_int(168) },
|
||||
{ be_const_key(IBEACON_RX, -1), be_const_int(115) },
|
||||
{ be_const_key(TX2X_TXD_BLACK, 8), be_const_int(70) },
|
||||
{ be_const_key(TM1637CLK, 102), be_const_int(222) },
|
||||
{ be_const_key(KEY1_INV, -1), be_const_int(3) },
|
||||
{ be_const_key(BOILER_OT_RX, -1), be_const_int(166) },
|
||||
{ be_const_key(DDSU666_TX, -1), be_const_int(124) },
|
||||
{ be_const_key(WEBCAM_DATA, -1), be_const_int(159) },
|
||||
{ be_const_key(DDS2382_RX, -1), be_const_int(123) },
|
||||
{ be_const_key(EXS_ENABLE, 53), be_const_int(129) },
|
||||
{ be_const_key(AS608_TX, -1), be_const_int(187) },
|
||||
{ be_const_key(OLED_RESET, 100), be_const_int(32) },
|
||||
{ be_const_key(AS3935, -1), be_const_int(146) },
|
||||
{ be_const_key(LMT01, -1), be_const_int(178) },
|
||||
{ be_const_key(ADC_INPUT, -1), be_const_int(147) },
|
||||
{ be_const_key(SDM72_TX, 235), be_const_int(220) },
|
||||
{ be_const_key(ADC_TEMP, -1), be_const_int(148) },
|
||||
{ be_const_key(LEDLNK, 7), be_const_int(17) },
|
||||
{ be_const_key(DAC, -1), be_const_int(-1) },
|
||||
{ be_const_key(SAIR_RX, -1), be_const_int(51) },
|
||||
{ be_const_key(SOLAXX1_RX, -1), be_const_int(110) },
|
||||
{ be_const_key(WEBCAM_PCLK, -1), be_const_int(162) },
|
||||
{ be_const_key(KEY1_NP, 14), be_const_int(2) },
|
||||
{ be_const_key(TFMINIPLUS_TX, -1), be_const_int(234) },
|
||||
{ be_const_key(SR04_TRIG, -1), be_const_int(58) },
|
||||
{ be_const_key(A4988_STP, 182), be_const_int(117) },
|
||||
{ be_const_key(TASMOTACLIENT_TXD, -1), be_const_int(130) },
|
||||
{ be_const_key(HX711_DAT, 207), be_const_int(69) },
|
||||
{ be_const_key(HM10_RX, -1), be_const_int(138) },
|
||||
{ be_const_key(ARIRFSEL, 249), be_const_int(99) },
|
||||
{ be_const_key(MIEL_HVAC_TX, 141), be_const_int(183) },
|
||||
{ be_const_key(NRG_SEL, -1), be_const_int(81) },
|
||||
{ be_const_key(DEEPSLEEP, 132), be_const_int(128) },
|
||||
{ be_const_key(CSE7761_TX, -1), be_const_int(228) },
|
||||
{ be_const_key(WS2812, 18), be_const_int(43) },
|
||||
{ be_const_key(WE517_RX, 188), be_const_int(186) },
|
||||
{ be_const_key(PROJECTOR_CTRL_TX, -1), be_const_int(224) },
|
||||
{ be_const_key(SI7021, 242), be_const_int(39) },
|
||||
{ be_const_key(SM16716_SEL, -1), be_const_int(93) },
|
||||
{ be_const_key(KEY1_INV_PD, -1), be_const_int(241) },
|
||||
{ be_const_key(SPI_CLK, -1), be_const_int(23) },
|
||||
{ be_const_key(ZEROCROSS, -1), be_const_int(236) },
|
||||
{ be_const_key(OUTPUT_OPEN_DRAIN, -1), be_const_int(18) },
|
||||
{ be_const_key(REL1, -1), be_const_int(7) },
|
||||
{ be_const_key(NRG_SEL_INV, -1), be_const_int(82) },
|
||||
{ be_const_key(RC522_CS, -1), be_const_int(196) },
|
||||
{ be_const_key(ADC_BUTTON, -1), be_const_int(150) },
|
||||
{ be_const_key(SAIR_TX, -1), be_const_int(50) },
|
||||
{ be_const_key(OUTPUT_HI, 105), be_const_int(120) },
|
||||
{ be_const_key(LE01MR_TX, -1), be_const_int(141) },
|
||||
{ be_const_key(ILI9341_DC, 22), be_const_int(200) },
|
||||
{ be_const_key(SR04_ECHO, 263), be_const_int(59) },
|
||||
{ be_const_key(HJL_CF, 241), be_const_int(85) },
|
||||
{ be_const_key(I2S_OUT_CLK, -1), be_const_int(244) },
|
||||
{ be_const_key(MIEL_HVAC_RX, 12), be_const_int(184) },
|
||||
{ be_const_key(GPS_RX, 247), be_const_int(136) },
|
||||
{ be_const_key(pin_mode, -1), be_const_func(gp_pin_mode) },
|
||||
{ be_const_key(P9813_CLK, -1), be_const_int(192) },
|
||||
{ be_const_key(ZIGBEE_TX, 262), be_const_int(111) },
|
||||
{ be_const_key(dac_voltage, -1), be_const_func(gp_dac_voltage) },
|
||||
{ be_const_key(INPUT_PULLUP, -1), be_const_int(5) },
|
||||
{ be_const_key(SDM120_TX, -1), be_const_int(60) },
|
||||
{ be_const_key(HRXL_RX, -1), be_const_int(144) },
|
||||
{ be_const_key(pin, -1), be_const_func(gp_pin) },
|
||||
{ be_const_key(HRE_CLOCK, -1), be_const_int(106) },
|
||||
{ be_const_key(DHT11, -1), be_const_int(37) },
|
||||
{ be_const_key(PWM1_INV, 109), be_const_int(14) },
|
||||
{ be_const_key(A4988_MS1, 94), be_const_int(119) },
|
||||
{ be_const_key(SBR_RX, -1), be_const_int(57) },
|
||||
{ be_const_key(SWT1_PD, -1), be_const_int(242) },
|
||||
{ be_const_key(FALLING, 5), be_const_int(2) },
|
||||
{ be_const_key(PULLUP, -1), be_const_int(4) },
|
||||
{ be_const_key(TELEINFO_RX, -1), be_const_int(176) },
|
||||
{ be_const_key(MCP39F5_RX, -1), be_const_int(87) },
|
||||
{ be_const_key(ETH_PHY_MDIO, -1), be_const_int(175) },
|
||||
{ be_const_key(BL0940_RX, -1), be_const_int(170) },
|
||||
{ be_const_key(NEOPOOL_TX, 248), be_const_int(218) },
|
||||
{ be_const_key(VL53L0X_XSHUT1, -1), be_const_int(230) },
|
||||
{ be_const_key(MCP39F5_RST, 203), be_const_int(88) },
|
||||
{ be_const_key(HLW_CF, 231), be_const_int(84) },
|
||||
{ be_const_key(WEBCAM_PSRCS, -1), be_const_int(165) },
|
||||
{ be_const_key(SSD1331_DC, -1), be_const_int(209) },
|
||||
{ be_const_key(ST7789_CS, -1), be_const_int(206) },
|
||||
{ be_const_key(SDM72_RX, 66), be_const_int(221) },
|
||||
{ be_const_key(SSD1351_DC, -1), be_const_int(226) },
|
||||
{ be_const_key(SSPI_SCLK, -1), be_const_int(28) },
|
||||
{ be_const_key(I2S_IN_CLK, -1), be_const_int(247) },
|
||||
{ be_const_key(SM16716_DAT, -1), be_const_int(92) },
|
||||
{ be_const_key(I2C_SDA, -1), be_const_int(20) },
|
||||
{ be_const_key(PZEM004_RX, -1), be_const_int(47) },
|
||||
{ be_const_key(TCP_TX, -1), be_const_int(171) },
|
||||
{ be_const_key(SDM630_RX, -1), be_const_int(63) },
|
||||
{ be_const_key(SWT1, -1), be_const_int(5) },
|
||||
{ be_const_key(ROT1B, -1), be_const_int(103) },
|
||||
{ be_const_key(I2C_SCL, -1), be_const_int(19) },
|
||||
{ be_const_key(RXD, -1), be_const_int(101) },
|
||||
{ be_const_key(DSB, 261), be_const_int(41) },
|
||||
{ be_const_key(MCP39F5_TX, 252), be_const_int(86) },
|
||||
{ be_const_key(HIGH, 266), be_const_int(1) },
|
||||
{ be_const_key(RC522_RST, -1), be_const_int(191) },
|
||||
{ be_const_key(SSPI_DC, -1), be_const_int(30) },
|
||||
{ be_const_key(LOW, -1), be_const_int(0) },
|
||||
{ be_const_key(BUZZER_INV, -1), be_const_int(16) },
|
||||
{ be_const_key(XPT2046_CS, -1), be_const_int(227) },
|
||||
{ be_const_key(WEBCAM_HSD, -1), be_const_int(164) },
|
||||
{ be_const_key(TM1638STB, -1), be_const_int(66) },
|
||||
{ be_const_key(PMS5003_RX, -1), be_const_int(53) },
|
||||
{ be_const_key(SPI_DC, -1), be_const_int(25) },
|
||||
{ be_const_key(MHZ_RXD, -1), be_const_int(45) },
|
||||
{ be_const_key(ILI9488_CS, 119), be_const_int(201) },
|
||||
{ be_const_key(HX711_SCK, 57), be_const_int(68) },
|
||||
{ be_const_key(SDM630_TX, 227), be_const_int(62) },
|
||||
{ be_const_key(SHELLY_DIMMER_BOOT0, -1), be_const_int(189) },
|
||||
{ be_const_key(EPD_DATA, -1), be_const_int(238) },
|
||||
{ be_const_key(WE517_TX, -1), be_const_int(185) },
|
||||
{ be_const_key(TXD, 234), be_const_int(100) },
|
||||
{ be_const_key(OUTPUT, -1), be_const_int(2) },
|
||||
{ be_const_key(SSPI_MAX31865_CS1, -1), be_const_int(105) },
|
||||
{ be_const_key(WEBCAM_PSCLK, -1), be_const_int(163) },
|
||||
{ be_const_key(WEBCAM_SIOD, -1), be_const_int(157) },
|
||||
{ be_const_key(MGC3130_RESET, -1), be_const_int(74) },
|
||||
{ be_const_key(KEY1, -1), be_const_int(1) },
|
||||
{ be_const_key(MGC3130_XFER, -1), be_const_int(73) },
|
||||
{ be_const_key(ST7789_DC, 245), be_const_int(207) },
|
||||
{ be_const_key(GPS_TX, 123), be_const_int(137) },
|
||||
{ be_const_key(ADC_CT_POWER, 58), be_const_int(153) },
|
||||
{ be_const_key(member, -1), be_const_func(gp_member) },
|
||||
{ be_const_key(digital_write, -1), be_const_func(gp_digital_write) },
|
||||
{ be_const_key(pin_mode, 1), be_const_func(gp_pin_mode) },
|
||||
{ be_const_key(pin_used, -1), be_const_func(gp_pin_used) },
|
||||
{ be_const_key(dac_voltage, -1), be_const_func(gp_dac_voltage) },
|
||||
{ be_const_key(digital_read, 3), be_const_func(gp_digital_read) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
m_libgpio_map,
|
||||
270
|
||||
7
|
||||
);
|
||||
|
||||
static be_define_const_module(
|
||||
|
@ -283,4 +20,4 @@ static be_define_const_module(
|
|||
"gpio"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(gpio, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(gpio);
|
||||
|
|
|
@ -18,4 +18,4 @@ static be_define_const_module(
|
|||
"introspect"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(introspect, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(introspect);
|
||||
|
|
|
@ -15,4 +15,4 @@ static be_define_const_module(
|
|||
"json"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(json, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(json);
|
||||
|
|
|
@ -18,4 +18,4 @@ static be_define_const_module(
|
|||
"light"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(light, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(light);
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(m_liblvgl_map) {
|
||||
{ be_const_key(SYMBOL_NEXT, -1), be_const_str(&be_local_const_str_SYMBOL_NEXT) },
|
||||
{ be_const_key(SYMBOL_GPS, -1), be_const_str(&be_local_const_str_SYMBOL_GPS) },
|
||||
{ be_const_key(SYMBOL_POWER, 29), be_const_str(&be_local_const_str_SYMBOL_POWER) },
|
||||
{ be_const_key(SYMBOL_WARNING, -1), be_const_str(&be_local_const_str_SYMBOL_WARNING) },
|
||||
{ be_const_key(SYMBOL_MUTE, 43), be_const_str(&be_local_const_str_SYMBOL_MUTE) },
|
||||
{ be_const_key(SYMBOL_UP, -1), be_const_str(&be_local_const_str_SYMBOL_UP) },
|
||||
{ be_const_key(SYMBOL_SHUFFLE, -1), be_const_str(&be_local_const_str_SYMBOL_SHUFFLE) },
|
||||
{ be_const_key(SYMBOL_BATTERY_3, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_3) },
|
||||
{ be_const_key(SYMBOL_VOLUME_MAX, -1), be_const_str(&be_local_const_str_SYMBOL_VOLUME_MAX) },
|
||||
{ be_const_key(SYMBOL_PLUS, 31), be_const_str(&be_local_const_str_SYMBOL_PLUS) },
|
||||
{ be_const_key(SYMBOL_SETTINGS, -1), be_const_str(&be_local_const_str_SYMBOL_SETTINGS) },
|
||||
{ be_const_key(SYMBOL_PLAY, 58), be_const_str(&be_local_const_str_SYMBOL_PLAY) },
|
||||
{ be_const_key(screenshot, 59), be_const_func(lv0_screenshot) },
|
||||
{ be_const_key(SYMBOL_UPLOAD, -1), be_const_str(&be_local_const_str_SYMBOL_UPLOAD) },
|
||||
{ be_const_key(SYMBOL_LEFT, -1), be_const_str(&be_local_const_str_SYMBOL_LEFT) },
|
||||
{ be_const_key(load_font, -1), be_const_func(lv0_load_font) },
|
||||
{ be_const_key(SYMBOL_CALL, -1), be_const_str(&be_local_const_str_SYMBOL_CALL) },
|
||||
{ be_const_key(SYMBOL_KEYBOARD, -1), be_const_str(&be_local_const_str_SYMBOL_KEYBOARD) },
|
||||
{ be_const_key(SYMBOL_PAUSE, 40), be_const_str(&be_local_const_str_SYMBOL_PAUSE) },
|
||||
{ be_const_key(SYMBOL_DOWN, -1), be_const_str(&be_local_const_str_SYMBOL_DOWN) },
|
||||
{ be_const_key(SYMBOL_BATTERY_FULL, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_FULL) },
|
||||
{ be_const_key(SYMBOL_BATTERY_EMPTY, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_EMPTY) },
|
||||
{ be_const_key(SYMBOL_CLOSE, -1), be_const_str(&be_local_const_str_SYMBOL_CLOSE) },
|
||||
{ be_const_key(SYMBOL_PASTE, 49), be_const_str(&be_local_const_str_SYMBOL_PASTE) },
|
||||
{ be_const_key(SYMBOL_RIGHT, -1), be_const_str(&be_local_const_str_SYMBOL_RIGHT) },
|
||||
{ be_const_key(SYMBOL_USB, 21), be_const_str(&be_local_const_str_SYMBOL_USB) },
|
||||
{ be_const_key(SYMBOL_BULLET, -1), be_const_str(&be_local_const_str_SYMBOL_BULLET) },
|
||||
{ be_const_key(SYMBOL_BELL, 7), be_const_str(&be_local_const_str_SYMBOL_BELL) },
|
||||
{ be_const_key(SYMBOL_WIFI, -1), be_const_str(&be_local_const_str_SYMBOL_WIFI) },
|
||||
{ be_const_key(SYMBOL_SAVE, -1), be_const_str(&be_local_const_str_SYMBOL_SAVE) },
|
||||
{ be_const_key(SYMBOL_DOWNLOAD, -1), be_const_str(&be_local_const_str_SYMBOL_DOWNLOAD) },
|
||||
{ be_const_key(start, -1), be_const_func(lv0_start) },
|
||||
{ be_const_key(SYMBOL_DIRECTORY, 28), be_const_str(&be_local_const_str_SYMBOL_DIRECTORY) },
|
||||
{ be_const_key(SYMBOL_TRASH, 35), be_const_str(&be_local_const_str_SYMBOL_TRASH) },
|
||||
{ be_const_key(SYMBOL_IMAGE, -1), be_const_str(&be_local_const_str_SYMBOL_IMAGE) },
|
||||
{ be_const_key(SYMBOL_VOLUME_MID, 54), be_const_str(&be_local_const_str_SYMBOL_VOLUME_MID) },
|
||||
{ be_const_key(SYMBOL_STOP, 10), be_const_str(&be_local_const_str_SYMBOL_STOP) },
|
||||
{ be_const_key(SYMBOL_DUMMY, -1), be_const_str(&be_local_const_str_SYMBOL_DUMMY) },
|
||||
{ be_const_key(member, -1), be_const_func(lv0_member) },
|
||||
{ be_const_key(SYMBOL_EDIT, -1), be_const_str(&be_local_const_str_SYMBOL_EDIT) },
|
||||
{ be_const_key(seg7_font, 41), be_const_func(lv0_load_seg7_font) },
|
||||
{ be_const_key(SYMBOL_NEW_LINE, -1), be_const_str(&be_local_const_str_SYMBOL_NEW_LINE) },
|
||||
{ be_const_key(register_button_encoder, -1), be_const_func(lv0_register_button_encoder) },
|
||||
{ be_const_key(load_freetype_font, -1), be_const_func(lv0_load_freetype_font) },
|
||||
{ be_const_key(SYMBOL_REFRESH, 16), be_const_str(&be_local_const_str_SYMBOL_REFRESH) },
|
||||
{ be_const_key(SYMBOL_SD_CARD, -1), be_const_str(&be_local_const_str_SYMBOL_SD_CARD) },
|
||||
{ be_const_key(SYMBOL_EJECT, 20), be_const_str(&be_local_const_str_SYMBOL_EJECT) },
|
||||
{ be_const_key(SYMBOL_CUT, 5), be_const_str(&be_local_const_str_SYMBOL_CUT) },
|
||||
{ be_const_key(SYMBOL_LIST, 13), be_const_str(&be_local_const_str_SYMBOL_LIST) },
|
||||
{ be_const_key(SYMBOL_MINUS, -1), be_const_str(&be_local_const_str_SYMBOL_MINUS) },
|
||||
{ be_const_key(SYMBOL_LOOP, 8), be_const_str(&be_local_const_str_SYMBOL_LOOP) },
|
||||
{ be_const_key(SYMBOL_EYE_CLOSE, 66), be_const_str(&be_local_const_str_SYMBOL_EYE_CLOSE) },
|
||||
{ be_const_key(SYMBOL_BACKSPACE, -1), be_const_str(&be_local_const_str_SYMBOL_BACKSPACE) },
|
||||
{ be_const_key(SYMBOL_OK, -1), be_const_str(&be_local_const_str_SYMBOL_OK) },
|
||||
{ be_const_key(SYMBOL_AUDIO, -1), be_const_str(&be_local_const_str_SYMBOL_AUDIO) },
|
||||
{ be_const_key(SYMBOL_EYE_OPEN, -1), be_const_str(&be_local_const_str_SYMBOL_EYE_OPEN) },
|
||||
{ be_const_key(SYMBOL_BLUETOOTH, -1), be_const_str(&be_local_const_str_SYMBOL_BLUETOOTH) },
|
||||
{ be_const_key(SYMBOL_VIDEO, -1), be_const_str(&be_local_const_str_SYMBOL_VIDEO) },
|
||||
{ be_const_key(SYMBOL_HOME, -1), be_const_str(&be_local_const_str_SYMBOL_HOME) },
|
||||
{ be_const_key(SYMBOL_BATTERY_2, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_2) },
|
||||
{ be_const_key(SYMBOL_COPY, -1), be_const_str(&be_local_const_str_SYMBOL_COPY) },
|
||||
{ be_const_key(SYMBOL_DRIVE, -1), be_const_str(&be_local_const_str_SYMBOL_DRIVE) },
|
||||
{ be_const_key(montserrat_font, 30), be_const_func(lv0_load_montserrat_font) },
|
||||
{ be_const_key(SYMBOL_PREV, -1), be_const_str(&be_local_const_str_SYMBOL_PREV) },
|
||||
{ be_const_key(SYMBOL_BATTERY_1, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_1) },
|
||||
{ be_const_key(SYMBOL_FILE, -1), be_const_str(&be_local_const_str_SYMBOL_FILE) },
|
||||
{ be_const_key(SYMBOL_CHARGE, -1), be_const_str(&be_local_const_str_SYMBOL_CHARGE) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
m_liblvgl_map,
|
||||
67
|
||||
);
|
||||
|
||||
static be_define_const_module(
|
||||
m_liblvgl,
|
||||
"lvgl"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(lvgl, NULL);
|
|
@ -40,4 +40,4 @@ static be_define_const_module(
|
|||
"math"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(math, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(math);
|
||||
|
|
|
@ -14,4 +14,4 @@ static be_define_const_module(
|
|||
"persist"
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(persist, NULL);
|
||||
BE_EXPORT_VARIABLE be_define_const_native_module(persist);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue