e5ed029cfd
fix(ir-dma): __DSB() barriers before DMA arm and after circular refill ( #8 )
...
Перестраховка корректности (на M4F без D-кэша обычно не обязательно): завершить запись dmaBuf/BSRR до HAL_DMA_Start_IT и refill полубуфера до прохода циркулярного DMA.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-30 14:12:28 +03:00
55935b8b92
fix(ir-dma): volatile active + errorCount() observability; live poll() in longData example
...
- IrDmaTxStm32.h: TxStream::active -> volatile (делится поток<->ISR: busy()/poll()/колбэки/спин applyCarrierMultiply)
- IrDmaTxStm32.h: + volatile errors_ и errorCount(), инкремент в dmaErrorCb (наблюдаемость Transfer-Error)
- test_examples/longData: dmaBackend.poll() в loop, иначе watchdog завершения DMA мёртв в эталонном примере
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-30 12:25:36 +03:00
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
9935ac192a
Merge pull request #11 from Show-maket/fix-DMA-and-Analyzer
...
Fix dma and analyzer
2026-04-21 07:05:29 +00:00
8361828c44
tx error tracking and inline glitch filter
2026-04-21 10:00:46 +03:00
38d93edd1b
upd
2026-04-20 17:47:33 +03:00
2f5b57680b
Add documentation for IR TX modes in the library
2026-04-20 14:49:38 +03:00
31ac7a3625
Refactor IR decoder and encoder for improved pulse filtering and ISR handling. Removed unused filtered sub-buffer, updated pulse filter methods, and added support for buffered ISR storage in the encoder. Enhanced documentation for clarity on DMA TX backend and ISR modes.
2026-04-20 14:48:45 +03:00
b4f644c258
Align main with fix-DMA-and-Analyzer (encoder API, sketch, .gitignore)
...
Restore IR_SendResult + sendDataFULL, fix IR-protocol.ino, match .gitignore to analyzer branch.
Made-with: Cursor
2026-04-17 15:07:54 +03:00
a75fd0c564
Merge branch 'main' of https://github.com/Show-maket/IR-protocol
2026-04-17 14:31:32 +03:00
4061a4ed10
Merge pull request #10 from Show-maket/fix-DMA-and-Analyzer
...
Fix dma and analyzer
2026-04-17 11:29:56 +00:00
01a34ed3f7
Merge pull request #9 from Show-maket/opti-dma-enc-power
...
add brightness controll
2026-04-17 06:47:16 +00:00
d788358ac8
add brightness controll
2026-04-17 09:45:32 +03:00
8daff9c46a
fix timer overflow?
2026-04-15 11:00:48 +03:00
8631f23b53
fix overflow and mute
2026-04-14 09:36:27 +03:00
ad1e16cfda
common fsm
2026-04-13 14:45:38 +03:00
57f79b35c7
fix longPacket sync_bit
2026-04-13 14:44:18 +03:00
f8daa68381
analyzer debug
2026-04-13 10:29:39 +03:00
ddb8a9e143
Filters and stable
2026-04-08 16:11:10 +03:00
c29fe2cf7c
Analyzer
2026-04-07 15:08:02 +03:00
7651f07e0a
Analyzer plug
2026-04-07 13:25:55 +03:00
e7d7c0e1c1
dma fix priority and debug
2026-04-02 17:25:10 +03:00
af3e012aac
fix msgTypeReceive and isReceive
2026-03-30 13:34:04 +03:00
fc93ea41db
Merge pull request #8 from Show-maket/STM32
...
Stm32
2026-03-11 17:06:20 +03:00
0620d98e35
Merge branch 'main' into STM32
2026-03-11 17:06:06 +03:00
4caed06218
Merge pull request #7 from Show-maket/STM32DMA
...
upd
2026-03-11 16:59:08 +03:00
fc1a3bacef
upd
2026-03-11 16:57:55 +03:00
8a0d7f8dba
carrierPauseIfIdle/carrierResume
2026-02-06 16:06:23 +03:00
d1c84ba18a
no grammar fix
2025-10-17 17:28:01 +03:00
e9c568aed2
grammar fix
2025-10-17 17:25:09 +03:00
7bf71d1d52
calculateSendTime (need to fix)
2025-09-05 18:24:19 +03:00
38f3ecac3a
isBusy
2025-08-25 13:01:58 +03:00
dec8467280
max pack
2025-08-22 15:33:19 +03:00
bc9563fbb5
isReceive type
2025-05-23 11:43:51 +03:00
021e1e290d
fix isRX flag
2025-05-22 12:08:22 +03:00
89d14919c9
fix isRecive
2025-03-12 16:15:35 +03:00
403b8e6850
isRecive fix
2025-03-12 15:38:33 +03:00
d0c3138c52
Merge pull request #6 from Show-maket/STM32-opti-test
...
Stm32 opti test
2025-03-06 17:07:13 +03:00
2d839d3ff8
HardwareTimer auto set support
2025-03-06 17:05:37 +03:00
6ba8fdffe4
auto begin
2025-02-25 18:05:10 +03:00
aa0b478229
faster for each
2025-02-25 15:17:09 +03:00
277985f79a
update ir adress space
2025-01-30 16:17:45 +03:00
444b84c313
hide test prints
2025-01-28 17:43:46 +03:00
2db1ef7805
test
2025-01-28 12:59:53 +03:00
1353ab6f75
constexpr IR_ResponseDelay
2025-01-28 12:59:42 +03:00
d1cb167aaf
no define
2025-01-23 09:41:10 +03:00
30ad816c2a
fix redifinded
2025-01-22 17:31:14 +03:00
ecfb3b5f98
downgrade
2025-01-17 19:11:05 +03:00
70a22463ef
Merge pull request #5 from Show-maket/G431K-test
...
enable/disable update
2025-01-16 17:54:33 +03:00
71f58a4992
Revert "Update IR-protocol.ino"
...
This reverts commit 79bb804bb4 .
2025-01-16 17:53:05 +03:00