Advanced Settings Panel
[pierogi] / protocols / kathreinprotocol.h
1 #ifndef KATHREINPROTOCOL_H
2 #define KATHREINPROTOCOL_H
3
4 #include "spaceprotocol.h"
5
6 class PIRRX51Hardware;
7
8 //
9 // The Kathrein 24-bit protocol shares some features with the NEC protocol
10 // (space encoded, LSB order, sends complement of device and command codes),
11 // but has only a 4-bit address code, and uses a unique repeat mechanism.
12 //
13
14 class KathreinProtocol: public SpaceProtocol
15 {
16 public:
17   KathreinProtocol(
18     QObject *guiObject,
19     unsigned int index);
20
21 public slots:
22   void startSendingCommand(
23     unsigned int threadableID,
24     PIRKeyName command);
25
26 private:
27   int generateStandardCommand(
28     const PIRKeyBits &bits,
29     PIRRX51Hardware &device);
30
31   int generateRepeatCommand(
32     const PIRKeyBits &bits,
33     PIRRX51Hardware &device);
34 };
35
36 #endif // KATHREINPROTOCOL_H