Abbreviated (Panasonic) address handling

This commit is contained in:
Bluechip
2015-06-20 18:27:10 +01:00
parent 8afb3e73a6
commit 5e7a1c1f12
2 changed files with 38 additions and 33 deletions

View File

@@ -69,7 +69,10 @@ int MATCH (int measured, int desired) ;
// #define TEST // #define TEST
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
enum decode_type_t { // An enumerated list of all supported formats
//
typedef
enum {
UNKNOWN = -1, UNKNOWN = -1,
UNUSED = 0, UNUSED = 0,
NEC = 1, NEC = 1,
@@ -86,25 +89,27 @@ enum decode_type_t {
LG = 12, LG = 12,
WHYNTER = 13, WHYNTER = 13,
AIWA_RC_T501 = 14, AIWA_RC_T501 = 14,
}; }
decode_type_t;
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// Results returned from the decoder // Results returned from the decoder
class decode_results { //
public: class decode_results
decode_type_t decode_type; // NEC, SONY, RC5, UNKNOWN {
union { // This is used for decoding Panasonic and Sharp data public:
unsigned int panasonicAddress; decode_type_t decode_type; // UNKNOWN, NEC, SONY, RC5, ...
unsigned int sharpAddress; unsigned int address; // Used by Panasonic & Sharp
};
unsigned long value; // Decoded value unsigned long value; // Decoded value
int bits; // Number of bits in decoded value int bits; // Number of bits in decoded value
volatile unsigned int *rawbuf; // Raw intervals in .5 us ticks volatile unsigned int *rawbuf; // Raw intervals in 50uS ticks
int rawlen; // Number of records in rawbuf. int rawlen; // Number of records in rawbuf.
int overflow; // true iff IR raw code too long
}; };
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// Decoded value for NEC when a repeat code is received // Decoded value for NEC when a repeat code is received
//
#define REPEAT 0xffffffff #define REPEAT 0xffffffff
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@@ -70,7 +70,7 @@ long IRrecv::decodePanasonic (decode_results *results)
} }
results->value = (unsigned long)data; results->value = (unsigned long)data;
results->panasonicAddress = (unsigned int)(data >> 32); results->address = (unsigned int)(data >> 32);
results->decode_type = PANASONIC; results->decode_type = PANASONIC;
results->bits = PANASONIC_BITS; results->bits = PANASONIC_BITS;