X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=rf433ctl%2FIRremote%2Fexamples%2FIRrecvDump%2FIRrecvDump.pde;fp=rf433ctl%2FIRremote%2Fexamples%2FIRrecvDump%2FIRrecvDump.pde;h=ad3c5998b5823f9812d16fa29dc759e497ec5b11;hb=25c188a6f7e81250f91e224896d6a6d290f04643;hp=0000000000000000000000000000000000000000;hpb=86dafe8dc1d319aa5b9b0cc4afb7753d330c4a9d;p=svn42.git diff --git a/rf433ctl/IRremote/examples/IRrecvDump/IRrecvDump.pde b/rf433ctl/IRremote/examples/IRrecvDump/IRrecvDump.pde new file mode 100644 index 0000000..ad3c599 --- /dev/null +++ b/rf433ctl/IRremote/examples/IRrecvDump/IRrecvDump.pde @@ -0,0 +1,74 @@ +/* + * IRremote: IRrecvDump - dump details of IR codes with IRrecv + * An IR detector/demodulator must be connected to the input RECV_PIN. + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + */ + +#include + +int RECV_PIN = 11; + +IRrecv irrecv(RECV_PIN); + +decode_results results; + +void setup() +{ + Serial.begin(9600); + irrecv.enableIRIn(); // Start the receiver +} + +// Dumps out the decode_results structure. +// Call this after IRrecv::decode() +// void * to work around compiler issue +//void dump(void *v) { +// decode_results *results = (decode_results *)v +void dump(decode_results *results) { + int count = results->rawlen; + if (results->decode_type == UNKNOWN) { + Serial.println("Could not decode message"); + } + else { + if (results->decode_type == NEC) { + Serial.print("Decoded NEC: "); + } + else if (results->decode_type == SONY) { + Serial.print("Decoded SONY: "); + } + else if (results->decode_type == RC5) { + Serial.print("Decoded RC5: "); + } + else if (results->decode_type == RC6) { + Serial.print("Decoded RC6: "); + } + Serial.print(results->value, HEX); + Serial.print(" ("); + Serial.print(results->bits, DEC); + Serial.println(" bits)"); + } + Serial.print("Raw ("); + Serial.print(count, DEC); + Serial.print("): "); + + for (int i = 0; i < count; i++) { + if ((i % 2) == 1) { + Serial.print(results->rawbuf[i]*USECPERTICK, DEC); + } + else { + Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC); + } + Serial.print(" "); + } + Serial.println(""); +} + + +void loop() { + if (irrecv.decode(&results)) { + Serial.println(results.value, HEX); + dump(&results); + irrecv.resume(); // Receive the next value + } +}