Commit 82e72d5
authored
fix(esp32): reboot out of a wedged network stack instead of needing a power cycle (#106)
Node 35 dropped off the fabric and stayed off for 27 min until it was power-cycled
by hand. The chip was fine (bootreason power-on, RS-485 polling clean throughout) --
nothing in the firmware watches the network, since the only WDT-subscribed task talks
to the A/C bus, not Wi-Fi.
- net-loss reboot watchdog (15 min, ESPHome's reboot_timeout default). Liveness =
associated AND link-local IPv6 valid; Matter is IPv6-only and esp-idf#5796 can kill
the LL address while Wi-Fi/IPv4 stay healthy. Gated against firing mid-OTA.
- force WIFI_PS_NONE (IDF defaults to modem sleep), falling back to MIN_MODEM while a
BLE window is open for single-radio coex.
- feed the task WDT per drained TX item: a full queue drain on a silent bus exceeded
the 5 s timeout and could panic-reboot the node on its own.
- CONFIG_HISENSE_RS485_HW_MODE (default off): opt-in native UART_MODE_RS485_HALF_DUPLEX
DE handling, matching ESPHome's uart component, for bench comparison.
Deployed and verified on node 35 as esp32 v1.1.12 (int 10112). AmebaZ2 version bumped
to 1.3.28 because the shared driver changed (the new feed is #ifdef ESP_PLATFORM, so
the AmebaZ2 binary is functionally unchanged).
Assisted-by: AI1 parent 33e05ee commit 82e72d5
7 files changed
Lines changed: 277 additions & 17 deletions
File tree
- firmware
- esp32-matter
- components/hisense_hal
- main
- src
- rs485-driver
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
84 | 93 | | |
85 | 94 | | |
| 95 | + | |
86 | 96 | | |
87 | 97 | | |
88 | 98 | | |
89 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
90 | 105 | | |
91 | 106 | | |
92 | 107 | | |
| |||
145 | 160 | | |
146 | 161 | | |
147 | 162 | | |
| 163 | + | |
148 | 164 | | |
149 | 165 | | |
150 | 166 | | |
151 | 167 | | |
152 | 168 | | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
153 | 176 | | |
154 | 177 | | |
155 | 178 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
23 | 52 | | |
0 commit comments