int8_t dutycycle_t
Type for duty cycle in percent.
uint16_t microseconds_t
Type for durations in micro seconds.
uint32_t frequency_t
Type for modulation frequency in Hz.
uint8_t pin_t
Type for GPIO pin, compatible with Arduino libs.
static Board * getInstance()
static void delayMicroseconds(microseconds_t)
Version of delayMicroseconds able to grok more than 16383 micros.
static constexpr dutycycle_t defaultDutyCycle
Default duty cycle to use.
Abstract base class for all sending classes.
virtual void sendMark(microseconds_t time)=0
static void barfForInvalidPin(pin_t sendPin __attribute__((unused)))
virtual void send(const IrSequence &irSequence, frequency_t frequency=IrSignal::defaultFrequency, dutycycle_t dutyCycle=Board::defaultDutyCycle)
Sends an IrSequence with the prescribed frequency.
virtual void enable(frequency_t frequency, dutycycle_t dutyCycle=Board::defaultDutyCycle)=0
virtual void sendSpace(microseconds_t time)
void sendIrSignal(const IrSignal &irSignal, unsigned int noSends=1)
Sends the IrSignal given as argument the prescribed number of times.
void mute()
Force output pin inactive.
void sendWhile(const IrSignal &irSignal, bool(*trigger)())
Send an IrSignal, when and as long as trigger() returns true.
This class consists of a vector of durations.
This class models an IR signal with intro-, repeat-, and ending sequences.
static constexpr frequency_t defaultFrequency