chore(idf): update to esp-idf 5.5.3
This commit is contained in:
24
AGENTS.md
24
AGENTS.md
@@ -25,15 +25,23 @@
|
||||
8. Blocking APIs must define timeout and idempotent semantics (no destructive background continuation after caller timeout).
|
||||
|
||||
## Build, Flash, and Validation
|
||||
Activate ESP-IDF v5.5.2 before running any `idf.py` command:
|
||||
Activate ESP-IDF v5.5.3 before running any `idf.py` command:
|
||||
```bash
|
||||
export PATH=/opt/homebrew/bin:$PATH
|
||||
export IDF_PATH=/Users/moyyang/esp/v5.5.2/esp-idf
|
||||
export IDF_PATH=/Users/moyyang/.espressif/v5.5.3/esp-idf
|
||||
source $IDF_PATH/export.sh
|
||||
```
|
||||
- `idf.py set-target esp32s3`: one-time target setup.
|
||||
- `idf.py build`: compile and validate.
|
||||
- `idf.py -p <PORT> flash monitor`: flash and open serial monitor (`Ctrl+]` to exit).
|
||||
- `idf.py build`: compile and validate; generated flash maps and binaries stay under `build/`.
|
||||
- Secured/provisioned boards with Secure Boot and Flash Encryption enabled must use encrypted app-only flashing:
|
||||
```bash
|
||||
idf.py -p <PORT> encrypted-app-flash
|
||||
idf.py -p <PORT> monitor
|
||||
```
|
||||
This updates only the encrypted app partition at `0x30000` via `build/encrypted_app-flash_args`; it must not rewrite the bootloader, partition table, or OTA data on secured boards.
|
||||
- Do not use `idf.py flash` on secured boards. It attempts to write low flash regions such as the bootloader at `0x0`, which Secure Boot blocks to protect the device.
|
||||
- Do not use plain `idf.py app-flash` on Flash Encryption boards. It writes a plaintext app image and can boot-fail with invalid app magic or no bootable app partition.
|
||||
- `idf.py -p <PORT> flash monitor` is only for fresh development boards without Secure Boot/Flash Encryption, or for initial factory provisioning handled by `tools/esptool-factory`.
|
||||
- `idf.py menuconfig`: adjust project options.
|
||||
- `idf.py fullclean && idf.py build`: clear stale artifacts.
|
||||
|
||||
@@ -46,8 +54,12 @@ source $IDF_PATH/export.sh
|
||||
## Testing Guidelines
|
||||
There is no dedicated unit-test directory currently. Minimum validation:
|
||||
- Build check: `idf.py build`.
|
||||
- Device smoke test after flash: `/v1/health`, printer connect/disconnect, and one print flow (text or image) via `curl`.
|
||||
- For Control Plane or REST changes, include one request/response or lifecycle scenario in PR notes.
|
||||
- Secured-board flash check: `idf.py -p <PORT> encrypted-app-flash`, then `idf.py -p <PORT> monitor`.
|
||||
- Monitor boot logs should show Secure Boot signature verification, app ESP-IDF version, Wi-Fi connection/IP when configured, printer protocol initialization, `MIC_KEY` readiness, control-plane lifecycle start, and `TQ printer runtime started`.
|
||||
- If STA connects, confirm host reachability with `ping <DEVICE_IP>`.
|
||||
- For unprovisioned devices, validate the SoftAP provisioning flow at `http://192.168.4.1` and the provisioning endpoints `/`, `/scan`, and `/provision`.
|
||||
- Physical smoke tests should cover `MIC_KEY` press/release, POWER key long press, and one normal product print flow when the required printer hardware/workflow is available.
|
||||
- For Control Plane or protocol changes, include one lifecycle or request/response scenario in PR notes.
|
||||
|
||||
## Commit & Pull Request Guidelines
|
||||
Use a clear conventional format:
|
||||
|
||||
Reference in New Issue
Block a user