First attempt to implement RC6 Protocol
[pierogi] / rc6protocol.h
1 #ifndef RC6PROTOCOL_H
2 #define RC6PROTOCOL_H
3
4 #include "pirprotocol.h"
5 #include "pirrx51hardware.h"
6
7 //
8 // The RC6 protocol is a much fancier, much more complex successor to the
9 // RC5 protocol.  The following code does not come close to supporting
10 // all the possible permutations of this protocol!
11 //
12
13 class RC6Protocol: public PIRProtocol
14 {
15 public:
16   RC6Protocol(
17     QObject *guiObject,
18     unsigned int index,
19     unsigned int eightBitControl);
20
21 public slots:
22   void startSendingCommand(
23     unsigned int threadableID,
24     PIRKeyName command);
25
26 protected:
27   unsigned int biphaseUnit;
28
29 private:
30   int pushBits(
31     const CommandSequence &bits,
32     PIRRX51Hardware &device);
33
34   unsigned int buffer;
35   int keypressCount;
36
37   bool bufferContainsSpace;
38   bool bufferContainsPulse;
39 };
40
41 #endif // RC6PROTOCOL_H