mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2026-04-28 03:08:08 +00:00
Filters and stable
This commit is contained in:
48
IR_config.h
48
IR_config.h
@ -154,6 +154,54 @@ typedef uint16_t crc_t;
|
||||
#define subBufferSize 250 // Буфер для складирования фронтов, пока их не обработают (передатчик)
|
||||
#endif
|
||||
|
||||
/** Минимальная длительность удержания уровня (мкс): короче — импульс/пара фронтов выкидывается до tick()
|
||||
* (иголки на плато, дребезг). 0 — фильтр выключен, фронты идут в декодер как с ISR. */
|
||||
#ifndef IR_INPUT_MIN_PULSE_US
|
||||
#define IR_INPUT_MIN_PULSE_US 0
|
||||
#endif
|
||||
/** Сколько подтверждённых фронтов держать перед выпуском в декодер (потоковая задержка). */
|
||||
#ifndef IR_INPUT_FILTER_HOLDBACK_EDGES
|
||||
#define IR_INPUT_FILTER_HOLDBACK_EDGES 3U
|
||||
#endif
|
||||
/** Если новых фронтов нет, через minPulse*mult держатель принудительно сбрасывается в декодер. */
|
||||
#ifndef IR_INPUT_FILTER_TIMEOUT_MULT
|
||||
#define IR_INPUT_FILTER_TIMEOUT_MULT 5U
|
||||
#endif
|
||||
|
||||
/** Синхронно с IrFoxProtocolConstants.h / IrFoxDecoder (плагин Saleae). */
|
||||
#ifndef IR_SHORT_LOW_GLITCH_REJECT
|
||||
#define IR_SHORT_LOW_GLITCH_REJECT 1
|
||||
#endif
|
||||
#ifndef IR_GLITCH_REJECT_PHASE_NUDGE
|
||||
#define IR_GLITCH_REJECT_PHASE_NUDGE 1
|
||||
#endif
|
||||
#ifndef IR_MICRO_GAP_RISE_REJECT
|
||||
#define IR_MICRO_GAP_RISE_REJECT 1
|
||||
#endif
|
||||
/** Лок преамбулы: сколько одинаковых подряд периодов подъёма нужно для старта кадра. */
|
||||
#ifndef IR_PREAMBLE_LOCK_RISE_PERIODS
|
||||
#define IR_PREAMBLE_LOCK_RISE_PERIODS 2U
|
||||
#endif
|
||||
/** Допуск одинаковости периода преамбулы (проценты) + минимальная абсолютная полка в мкс. */
|
||||
#ifndef IR_PREAMBLE_JITTER_PCT
|
||||
#define IR_PREAMBLE_JITTER_PCT 18U
|
||||
#endif
|
||||
#ifndef IR_PREAMBLE_JITTER_US_MIN
|
||||
#define IR_PREAMBLE_JITTER_US_MIN 80U
|
||||
#endif
|
||||
/** Грубое окно валидности периода преамбулы RISE->RISE (в процентах от bitTime).
|
||||
* Для текущего протокола преамбула заметно длиннее обычного битового периода. */
|
||||
#ifndef IR_PREAMBLE_PERIOD_MIN_FACTOR_PCT
|
||||
#define IR_PREAMBLE_PERIOD_MIN_FACTOR_PCT 220U
|
||||
#endif
|
||||
#ifndef IR_PREAMBLE_PERIOD_MAX_FACTOR_PCT
|
||||
#define IR_PREAMBLE_PERIOD_MAX_FACTOR_PCT 340U
|
||||
#endif
|
||||
/** Таймаут окна кандидата преамбулы: IR_timeout * mult. */
|
||||
#ifndef IR_PREAMBLE_CANDIDATE_TIMEOUT_MULT
|
||||
#define IR_PREAMBLE_CANDIDATE_TIMEOUT_MULT 3U
|
||||
#endif
|
||||
|
||||
#define preambPulse 3
|
||||
|
||||
#define disablePairDec false // Отключать парный приёмник, возможны баги, используйте setBlindDecoders()
|
||||
|
||||
Reference in New Issue
Block a user