Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Firmware only (`BrettKinny/StackChan@dotty`, submodule `5b361e5`). Source-only:
- **No crash when the server closes the connection** (#193): after a server-side close (the 180 s idle timeout, or an admin end-session), `~EspTcp()` skipped waiting for the receive task and deleted its event group under it, corrupting the heap (`StoreProhibited` panics about once per 50–60 closes). It now waits for the receive task to exit. Bench: 150 close/reconnect cycles with 0 panics.
- **Stays on while on USB power** (#194): the 10-minute power-save shutdown was only turned off on a battery-to-USB change, so a robot that booted on USB powered itself off 600 s after boot whenever the voice server was down. It now follows the power source from the first battery reading.
- **Servo reads no longer starve CPU 1** (#193): `SCSerial::readSCS` slept with `vTaskDelay(1 / portTICK_PERIOD_MS)`, which is `vTaskDelay(0)` at the 100 Hz tick, so polling a servo that didn't answer spun for minutes and set off the task watchdog every 10 s. It now blocks in the UART read until its timeout.
- **No power-off on a failed PMIC read**: an I2C timeout could make the power-button status read return `0xFF`, which looked like a long press and powered the robot off. Failed PMIC reads are now ignored, including in the register read-modify-writes.
- **No power-off on a failed PMIC read**: an I2C timeout could make the power-button status read return `0xFF`, which looked like a long press and powered the robot off. Failed PMIC reads are now ignored, including in the register read-modify-writes. First reported and fixed in BrettKinny/StackChan#2, thanks @0Downtime.
- **Security sweep runs reliably** (#166): the yaw sweep ran in its own task whose stack allocation was never checked and could fail under camera + AFE memory pressure. It now runs in the motion update loop.
- **Calm when the server is down** (#180): a stopped voice server is a normal resting state, not an error with an alert sound and growing retries. The robot now stays quietly offline and retries every 120 s.
- **Head pats**: light fingertip pats register (mid level for 100 ms instead of high for 150 ms; 8 of 10 pats on the bench, up from 4), and a failed touch-sensor read counts as no touch instead of repeating the last reading.
Expand Down
Loading