Advanced Settings Panel
[pierogi] / protocols / rcaprotocol.h
1 #ifndef RCAPROTOCOL_H
2 #define RCAPROTOCOL_H
3
4 #include "spaceprotocol.h"
5
6 class PIRRX51Hardware;
7
8 //
9 // Although it is hard to find solid data on the RCA protocol, it seems
10 // fairly simple; it is really not that much different than the standard NEC
11 // protocol.  It differs in having only 4 bits of address, a different-sized
12 // header, it lays out the bits MSB first rather than LSB first, and it lays
13 // out both the address and the command before inverting both the address
14 // and command.
15 //
16
17 class RCAProtocol: public SpaceProtocol
18 {
19 public:
20   RCAProtocol(
21     QObject *guiObject,
22     unsigned int index);
23
24 public slots:
25   void startSendingCommand(
26     unsigned int threadableID,
27     PIRKeyName command);
28
29 private:
30   int generateStandardCommand(
31     const PIRKeyBits &bits,
32     PIRRX51Hardware &device);
33 };
34
35 #endif // RCAPROTOCOL_H