You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Есть проблема с пультом от ресивера Yamaha. Протокол передачи Nec. С частью кнопок проблем нет, т.к. их коды не выходят за пределы максимально возможного целого числа(0х7fffffff) для 32 битной переменной. Но есть кнопки с кодами, которые преодолевают этот предел в 2 раза (например: 0хFE80DA24). При отправке таких кодов с esp8266 всегда на выходе получим код - 0x7fffffff.
Отсюда вопрос? Есть ли в вашей прошивке возможность использовать SendRaw() из библиотеки irremote, не прибегая к ковыряниям в исходниках? Иначе проще будет подправить SendNec и перекомпмлировать прошивку.
The text was updated successfully, but these errors were encountered:
Отвечу сам себе.
Функция SendRaw() не задействована в вашей прошивке. Пришлось всё же заглянуть в исходный код. Что касается предела в "0x7fffffff", - оказалось библиотека irremote не причём. Проблема была в 21 строчке скетча IR.ino. Необходимо в присвоении переменной "code" сменить функцию "strtol()" (string to long) на "strtoul()" (string to unsigned long). Эта замена позволит работать только с беззнаковыми целыми числами и расширит диапазон до заветных "0xffffffff".
Есть проблема с пультом от ресивера Yamaha. Протокол передачи Nec. С частью кнопок проблем нет, т.к. их коды не выходят за пределы максимально возможного целого числа(0х7fffffff) для 32 битной переменной. Но есть кнопки с кодами, которые преодолевают этот предел в 2 раза (например: 0хFE80DA24). При отправке таких кодов с esp8266 всегда на выходе получим код - 0x7fffffff.
Отсюда вопрос? Есть ли в вашей прошивке возможность использовать SendRaw() из библиотеки irremote, не прибегая к ковыряниям в исходниках? Иначе проще будет подправить SendNec и перекомпмлировать прошивку.
The text was updated successfully, but these errors were encountered: