Next/Entwicklung/en
Repository layout
| File / folder | Content |
|---|---|
CMakeLists.txt, main/ |
ESP-IDF project; main/main.cpp is the entry point
|
sdkconfig.defaults, partitions.csv |
settings and partition table (ESP32 CYD, 4 MB flash) |
conf/lv_conf.h |
LVGL configuration (project copy) |
src/app/ |
network task (app.cpp), data from the Fusion (daten.cpp), UI (ui.cpp), web interface (webui.cpp), update (ota.cpp)
|
src/board/, src/display/ |
board layer for the CYD (display ST7789/ILI9341, touch, backlight) and the LVGL glue |
src/platform/ |
small compatibility layer for the Arduino names (WiFi, HTTPClient, WebServer, Preferences, String …), sits directly on ESP-IDF
|
src/ui/, src/fonts/, src/icons/ |
PicoPixel export of the UI (LVGL 8, 320×240), fonts, weather symbols |
tools/ |
deploy_ui.sh, wetter_icons.py, icon_kontur.py
|
assets/ |
logo, roadmap graphic, screenshots, symbols |
docs/ |
GitHub Pages: web installer, version.json, manifest.json, firmware/*.bin
|
CHANGELOG.md / CHANGELOG.en.md |
changes (bilingual) |
Building
Install ESP-IDF 5.5.x (git clone --branch v5.5.5 --recursive https://github.com/espressif/esp-idf.git ~/esp/esp-idf-v5.5.5 && cd ~/esp/esp-idf-v5.5.5 && ./install.sh esp32), then:
bash build.sh # build (target esp32, ESP32 CYD; the first time the component manager downloads LVGL, ArduinoJson and mdns) bash build.sh flash /dev/cu.xxx # build and flash (port from ls /dev/cu.*) bash build.sh erstflash /dev/cu.xxx # erase the whole flash first, then build and flash (the first time on a CYD with foreign software) bash build.sh clean # after changes to sdkconfig.defaults
UI with PicoPixel
- Export from PicoPixel to
src/ui/. - Run
./tools/deploy_ui.sh: it prepares the export and checks that all objects wired by the code still exist. - The weather symbols (style "flat" with outline) are produced by
python3 tools/wetter_icons.pyfrom the Meteocons.
Update path
The firmware files in docs/firmware/ and the releases are created by the maintainer. Please send pull requests without changes to docs/firmware/. The Next fetches version.json and the firmware from GitHub Pages and only offers higher versions. It gets the Fusion data over HTTP through /api/next.
Contributing, licence and credits
The source code is licensed under the Apache License 2.0 (LICENSE, NOTICE), texts and images under CC BY-NC 4.0. The name and logos of "WetterCube" are not licensed. Pull requests and issues are welcome, ideally with version, device and the text of http://wettercube-next.local/log; contributions are accepted under the Apache License 2.0. Third-party components and data: CREDITS.