Skip to content

Commit cefe1f5

Browse files
tighten up doc spread
1 parent 2311f25 commit cefe1f5

9 files changed

Lines changed: 166 additions & 271 deletions

File tree

README.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,6 @@ idf.py -p COM3 monitor
4747
- [docs/index.md](./docs/index.md)
4848
- [docs/user-guide.md](./docs/user-guide.md)
4949
- [docs/developer-docs.md](./docs/developer-docs.md)
50-
- [docs/architecture.md](./docs/architecture.md)
51-
- [docs/flashing.md](./docs/flashing.md)
52-
- [docs/validation.md](./docs/validation.md)
53-
- [docs/troubleshooting.md](./docs/troubleshooting.md)
54-
- [docs/upstream-notes.md](./docs/upstream-notes.md)
5550

5651
## Docs Site
5752

docs/architecture.md

Lines changed: 0 additions & 71 deletions
This file was deleted.

docs/developer-docs.md

Lines changed: 91 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,108 @@ A new maintainer can clone the repository, run setup, build/flash firmware, and
3636

3737
### Ownership And Change Rule
3838

39-
This repository is authoritative for the lab RCP workflow. Any intentional divergence from upstream firmware baseline must be captured in [Upstream Notes](upstream-notes.md).
39+
This repository is authoritative for the lab RCP workflow. Any intentional divergence from upstream firmware baseline must be captured in this page.
40+
41+
## Architecture Snapshot
42+
43+
For operational commissioning steps, use [User Guide](user-guide.md). This section captures the maintainer-facing system model and interface decisions.
44+
45+
### System Diagram
46+
47+
```text
48+
[ Sensor Node(s) ]
49+
|
50+
v
51+
[ Thread Network ]
52+
|
53+
v
54+
[ RCP (ESP32-H2 running OpenThread firmware) ]
55+
|
56+
v
57+
[ Host / Server ]
58+
```
59+
60+
This repository owns only the RCP firmware layer.
61+
62+
### RCP-Host Link
63+
64+
The host and RCP communicate using Spinel.
65+
66+
Transport path for this repository:
67+
68+
1. Host process (`otbr-agent` or other Spinel client)
69+
2. USB cable
70+
3. ESP32-H2 native USB Serial JTAG interface (CDC-ACM)
71+
4. OpenThread RCP firmware
72+
5. 802.15.4 radio
73+
74+
### Hardware Interface Choice
75+
76+
The ESP32-H2-DevKitM-1 has two USB-C ports:
77+
78+
1. Native ESP32-H2 USB (USB Serial/JTAG)
79+
2. CP210x UART bridge
80+
81+
Canonical workflow uses the native ESP32-H2 USB port.
82+
83+
Reasons:
84+
85+
1. No extra driver install on Linux or Windows 10/11 for CDC-ACM.
86+
2. Aligns with first-class `ot_rcp` USB transport configuration.
87+
3. Removes bridge-chip path as an avoidable failure point for Spinel transport.
88+
89+
### Runtime Port Expectations
90+
91+
1. Linux: `/dev/ttyACM*` (typically `/dev/ttyACM0`)
92+
2. Windows: `COM*`
93+
94+
### What Runs Where
95+
96+
1. ESP32-H2 board: OpenThread RCP firmware from `firmware/rcp`.
97+
2. Host/server: Spinel client stack such as `otbr-agent`.
4098

4199
## Core References
42100

43101
1. [User Guide](user-guide.md)
44-
2. [Architecture](architecture.md)
45-
3. [Flashing](flashing.md)
46-
4. [Validation](validation.md)
47-
5. [Troubleshooting](troubleshooting.md)
48-
6. [Upstream Notes](upstream-notes.md)
102+
2. Retrospective document (internal-history context; excluded from published site)
49103

50104
## Repository Principles
51105

52106
1. Keep the workflow reproducible from a clean machine.
53107
2. Prefer deterministic scripts over manual ad-hoc steps.
54108
3. Keep terminology and operational instructions aligned across docs.
55109

110+
## Firmware Provenance And Local Overrides
111+
112+
### Canonical Upstream Source
113+
114+
1. Repository: `https://github.com/espressif/esp-idf`
115+
2. Tag: `v6.0`
116+
3. Commit: `662a3be35475` (detached HEAD from `git clone --depth 1 --branch v6.0`)
117+
4. Example path: `examples/openthread/ot_rcp`
118+
5. Verified and re-synced: `2026-04-07`
119+
120+
### Verification Summary
121+
122+
1. A direct diff showed the initial local `_reference/esp-idf-master` snapshot was not identical to upstream `v6.0`.
123+
2. `firmware/rcp` was re-seeded directly from the verified upstream `v6.0` example.
124+
3. After re-seed, only the intentional local overrides listed below are maintained.
125+
126+
### Local Modifications
127+
128+
1. `firmware/rcp/sdkconfig.defaults`
129+
2. Added:
130+
`CONFIG_OPENTHREAD_RCP_SPINEL_CONSOLE=y`
131+
`CONFIG_LOG_DEFAULT_LEVEL_INFO=y`
132+
`CONFIG_OPENTHREAD_RCP_USB_SERIAL_JTAG=y`
133+
3. Reason:
134+
135+
- Enables RCP Spinel console by default and raises default log level for operational diagnostics.
136+
- Selects native USB Serial JTAG transport (native ESP32-H2 USB port, `/dev/ttyACM*` or `COM*`) instead of UART bridge transport.
137+
138+
4. Symbol reference:
139+
`examples/openthread/ot_rcp/sdkconfig.ci.rcp_usb`
140+
56141
## GitHub Pages Publishing Model
57142

58143
This site deploys through GitHub Actions artifact deployment (not branch publishing).

docs/flashing.md

Lines changed: 0 additions & 74 deletions
This file was deleted.

docs/troubleshooting.md

Lines changed: 0 additions & 34 deletions
This file was deleted.

docs/upstream-notes.md

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)