Advanced Settings Panel
[pierogi] / protocols / spaceprotocol.h
1 #ifndef SPACEPROTOCOL_H
2 #define SPACEPROTOCOL_H
3
4 #include "pirprotocol.h"
5
6 class PIRRX51Hardware;
7
8 // This class supports the generic (LIRC-based) space encoded IR protocol.
9 // It is intended to support all other space-based protocols through
10 // inheritance, and as such contains a variety of commonly useful methods and
11 // attributes.
12
13 class SpaceProtocol: public PIRProtocol
14 {
15 public:
16   SpaceProtocol(
17     QObject *guiObject,
18     unsigned int index,
19     unsigned int zerop,
20     unsigned int zeros,
21     unsigned int onep,
22     unsigned int ones,
23     unsigned int headerp,
24     unsigned int headers,
25     unsigned int trailerp,
26     unsigned int gaps,
27     bool iclflag);
28
29 protected:
30   int pushBits(
31     const CommandSequence &bits,
32     PIRRX51Hardware &device);
33
34   int pushReverseBits(
35     const CommandSequence &bits,
36     PIRRX51Hardware &device);
37
38   int pushInvertedBits(
39     const CommandSequence &bits,
40     PIRRX51Hardware &device);
41
42   int pushInvertedReverseBits(
43     const CommandSequence &bits,
44     PIRRX51Hardware &device);
45
46   unsigned int zeroPulse;
47   unsigned int zeroSpace;
48   unsigned int onePulse;
49   unsigned int oneSpace;
50
51   unsigned int headerPulse;
52   unsigned int headerSpace;
53
54   unsigned int trailerPulse;
55 };
56
57 #endif // SPACEPROTOCOL_H