NecDecoder ИК управление с пульта

Apolisk

✩✩✩✩✩✩✩
22 Янв 2022
1
0
Добрый день, возник вопрос, по теме NecDecoder ИК управление с пульта. Почему вывод команды осушествляеться именно в HEX(ir.readPacket(), HEX), если можно ловить просто команду ( ir.readPacket()) Что так, что так, все отлично работает, это влияет как-то на быстродействие?
 

Michael_074

✩✩✩✩✩✩✩
16 Дек 2021
8
0
Доброго! А как бы адаптировать сие под FreeRTOS?
Вот здесь человек в прерывании измеряет время и посылает в очередь
А как он дальше декодирует у меня разобраться интеллекта не хватает.
И еще у него в примере не вижу полного кода ИК-посылки, только биты.
Какие идеи?
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
540
Saint-Petersburg, Russia
это концептуальный пример а не полноценный декодер. Там просто измеряется время между сменой фронтов импульсов. Никакого декодирования не происходит.
 

Michael_074

✩✩✩✩✩✩✩
16 Дек 2021
8
0
Понятно!
А если переписать void NecDecoder::tick(), не будет ли это нарушением авторских прав? Любитель я, в лицензиях не разбираюсь.
Когда передаю в модифицированный void NecDecoder::tick(uint32_t) время полученное из концептуального примера и использую
только алгоритм декодирования - то все работает в соответствии с идеологией freertos.
Можно так делать ?
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
540
Saint-Petersburg, Russia
да можно, почему, нет. Ну а смысл изобретать велосипед? Всяких библиотек под ИР навалом, берите любую, доработайте если что-то неустраивает.
Писать заново декодер смысла нет.
 

Michael_074

✩✩✩✩✩✩✩
16 Дек 2021
8
0
Да, либов полно. Но не нашел ни одну готовую ИР библиотеку именно под FreeRTOS. А сейчас все получается красиво, есть чувство удовлетворения.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
540
Saint-Petersburg, Russia
в примере не совсем удачный алгоритм именно для работы с ИК, он рабочий, но излишне громоздкий.
Зачем вам знать точное время между фронтами импульсов в виде 64х битного числа каждое когда можно замерять состояние пина кратно известному фиксированному интервалу и хранить результат всего в одном бите? Вычислений интервалов по времени тоже будет заметно больше чем посчитать число единичек и нулей в массиве.
Как концептуальный пример это интересно, но практически о того что там просто дергается очередь ртос накладных расходов будет намного больше. Возмите готовую IRremoteESP8266 и лучше изучите как она работает.