Go to the documentation of this file.
46 #define DECODE_PANASONIC 1
47 #define SEND_PANASONIC 1
52 #define DECODE_SAMSUNG 1
53 #define SEND_SAMSUNG 1
55 #define DECODE_WHYNTER 1
56 #define SEND_WHYNTER 1
58 #define DECODE_AIWA_RC_T501 1
59 #define SEND_AIWA_RC_T501 1
64 #define DECODE_SANYO 1
65 #define SEND_SANYO 0 // NOT WRITTEN
67 #define DECODE_MITSUBISHI 1
68 #define SEND_MITSUBISHI 0 // NOT WRITTEN
70 #define DECODE_DISH 0 // NOT WRITTEN
73 #define DECODE_SHARP 1
76 #define DECODE_SHARP_ALT 1
77 #define SEND_SHARP_ALT 1
79 #define DECODE_DENON 1
82 #define DECODE_PRONTO 0 // This function does not logically make sense
83 #define SEND_PRONTO 0 // Not tested yet
85 #define DECODE_LEGO_PF 0 // NOT WRITTEN
86 #define SEND_LEGO_PF 1
88 #define DECODE_BOSEWAVE 1
89 #define SEND_BOSEWAVE 1
91 #define DECODE_HASH 1 // special decoder for all protocols
103 #define PRONTO_ONCE false
104 #define PRONTO_REPEAT true
105 #define PRONTO_FALLBACK true
106 #define PRONTO_NOFALLBACK false
145 # define DBG_PRINT(...) Serial.print(__VA_ARGS__)
146 # define DBG_PRINTLN(...) Serial.println(__VA_ARGS__)
151 # define DBG_PRINT(...) void()
155 # define DBG_PRINTLN(...) void()
161 #define STR_HELPER(x) #x
162 #define STR(x) STR_HELPER(x)
167 int MATCH(
int measured,
int desired);
168 int MATCH_MARK(
int measured_ticks,
int desired_us);
169 int MATCH_SPACE(
int measured_ticks,
int desired_us);
188 #define REPEAT 0xFFFFFFFF
205 IRrecv(
int recvpin,
int blinkpin);
244 int compare(
unsigned int oldval,
unsigned int newval);
248 #if (DECODE_RC5 || DECODE_RC6)
252 int getRClevel(
decode_results *results,
unsigned int *offset,
int *used,
int t1);
290 #if DECODE_AIWA_RC_T501
302 #if DECODE_MITSUBISHI
335 #if defined(USE_SOFT_CARRIER) || defined(USE_NO_CARRIER)
346 void mark(
unsigned int usec);
347 void space(
unsigned int usec);
348 void sendRaw(
const unsigned int buf[],
unsigned int len,
unsigned int hz);
349 void sendRaw_P(
const unsigned int buf[],
unsigned int len,
unsigned int hz);
353 void sendRC5(
unsigned long data,
int nbits);
354 void sendRC5ext(
unsigned long addr,
unsigned long cmd,
boolean toggle);
357 void sendRC6(
unsigned long data,
int nbits);
361 void sendNEC(
unsigned long data,
int nbits);
365 void sendSony(
unsigned long data,
int nbits);
369 void sendPanasonic(
unsigned int address,
unsigned long data);
377 void sendJVC(
unsigned long data,
int nbits,
bool repeat);
388 #if SEND_AIWA_RC_T501
393 void sendLG(
unsigned long data,
int nbits);
401 void sendMitsubishi ( ) ;
405 void sendDISH(
unsigned long data,
int nbits);
410 void sendSharp(
unsigned int address,
unsigned int command);
414 void sendSharpAlt(
unsigned int address,
unsigned long command);
418 void sendDenon(
unsigned long data,
int nbits);
422 bool sendPronto(
char* code,
bool repeat,
bool fallback);
433 #if defined(USE_SOFT_CARRIER) || defined(USE_NO_CARRIER)
437 # if defined(USE_SOFT_CARRIER)
438 unsigned int periodTime;
439 unsigned int periodOnTime;
441 void sleepMicros(
unsigned long us);
442 void sleepUntilMicros(
unsigned long targetTime);
void resume()
Called to re-enable IR reception.
void disableIRIn()
Disable IR reception.
void enableIRIn()
Enable IR reception.
int MATCH(int measured, int desired)
Main class for receiving IR.
Results returned from the decoder.
void custom_delay_usec(unsigned long uSecs)
int MATCH_SPACE(int measured_ticks, int desired_us)
int bits
Number of bits in decoded value.
void sendRC5ext(unsigned long addr, unsigned long cmd, boolean toggle)
void sendNEC(unsigned long data, int nbits)
unsigned int address
Used by Panasonic & Sharp [16-bits].
volatile unsigned int * rawbuf
Raw intervals in 50uS ticks.
void mark(unsigned int usec)
Main class for sending IR.
void enableIROut(int khz)
void sendRC5(unsigned long data, int nbits)
void sendDenon(unsigned long data, int nbits)
void sendPanasonic(unsigned int address, unsigned long data)
decode_type_t decode_type
UNKNOWN, NEC, SONY, RC5, ...
void sendLegoPowerFunctions(uint16_t data, bool repeat=true)
decode_type_t
An enum consisting of all supported formats.
void sendSharpAlt(unsigned int address, unsigned long command)
void sendLG(unsigned long data, int nbits)
void sendRaw_P(const unsigned int buf[], unsigned int len, unsigned int hz)
void sendBoseWave(unsigned char code)
void sendJVC(unsigned long data, int nbits, bool repeat)
void sendRC6(unsigned long data, int nbits)
int decode(decode_results *results)
Attempt to decode the recently receive IR signal.
void sendDISH(unsigned long data, int nbits)
void sendSony(unsigned long data, int nbits)
void sendSharp(unsigned int address, unsigned int command)
void space(unsigned int usec)
IRsend(int pin=IR_SEND_PIN)
void sendWhynter(unsigned long data, int nbits)
IRrecv(int recvpin)
Instantiate the IRrecv class.
unsigned long value
Decoded value [max 32-bits].
void blink13(int blinkflag)
TODO: Why is this public???
int overflow
true if IR raw code too long
void sendAiwaRCT501(int code)
int MATCH_MARK(int measured_ticks, int desired_us)
void sendSharpRaw(unsigned long data, int nbits)
#define IR_SEND_PIN
If applicable, pin number for sending IR.
void sendSAMSUNG(unsigned long data, int nbits)
void sendSharpAltRaw(unsigned long data, int nbits)
unsigned int rawlen
Number of records in rawbuf.
bool isIdle()
Returns status of reception.
void sendRaw(const unsigned int buf[], unsigned int len, unsigned int hz)