В ардуине новичек, поэтому если вопрос совсем простой - извиняйте. Гуглил, но ничего не нагуглилось...
Итак:
1. Есть либа IRremote, из скетча все работает на раз, компиляется опнятное дело тоже.
2. Есть другая либа, заточенная на управление кнопками подключонными прямо к портам - M2TKLIB, тоже все с ней понятно.
3. В моем проекте не хочется кнопок, хочется пультика, благо есть. Родил либе "event source", отключил встроенный дебаунсинг - стреляет.
Дальше захотелось добрых дел, послал сорец автору M2TKLIB, чтобы был выбор кнопки или пульт. Дядько подсуетился, прислал файлец, попросил подложить в директорит с либой - проверить.
Сосбтвенно проблема: не компиляется, ругается на инклюд IRremote.h. Происходи дело в обычных с или с++, разобрался бы без проблем. Но как arduino IDE зовет компилятор, что ему передает и можно ли переопределить опцайки - для меня пока темный лес... И скетча этот-же код понятно работает на раз.
Само файло:
PHP код:
/*
m2esarduinoir.c
m2tklib = Mini Interative Interface Toolkit Library
event source handler for IRremote library (arduino environment)
http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
m2tklib contributed code (issue 34)
*/
#include "m2.h"
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
uint8_t m2_es_arduino_ir(m2_p ep, uint8_t msg)
{
switch(msg)
{
case M2_ES_MSG_GET_KEY:
if (irrecv.decode(&results))
{
irrecv.resume(); // Receive the next value
switch(results.value)
{
case 0xFFC23D:
return M2_KEY_EVENT(M2_KEY_SELECT); /* the M2_KEY_EVENT() macro will */
case 0xFFB04F: /* disable the debounce algorithm */
return M2_KEY_EVENT(M2_KEY_EXIT);
case 0xFF02FD:
return M2_KEY_EVENT(M2_KEY_NEXT);
case 0xFF22DD:
return M2_KEY_EVENT(M2_KEY_PREV);
case 0xFF0000:
return M2_KEY_EVENT(M2_KEY_DATA_UP);
case 0xFF0001:
return M2_KEY_EVENT(M2_KEY_DATA_DOWN);
default:
return M2_KEY_NONE;
}
}
default:
return 0;
}
}
Собственно ошибки:
PHP код:
In file included from C:\ssw\arduino-0023\libraries\M2tklib\utility\m2esarduinoir.c:17:
C:\ssw\arduino-0023\libraries\IRremote/IRremote.h:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'decode_results'
C:\ssw\arduino-0023\libraries\IRremote/IRremote.h:44: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'IRrecv'
C:\ssw\arduino-0023\libraries\IRremote/IRremote.h:69: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'IRsend'
C:\ssw\arduino-0023\libraries\M2tklib\utility\m2esarduinoir.c:21: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'irrecv'
Зараннее спасибо