4 #include "spaceprotocol.h"
5 #include "pirrx51hardware.h"
8 // LIRC does not itself have an actual protocol; what it does do is attempt
9 // to capture IR pulses in more-or-less the most general method possible.
10 // I'm attempting to push all my keysets into using code paths specific to
11 // their actual protocols, but I still don't know all the protocols myself.
12 // Where I don't have that information, I'll use LIRC's system. The following
13 // pretty much follows LIRC's system for space-based encoding patterns.
16 class LIRCProtocol: public SpaceProtocol
26 unsigned int gapSpace,
40 void setRepeatNeedsHeader(
43 void setFullHeadlessRepeat(
47 void startSendingCommand(
48 unsigned int threadableID,
56 unsigned int repeatPulse;
57 unsigned int repeatSpace;
59 bool repeatNeedsHeader; // Put the header ahead of the repeat pulse
60 bool fullHeadlessRepeat; // Repeat full command but without header
62 int generateStandardCommand(
63 const PIRKeyBits &bits,
64 PIRRX51Hardware &device);
66 int generateHeadlessCommand(
67 const PIRKeyBits &bits,
68 PIRRX51Hardware &device);
70 int generateRepeatCommand(
71 PIRRX51Hardware &device);
74 #endif // LIRCPROTOCOL_H