merging 110

This commit is contained in:
Joshua Noble
2015-03-15 13:28:46 -07:00
3 changed files with 147 additions and 8 deletions

View File

@@ -39,6 +39,20 @@ public:
int rawlen; // Number of records in rawbuf.
};
// Send types
#define IRsendNEC
#define IRsendSONY
#define IRsendRC5
#define IRsendRC6
#define IRsendDISH
#define IRsendSHARP
#define IRsendPANASONIC
#define IRsendJVC
#define IRsendSANYO
#define IRsendMITSUBISHI
#define IRsendSAMSUNG
#define IRsendRAW
// Values for decode_type
#define NEC 1
#define SONY 2
@@ -71,18 +85,45 @@ public:
private:
// These are called by decode
int getRClevel(decode_results *results, int *offset, int *used, int t1);
#ifdef NEC
long decodeNEC(decode_results *results);
#endif
#ifdef SONY
long decodeSony(decode_results *results);
#endif
#ifdef SANYO
long decodeSanyo(decode_results *results);
#endif
#ifdef MITSUBISHI
long decodeMitsubishi(decode_results *results);
#endif
#ifdef RC5
long decodeRC5(decode_results *results);
#endif
#ifdef RC6
long decodeRC6(decode_results *results);
#endif
#ifdef PANASONIC
long decodePanasonic(decode_results *results);
#endif
#ifdef LG
long decodeLG(decode_results *results);
#endif
#ifdef JVC
long decodeJVC(decode_results *results);
#endif
#ifdef SAMSUNG
long decodeSAMSUNG(decode_results *results);
#endif
#ifdef WHYNTER
long decodeWhynter(decode_results *results);
#endif
#ifdef AIWA_RC_T501
long decodeAiwaRCT501(decode_results *results);
#endif
long decodeHash(decode_results *results);
int compare(unsigned int oldval, unsigned int newval);
@@ -99,23 +140,44 @@ class IRsend
{
public:
IRsend() {}
void sendRaw(unsigned int buf[], int len, int hz);
void sendRC5(unsigned long data, int nbits);
void sendRC6(unsigned long data, int nbits);
#ifdef WHYNTER
void sendWhynter(unsigned long data, int nbits);
#endif
#ifdef NEC
void sendNEC(unsigned long data, int nbits);
#endif
#ifdef SONY
void sendSony(unsigned long data, int nbits);
// Neither Sanyo nor Mitsubishi send is implemented yet
// void sendSanyo(unsigned long data, int nbits);
// void sendMitsubishi(unsigned long data, int nbits);
void sendRaw(unsigned int buf[], int len, int hz);
void sendRC5(unsigned long data, int nbits);
void sendRC6(unsigned long data, int nbits);
#endif
#ifdef DISH
void sendDISH(unsigned long data, int nbits);
#endif
#ifdef SHARP
void sendSharp(unsigned int address, unsigned int command);
void sendSharpRaw(unsigned long data, int nbits);
#endif
#ifdef IRsendSHARP
void sendSharp(unsigned long data, int nbits);
#endif
#ifdef PANASONIC
void sendPanasonic(unsigned int address, unsigned long data);
#endif
#ifdef JVC
void sendJVC(unsigned long data, int nbits, int repeat); // *Note instead of sending the REPEAT constant if you want the JVC repeat signal sent, send the original code value and change the repeat argument from 0 to 1. JVC protocol repeats by skipping the header NOT by sending a separate code value like NEC does.
void sendAiwaRCT501(int code);
// private:
#endif
#ifdef SAMSUNG
void sendSAMSUNG(unsigned long data, int nbits);
#endif
void enableIROut(int khz);
VIRTUAL void mark(int usec);
VIRTUAL void space(int usec);