14 IrReceiverSampler::IrReceiverSampler(
size_t captureLength,
36 instance =
new IrReceiverSampler(captureLength, pin, pullup, markExcess, beginningTimeout, endingTimeout);
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
void setBeginningTimeout(milliseconds_t timeOut)
uint16_t microseconds_t
Type for durations in micro seconds.
volatile ReceiverState_t receiverState
State of the state machine.
#define TIMER_CONFIG_NORMAL()
virtual ~IrReceiverSampler()
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.
uint16_t milliseconds_t
Type for durations in milli seconds.
Abstract base class for demodulating IR receivers.
void enable()
Start reception of IR data.
#define TIMER_DISABLE_INTR
unsigned int getBufferSize() const
static IrReceiverSampler * newIrReceiverSampler(size_t captureLength=defaultCaptureLength, pin_t pin=defaultPin, boolean pullup=false, microseconds_t markExcess=defaultMarkExcess, milliseconds_t beginningTimeout=defaultBeginningTimeout, milliseconds_t endingTimeout=defaultEndingTimeout)
This factory method replaces public constructors.
volatile uint32_t timer
state timer, counts 50uS ticks.
static void deleteInstance()
Deletes the instance, thereby freeing up the resources it occupied, and allowing for another instance...
#define TIMER_ENABLE_INTR
volatile microseconds_t * durationData
Data buffer.
on-period, also called flash
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 getBeginningTimeout() const
uint32_t beginningTimeoutInTicks
void setEndingTimeout(milliseconds_t timeOut)
Definition of timers etc is encapsulated in this file.
milliseconds_t getEndingTimeout() const
uint32_t endingTimeoutInTicks
static IrReceiverSampler * getInstance()
Returns a pointer to the instance, or NULL.
ISR(TIMER_INTR_NAME)
Interrupt routine.