From 86956bcf997e127aeb6d26091a87e5c784f5766e Mon Sep 17 00:00:00 2001 From: DashyFox Date: Mon, 7 Sep 2026 17:07:22 +0300 Subject: [PATCH] =?UTF-8?q?fix(rx):=20=D1=82=D0=B0=D0=B9=D0=BC=D0=B0=D1=83?= =?UTF-8?q?=D1=82=20=D0=BA=D0=B0=D0=BD=D0=B4=D0=B8=D0=B4=D0=B0=D1=82=D0=B0?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B5=D0=B0=D0=BC=D0=B1=D1=83=D0=BB=D1=8B=203?= =?UTF-8?q?=C3=97=E2=86=921=C3=97=20IR=5Ftimeout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Кандидат без фронтов дольше таймаута байта преамбулой быть не может. При 3× (45 мс) rxLineActive() держал линию «занятой» после паразитных фронтов (засветка своим дальномером) и откладывал пинг машинки на ~30 мс сверх заданного гэпа. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01AeA1K5dBUKrnoXVwyoVjzq --- IR_config.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/IR_config.h b/IR_config.h index f0ab3f1..6997da5 100644 --- a/IR_config.h +++ b/IR_config.h @@ -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