1 #ifdef ARDUINO_ARCH_AVR 16 IrReceiverSampler::IrReceiverSampler(
size_t captureLength,
27 receiverState = STATE_IDLE;
144 #endif // ! ARDUINO_ARCH_AVR void setBeginningTimeout(milliseconds_t timeOut)
off-period, also called gap
Between signals; waiting for first mark.
static const unsigned long microsPerTick
microseconds per clock interrupt
#define TIMER_DISABLE_INTR
void setBeginningTimeout(milliseconds_t timeOut)
uint16_t microseconds_t
Type for durations in micro seconds.
volatile ReceiverState_t receiverState
State of the state machine.
unsigned int getBufferSize() const
static IrReceiverSampler * newIrReceiverSampler(size_t captureLength=defaultCaptureLength, pin_t pin=defaultPin, bool pullup=false, microseconds_t markExcess=defaultMarkExcess, milliseconds_t beginningTimeout=defaultBeginningTimeout, milliseconds_t endingTimeout=defaultEndingTimeout)
This factory method replaces public constructors.
uint8_t pin_t
Type for GPIO pin, compatible with Arduino libs.
volatile size_t dataLength
Number of entries in durationData.
irdata_t
Enum for the duration types.
void setEndingTimeout(milliseconds_t timeOut)
This receiving class samples the input pin every 50 microseconds using a timer interrupt.
#define TIMER_ENABLE_INTR
uint16_t milliseconds_t
Type for durations in milli seconds.
Abstract base class for demodulating IR receivers.
void enable()
Start reception of IR data.
static void deleteInstance()
Deletes the instance, thereby freeing up the resources it occupied, and allowing for another instance...
volatile uint32_t timer
state timer, counts 50uS ticks.
volatile microseconds_t * durationData
Data buffer.
milliseconds_t endingTimeout
on-period, also called flash
#define TIMER_CONFIG_NORMAL()
virtual ~IrReceiverSampler()
void disable()
Stop reception of IR data.
Complete signal has been read.
const pin_t invalidPin
Symbolic name for an invalid pin number.
milliseconds_t beginningTimeout
uint32_t beginningTimeoutInTicks
void setEndingTimeout(milliseconds_t timeOut)
Definition of timers etc is encapsulated in this file.
int16_t markExcess
Microseconds subtracted from pulses and added to gaps.
milliseconds_t getEndingTimeout() const
milliseconds_t getBeginningTimeout() const
uint32_t endingTimeoutInTicks
static IrReceiverSampler * getInstance()
Returns a pointer to the instance, or NULL.