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