41 lines
1020 B
Markdown
41 lines
1020 B
Markdown
# Build and Deploy
|
|
|
|
## Host Side
|
|
|
|
Required tools:
|
|
|
|
- Rust stable toolchain
|
|
- `cargo`
|
|
|
|
Suggested commands:
|
|
|
|
```powershell
|
|
cargo test
|
|
cargo run -p infinity_host -- validate --config config/project.example.toml --mode structural
|
|
cargo run -p infinity_host -- plan-boot-scene --config config/project.example.toml --preset-id safe_static_blue
|
|
```
|
|
|
|
Before any live activation, run:
|
|
|
|
```powershell
|
|
cargo run -p infinity_host -- validate --config config/project.example.toml --mode activation
|
|
```
|
|
|
|
Activation mode is expected to fail until the hardware mapping has been confirmed and the config is updated from `pending_validation` to concrete driver references.
|
|
|
|
## Firmware Side
|
|
|
|
Required tools:
|
|
|
|
- ESP-IDF
|
|
- Xtensa or RISC-V toolchain matching the actual ESP32 variant
|
|
|
|
Suggested layout:
|
|
|
|
- `firmware/esp32_node/`
|
|
- build with `idf.py build`
|
|
- flash with `idf.py -p <serial-port> flash monitor`
|
|
|
|
The firmware skeleton is intentionally conservative. It will not silently select a backend for `UART 6`, `UART 5`, or `UART 4`.
|
|
|