Infrared4Arduino
Nec1Renderer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <IrSignal.h>
4 
10 class Nec1Renderer {
11 private:
12  static const frequency_t frequency = 38400U;
13  static const size_t introLength = 68U;
14  static const size_t repeatLength = 4U;
15 
16 public:
17 
26  static const IrSignal *newIrSignal(unsigned int D, unsigned int S, unsigned int F);
27 
35  static const IrSignal *newIrSignal(unsigned int D, unsigned int F) {
36  return newIrSignal(D, 255-D, F);
37  };
38 
39 private:
40  Nec1Renderer();
41  static const microseconds_t repeatData[repeatLength];
42  static const IrSequence repeat;
43  static void lsbByte(microseconds_t *intro, unsigned int& i, uint32_t& sum, unsigned int D);
44  static void transmitBit(microseconds_t *intro, unsigned int& i, uint32_t& sum, unsigned int data);
45 };
uint16_t microseconds_t
Type for durations in micro seconds.
Definition: InfraredTypes.h:15
uint32_t frequency_t
Type for modulation frequency in Hz.
Definition: InfraredTypes.h:32
A static class consisting of two functions that generate IrSignal-s from the NEC1 protocol parameters...
Definition: Nec1Renderer.h:10
This class models an IR signal with intro-, repeat-, and ending sequences.
Definition: IrSignal.h:10
static const IrSignal * newIrSignal(unsigned int D, unsigned int F)
Generates am IrSignal from the NEC1 parameters.
Definition: Nec1Renderer.h:35
This class consists of a vector of durations.
Definition: IrSequence.h:11
static const IrSignal * newIrSignal(unsigned int D, unsigned int S, unsigned int F)
Generates am IrSignal from the NEC1 parameters.