diff --git a/IR_DecoderRaw.h b/IR_DecoderRaw.h index a574934..7408c8d 100644 --- a/IR_DecoderRaw.h +++ b/IR_DecoderRaw.h @@ -52,6 +52,14 @@ public: inline bool isOverflow() { return isBufferOverflow; }; // Буффер переполнился bool isSubOverflow(); volatile inline bool isReciving() { return isRecive; }; // Возвращает true, если происходит приём пакета + // Активность линии по СОСТОЯНИЮ (не по хардкод-длительности): кадр залочен ИЛИ формируется + // ВАЛИДНАЯ преамбула (>=1 совпавший по периоду фронт — отличает реальный кадр от одиночного + // шумового фронта, который лишь заводит Candidate, но не набирает goodPeriods). Для гейта заднего: + // «не стрелять, пока на линии идёт/формируется кадр (напр. ответ точки)». Аддитивно, const. + inline bool rxLineActive() const { + return isRecive || + (preambleState == PreambleState::Candidate && preambleGoodPeriods >= 1U); + } uint32_t pulseFilterDroppedByFilteredOverflow() const { return 0; } uint32_t pulseFilterDroppedByHoldOverflow() const { return pulseFilterDropHoldOverflow; } uint32_t pulseFilterDroppedGlitchPairs() const { return pulseFilterDropGlitchPairs; }