Идея почерпнута у Гайвера: https://github.com/GyverLibs/NecDecoder
Библиотека реализована для работы на CH32V003 без Arduino-framework. Поскольку куча пультов поддерживает протокол NEC не полностью, в библиотеке реализован подход: сигнал принимается как есть, а проверки корректности пакета выполняются на прикладном уровне в зависимости от конкретного используемого пульта.
Для этого в библиотеке есть необходимые функции: проверка четности, корректность адреса, корректность команды.
Временные параметры сигнала используем NEC.
Особенности:
- функция receive() должна вызываться в прерывании от входного сигнала c IR-приемника.
- для расчета длительности импульсов используется функция micros() из библиотеки SysClock.
- режим повтора не реализован (ни разу не потребовался).