Now that time constants are calculated more precisely, rc6 decoding is
not reliable as before. Mostly it fails in trailer states (4 and 5).
It turns out that epsilon is too big in those states. Consider
transition from RC6_TRAILER_N to RC6_DATA_P. Current epsilon calculation
makes epsilon in RC6_TRAILER_N the same size as the duration of pulse in
RC6_DATA_N. Obviously this means that RC6_TRAILER_N pulse may be eaten
and decoding fails.
Fix that by making idle state epsilon a bit larger, but keep epsilon at
half of time unit for all other states.
Tested on A64 (OrangePi Win) and H6 (OrangePi 3), with IR on osc24m and
osc32k.
Purpose
Now that time constants are calculated more precisely, rc6 decoding is not reliable as before. Mostly it fails in trailer states (4 and 5).
It turns out that epsilon is too big in those states. Consider transition from RC6_TRAILER_N to RC6_DATA_P. Current epsilon calculation makes epsilon in RC6_TRAILER_N the same size as the duration of pulse in RC6_DATA_N. Obviously this means that RC6_TRAILER_N pulse may be eaten and decoding fails.
Fix that by making idle state epsilon a bit larger, but keep epsilon at half of time unit for all other states.
Tested on A64 (OrangePi Win) and H6 (OrangePi 3), with IR on osc24m and osc32k.
Signed-off-by: Jernej Skrabec jernej.skrabec@siol.net
Closes #