Итак, имеем
Икар 12 версии
плагин 5 версии
CDM версии 2 08 14 (обновился 2.08.23b)
дунио подключенное только по юсб.
скетч от чипа
Код:
// http://compcar.ru
#include <IRremote.h>
byte bytes[4];
int RECV_PIN = 11; //вход ИК приемника
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long ir_dt, old_ir;
void setup()
{
Serial.begin(115200);
irrecv.enableIRIn(); // включить приемник
}
void loop() {
if (irrecv.decode(&results))
{
if (results.value > 0 && results.value < 0xFFFFFFFF)
{
ir_dt = results.value;
bytes[0] = ir_dt & 0xFF; // преобразовать в 4-байта
bytes[1] = (ir_dt & 0xFF00) >> 8;
bytes[2] = (ir_dt & 0xFF0000) >> 16;
bytes[3] = (ir_dt & 0xFF000000) >> 24;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
if (old_ir == ir_dt){delay(250);} //Пауза между короткими нажатиями
else {delay(500);}// Пауза после первого нажатия и удержания(перед повторами)
old_ir = ir_dt;
}
if (results.value == 0xFFFFFFFF )
{
delay(120); //пауза между повторами
Serial.write( bytes,4);
}
irrecv.resume();
}
}
Поэкспериментировал сегодня.
1. Запущена программа от чипа IRKey.exe и икар. Уходим в сон, 5 циклов полет нормальный,пульт после сна в икаре всегда работал.
2. Выгружаю IRKey.exe запускаю икар с загруженным плагином, закрываю икар,ухожу в сон,выхожу из сна, запускаю икар-пульт работает, проделал так тоже 5 раз.
3. Запускаю икар с плагином,ухожу в сон, выхожу из сна, и тут либо пульт работает (обычно только после 1 ухода в сон, после 2,3 ухода стабильно не работает),либо икар виснет намертво,либо икар работает,но пульт не работает. В том случае, если икар возобновился после сна,но без пульта, для проверки порта закрываю икар, запускаю IRKey.exe, его иконка в трее перечеркнутая, на нажатия кнопок не реагирует. В диспетчере устройств устройство есть и работает нормально. Помогает только перезагрузка винды.
Пробовал заливать скетч из этой темы,результат тот же.
Такое ощущение что плагину не хватает какой-то задержки опроса порта или наоборот. имхо.