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).