Какие бы примеры из свежей библиотеки IRremoteESP8266 не использовал, при нажатии на любую кнопку пульта Philips выдаётся строго попеременно две команды. Например, на одной кнопке 182C и 102C поочередно, на другой 10 и 810. Это баг или фича? Мне что, в скетче писать OR? "Если 182C или 102C..."?
Вроде RC5, если верить. Вот три нажатия на одну и ту же кнопку. А вот uint32_t command не меняется и вроде у разных кнопок разная. Может, её использовать? Код (C++): Timestamp : 000136.006 Library : v2.8.4 Protocol : RC5X Code : 0x182B (13 Bits) uint16_t rawData[19] = {1784, 1790, 1758, 892, 872, 900, 872, 900, 874, 900, 872, 1798, 1758, 1790, 1758, 1790, 872, 902, 872}; // RC5X 182B uint32_t address = 0x0; uint32_t command = 0x6B; uint64_t data = 0x182B; Timestamp : 000138.301 Library : v2.8.4 Protocol : RC5X Code : 0x102B (13 Bits) uint16_t rawData[21] = {1784, 892, 874, 900, 874, 900, 874, 900, 874, 900, 872, 900, 874, 1798, 1758, 1766, 1782, 1790, 872, 900, 874}; // RC5X 102B uint32_t address = 0x0; uint32_t command = 0x6B; uint64_t data = 0x102B; Timestamp : 000140.218 Library : v2.8.4 Protocol : RC5X Code : 0x182B (13 Bits) uint16_t rawData[19] = {1786, 1788, 1760, 892, 874, 898, 874, 900, 874, 900, 874, 1776, 1780, 1788, 1758, 1788, 874, 900, 874}; // RC5X 182B uint32_t address = 0x0; uint32_t command = 0x6B; uint64_t data = 0x182B; Только в описании протокола пишется, что каждый пакет 14 bits. And each bit is 1.728ms wide.
В общем, я тут порыл и вроде как это абсолютно законно, что ТВ-пульт отправляет поочерёдно два сигнала. Типа чтобы реагировать на продолжительное нажатие, например, для увеличения громкости. Так что сделяль Код (C++): if (results.value == 4140 || results.value == 6188) и всё прекрасно работает.
В смысле, мозгов?! Шучу, я уже посмотрел, что это. Но вроде для использования раз в год как-то жалко покупать. Тут еще пробую из пульта, который умеет передавать все заученные команды на другой пульт ("обучение одной кнопкой"), считать с помощью IRremoteESP8266 rawData. Но она вашпе при каждой передаче разная. А других библиотек, работающих с ESP8266 + rawData вроде нет. Печаль. Хотя rawData - это примерно цифровое представление физических процессов , может, и так проканает.