From 5b9f73ec7cfe8f1c89a27501fe1a7265243b61aa Mon Sep 17 00:00:00 2001 From: DashyFox Date: Mon, 7 Sep 2026 16:30:44 +0300 Subject: [PATCH] =?UTF-8?q?feat(config):=20irRxByteTimeoutUs/irRxAbortSile?= =?UTF-8?q?nceUs=20=E2=80=94=20=D1=82=D0=B0=D0=B9=D0=BC=D0=B0=D1=83=D1=82?= =?UTF-8?q?=20=D0=B1=D0=B0=D0=B9=D1=82=D0=B0=20=D0=B8=20=D1=82=D0=B8=D1=88?= =?UTF-8?q?=D0=B8=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80=D1=8B=D0=B2=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D1=91=D0=BC=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D1=83=D0=BB=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Константы использует Car (IrCycle/Executer) вместо макроса IR_timeout, который завязан на член класса декодера. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01AeA1K5dBUKrnoXVwyoVjzq --- IR_config.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/IR_config.h b/IR_config.h index 223a209..f0ab3f1 100644 --- a/IR_config.h +++ b/IR_config.h @@ -281,6 +281,9 @@ constexpr uint32_t irFrameDecodeEndUs(uint8_t packSize) { return irTicksToUs(irP constexpr uint32_t irLockToDecodeEndUs(uint8_t packSize) { return irTicksToUs(irPreambleTicks - irLockTicks + (uint32_t)packSize * irByteTicks - (uint32_t)syncBits * irBitTicks); } /// Латентность лока: от первой несущей чужого кадра до лока декодера, мкс. constexpr uint32_t irLockLatencyUs = irTicksToUs(irLockTicks); +/// Таймаут байта декодера (как IR_timeout при номинальном bitTime) и тишина, по которой декодер обрывает приём. +constexpr uint32_t irRxByteTimeoutUs = ((uint32_t)bitTime + tolerance) * ((uint32_t)bitPerByte + syncBits + 1U); +constexpr uint32_t irRxAbortSilenceUs = 2U * irRxByteTimeoutUs; /// Протокольный максимум длины кадра (5-битное поле длины). constexpr uint8_t irMaxPackSize = IR_MASK_MSG_INFO; /// Размер кадра по полезной нагрузке: DATA (from+to) и BACK (только from).