mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2026-09-18 19:13:58 +00:00
feat(rx): rxLineActive() — признак «идёт валидный приём» по СОСТОЯНИЮ
Декодер уже знает состояние приёма (isReciving=локнут; preambleState Idle/ Candidate/Locked). rxLineActive() = локнут ИЛИ формируется ВАЛИДНАЯ преамбула (>=1 совпавший по периоду фронт — отличает реальный кадр от одиночного шумового фронта, который лишь заводит Candidate, но не набирает goodPeriods). Для гейта заднего у машинки: не стрелять, пока на линии идёт/формируется ответ точки — решение по состоянию, а не по хардкод-длительности (Даша 04.09). Аддитивно, const. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J3Ca6J2JJ1NrptqQjKs8BK
This commit is contained in:
@ -52,6 +52,14 @@ public:
|
|||||||
inline bool isOverflow() { return isBufferOverflow; }; // Буффер переполнился
|
inline bool isOverflow() { return isBufferOverflow; }; // Буффер переполнился
|
||||||
bool isSubOverflow();
|
bool isSubOverflow();
|
||||||
volatile inline bool isReciving() { return isRecive; }; // Возвращает true, если происходит приём пакета
|
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 pulseFilterDroppedByFilteredOverflow() const { return 0; }
|
||||||
uint32_t pulseFilterDroppedByHoldOverflow() const { return pulseFilterDropHoldOverflow; }
|
uint32_t pulseFilterDroppedByHoldOverflow() const { return pulseFilterDropHoldOverflow; }
|
||||||
uint32_t pulseFilterDroppedGlitchPairs() const { return pulseFilterDropGlitchPairs; }
|
uint32_t pulseFilterDroppedGlitchPairs() const { return pulseFilterDropGlitchPairs; }
|
||||||
|
|||||||
Reference in New Issue
Block a user