@@ -110,10 +110,12 @@ Our custom data is in the following folders:
110110
111111## 🔧 Prerequisites
112112
113- - ** ESP-IDF 5.x ** (P4 target support required )
113+ - ** ESP-IDF v5.4.2 ** (tested with the ESP32-P4 target )
114114- ** Python 3.8+** (for build scripts)
115115- Toolchain installed per [ Espressif instructions] ( https://docs.espressif.com/projects/esp-idf/en/latest/esp32p4/get-started/ )
116116
117+ > Tested with ESP-IDF v5.4.2 for esp32p4; newer releases may require additional fixes.
118+
117119Optional:
118120- Mosquitto broker + Home Assistant for end-to-end testing
119121- Frigate (or any RTSP/MJPEG camera source)
@@ -122,17 +124,26 @@ Optional:
122124
123125## 🛠️ Build Instructions
124126
125- 1 . ** Clone repo & submodules **
127+ 1 . ** Clone the repo **
126128
127129 git clone https://github.com/baba-dev/M5Tab5-UserDemo.git
128- cd M5Tab5-UserDemo
129- python fetch_repos.py # fetch or update M5 & LVGL components
130+ cd M5Tab5-UserDemo
131+
132+ 2 . ** Select the Tab5 platform**
133+
134+ cd platforms/tab5
130135
131- 2 . ** Set ESP32-P4 target**
136+ 3 . ** Set ESP32-P4 target**
132137
133138 idf.py set-target esp32p4
134139
135- 3 . ** Configure (optional)**
140+ Only required once per build directory unless you clean the build output.
141+
142+ 4 . ** Build firmware**
143+
144+ idf.py build
145+
146+ 5 . ** Configure (optional)**
136147
137148 idf.py menuconfig
138149
@@ -150,7 +161,7 @@ This uses **ESP Web Tools** to flash `firmware.bin` described by `manifest.json`
150161
151162## 🚀 Flash & Monitor
152163
153- Connect Tab5 over USB-C.
164+ Connect Tab5 over USB-C. Run the following from ` platforms/tab5/ ` .
154165
155166Flash:
156167
@@ -188,25 +199,8 @@ Exit with Ctrl+].
188199
189200- Test camera performance with multiple stream types; pick best one for latency.
190201
191- ### Devcontainer (ESP-IDF v5.5)
192- This repo includes a Docker-based devcontainer using ` espressif/idf:release-v5.5 ` .
193- - Rebuild/Reload Dev Container in VS Code.
194- - Inside the container, the ESP-IDF environment is auto-loaded via ` ${IDF_PATH}/export.sh ` .
195- - Verify: ` bash scripts/check_idf_env.sh `
196- - Build: ` idf.py build `
197- - Format: ` idf.py clang-format ` (or ` bash scripts/format.sh ` )
198-
199- ### CI builds (ESP-IDF v5.5.x, ESP32-P4)
200- GitHub Actions uses Espressif’s Docker-based builder to compile this repo.
201- - IDF: ` v5.5.1 `
202- - Target: ` esp32p4 `
203- - Submodules: checked out recursively
204- - Cache: ccache
205-
206- Locally, the devcontainer auto-exports the IDF env, so ` idf.py ` works in any shell:
207- - Check: ` bash -lc 'idf.py --version' `
208- - Build: ` scripts/build.sh `
209- - Format: ` scripts/format.sh `
202+ ### UI golden snapshots
203+ Run ` scripts/update_goldens.sh ` after UI changes to refresh the LVGL golden screenshots used by snapshot tests.
210204
211205------------
212206
0 commit comments