bf14b3d7ad
fix(rx/tx): B5 pop-by-value, B6 ISR micros mask, B7 crc parens, B10 div guard, send length validation
...
B5 (MEDIUM): RingBuffer::pop(T&) копирует под одной критсекцией; tick() перешёл на неё → нет торн-рида (внутренний interrupts() в T* pop снимал внешнюю защиту до чтения *ptr). T* pop() оставлен (не используется).
B6 (MEDIUM): убрана лишняя noInterrupts/interrupts вокруг micros() в EXTI-ISR (снимала PRIMASK посреди ISR). std::function-диспетчеризация attachInterrupt — структурна, не трогаю.
B7 (LOW): скобки в crcCheck (== & 0xFF по приоритету).
B10 (LOW): guard деления на 0 в ceil_div (актуально только при freeFrec — НЕ включаю).
send: sendDataFULL — валидация полного packSize<=31 (было len>bytePerPack=31, packSize=7+len оборачивался → тихая потеря Data payload 25..31).
B8 (isSubBufferOverflow) — уже volatile, потеря флага безвредна (диагностика), не трогаю. B9 (prevRise==0 при micros()==0) — уже обработан веткой в preambleProcessEdge, намеренно.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-01 13:38:51 +03:00
8361828c44
tx error tracking and inline glitch filter
2026-04-21 10:00:46 +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
d788358ac8
add brightness controll
2026-04-17 09:45:32 +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
af3e012aac
fix msgTypeReceive and isReceive
2026-03-30 13:34:04 +03:00
fc1a3bacef
upd
2026-03-11 16:57:55 +03:00
8a0d7f8dba
carrierPauseIfIdle/carrierResume
2026-02-06 16:06:23 +03:00
7bf71d1d52
calculateSendTime (need to fix)
2025-09-05 18:24:19 +03:00
dec8467280
max pack
2025-08-22 15:33:19 +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
444b84c313
hide test prints
2025-01-28 17:43:46 +03:00
2db1ef7805
test
2025-01-28 12:59:53 +03:00
ecfb3b5f98
downgrade
2025-01-17 19:11:05 +03:00
b6b9d2c820
enable/disable fix
2025-01-16 17:51:21 +03:00
0471b8cc89
begin()
2025-01-16 16:58:33 +03:00
90c41cfe2b
ambigious fix
2025-01-09 09:32:14 +03:00
1ecc33e9c4
hotfix
2024-12-25 17:13:28 +03:00
7ef8158a00
upd
2024-12-25 17:07:47 +03:00
7c9529d42f
enable-disable func
2024-08-29 16:46:40 +03:00
04af094f4b
opti
2024-08-29 14:25:09 +03:00
2f4ac3ddf8
no default construct
2024-08-29 14:14:46 +03:00
784365181e
default constructor and operator() for test
2024-08-28 18:00:18 +03:00
c66d47e464
info
2024-07-08 17:14:49 +03:00
373cd43b73
opti
2024-04-24 10:35:55 +03:00
e951111c53
refactor
2024-04-23 13:35:49 +03:00
e334625864
STM works
2024-04-22 11:20:53 +03:00
27a5b28a17
STM First Test
2024-04-16 15:52:59 +03:00
886f8ab360
sendBack(uint8_t data)
2024-03-18 11:37:36 +03:00
8d0f45ddf1
formatting
2024-03-15 16:08:06 +03:00
9b2895ed7d
Clean
2024-03-04 15:02:04 +03:00
eac364b0d3
add simple sendData
2024-02-29 12:34:38 +03:00
4fd4983bb9
add default params
2024-02-28 13:13:04 +03:00
cb1664bb4f
add nullptr protect
2024-02-28 13:11:29 +03:00
22f7cd68ca
removed unused parametr
2024-02-28 09:43:59 +03:00
9af3e95ec8
add customByte to Accept
2024-02-27 12:29:00 +03:00
9643237465
add Accept logic
2024-02-27 11:38:23 +03:00
4d92acf15b
non virtual
2024-02-27 10:28:20 +03:00
e35bf7ae23
refactor
2024-02-22 16:52:55 +03:00
6f5bbac83c
refactor
2024-02-22 14:01:27 +03:00
686f2a7ffe
fix Accept
2024-02-21 17:08:53 +03:00
ff7b5dcaa4
add back
2024-02-20 15:00:42 +03:00
b517e4e6ad
debug startRX and m
2024-02-15 16:50:21 +03:00
408fea84ac
no template
2024-02-14 17:51:28 +03:00
882bd56d49
test 8Mhz fail
2024-02-14 17:19:53 +03:00
d065c7a037
ErrorFix
2024-02-13 15:18:45 +03:00
1ee3386c31
fix multiBlind
2024-02-13 14:33:17 +03:00