1 #ifndef SHARPPROTOCOL_H
2 #define SHARPPROTOCOL_H
4 #include "spaceprotocol.h"
9 // Sharp has its own protocol. It is "space-encoded", like the popular NEC
10 // protocol (i.e., a 1 takes longer to transmit than a 0), but differs in
11 // several ways. Most notably, the entire command section of the pulse
12 // train is inverted for each odd-numbered repetition. Also, there is no
16 class SharpProtocol: public SpaceProtocol
25 void startSendingCommand(
26 unsigned int threadableID,
30 // An "expansion bit". Not sure what this is, but Sharp seems to leave it
31 // at 1, and Denon usually sets it to 0.
34 int generateStandardCommand(
35 const PIRKeyBits &pkb,
36 PIRRX51Hardware &device);
38 int generateToggledCommand(
39 const PIRKeyBits &pkb,
40 PIRRX51Hardware &device);
43 #endif // SHARPPROTOCOL_H