6 double timebase = 0.241246 * data[1];
10 frequency = toFrequency(data[1]);
18 size_t introPairs = data[2];
19 size_t repetitionPairs = data[3];
20 if (4 + 2*(introPairs + repetitionPairs) != size)
23 IrSequence *intro = mkSequence(data + 4, introPairs, timebase);
24 IrSequence *repeat = mkSequence(data + 4 + 2*introPairs, repetitionPairs, timebase);
27 return new IrSignal(*intro, *repeat, *ending, frequency);
31 size_t len = strlen(str)/5 + 1;
33 unsigned int index = 0;
35 char *endptr[1] = { NULL };
37 long x = strtol(p, endptr, 16);
41 return parse(data, index);
44 IrSequence *Pronto::mkSequence(
const uint16_t* data,
size_t noPairs,
double timebase) {
46 for (
unsigned int i = 0; i < 2*noPairs; i++)
48 return new IrSequence(durations, 2*noPairs,
true);
uint16_t microseconds_t
Type for durations in micro seconds.
This class models an IR signal with intro-, repeat-, and ending sequences.
static IrSignal * parse(const uint16_t *data, size_t size)
Function for parsing its input data into an IrSignal.
uint16_t frequency_t
Type for modulation frequency in Hz.
This class consists of a vector of durations.