Zum Inhalt springen

Next/Entwicklung/en

Aus WetterCube Wiki
Dies ist die englische Fassung. Zur deutschen Fassung

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

  1. Export from PicoPixel to src/ui/.
  2. Run ./tools/deploy_ui.sh: it prepares the export and checks that all objects wired by the code still exist.
  3. The weather symbols (style "flat" with outline) are produced by python3 tools/wetter_icons.py from 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.