mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2026-09-18 19:13:58 +00:00
fix(rx): таймаут кандидата преамбулы 3×→1× IR_timeout
Кандидат без фронтов дольше таймаута байта преамбулой быть не может. При 3× (45 мс) rxLineActive() держал линию «занятой» после паразитных фронтов (засветка своим дальномером) и откладывал пинг машинки на ~30 мс сверх заданного гэпа. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AeA1K5dBUKrnoXVwyoVjzq
This commit is contained in:
@ -231,9 +231,11 @@ typedef uint16_t crc_t;
|
||||
#ifndef IR_PREAMBLE_PERIOD_MAX_FACTOR_PCT
|
||||
#define IR_PREAMBLE_PERIOD_MAX_FACTOR_PCT 340U
|
||||
#endif
|
||||
/** Таймаут окна кандидата преамбулы: IR_timeout * mult. */
|
||||
/** Таймаут окна кандидата преамбулы: IR_timeout * mult. Кандидат без фронтов дольше таймаута байта
|
||||
преамбулой быть не может; при 3× линия считалась занятой (rxLineActive) ещё 45 мс после последнего
|
||||
паразитного фронта (напр. засветка своим дальномером) и откладывала передачу. */
|
||||
#ifndef IR_PREAMBLE_CANDIDATE_TIMEOUT_MULT
|
||||
#define IR_PREAMBLE_CANDIDATE_TIMEOUT_MULT 3U
|
||||
#define IR_PREAMBLE_CANDIDATE_TIMEOUT_MULT 1U
|
||||
#endif
|
||||
|
||||
#define preambPulse 3
|
||||
|
||||
Reference in New Issue
Block a user