DashyFox 7176fe5321 fix(ir-dma): eliminate isSending latch — free-running TIM, completion watchdog, busy() OR
C: remove racy activeCount_ + shared-timer gating; TIM17 free-running, per-stream DMA arming only (HAL_DMA_Start_IT/Abort_IT). Sets active before arming; never stops TIM on a shared counter.

D: poll() watchdog detects ticksOutput stall (>=stallTimeoutMs_, default 100ms) and forceStop()s the stuck stream under a per-channel NVIC mask; recoveryCount()/setStallTimeoutMs() accessors. dmaErrorCb now checks !active for symmetric single-stop.

E: busy() now returns true if ANY stream active (was AND) — honest contract for irAnyTxBusy()/carrier retune; does not serialize the send path.

Bug: IR TX rarely latched (LED frozen on/off) because stopStream was reachable only from the DMA HT/CPLT IRQ. Hardware bring-up (logic analyzer, recoveryCount telemetry) pending.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 15:26:52 +03:00
2026-04-13 14:44:18 +03:00
2026-04-15 11:00:48 +03:00
2026-04-15 11:00:48 +03:00
2026-04-07 13:25:55 +03:00
2025-01-16 17:51:21 +03:00
upd
2026-04-20 17:47:33 +03:00
2026-04-02 17:25:10 +03:00
2026-04-02 17:25:10 +03:00
2026-04-17 09:45:32 +03:00
2026-04-17 09:45:32 +03:00
2024-04-23 13:35:49 +03:00
2026-04-02 17:25:10 +03:00
2026-04-14 09:36:27 +03:00
Description
No description provided
7.9 MiB
Languages
C++ 79.2%
Python 18.2%
CMake 1.6%
Batchfile 1%