| 
    Infrared4Arduino
    
   | 
 
This receiving class samples the input pin every 50 microseconds using a timer interrupt. More...
#include <IrReceiverSampler.h>


Public Types | |
| enum | ReceiverState_t { STATE_IDLE, STATE_MARK, STATE_SPACE, STATE_STOP } | 
| State space for the receiver state machine.  More... | |
  Public Types inherited from IrReceiver | |
| enum | irdata_t { IR_MARK, IR_SPACE } | 
| Enum for the duration types.  More... | |
Public Member Functions | |
| void | enable () | 
| Start reception of IR data.  More... | |
| void | disable () | 
| Stop reception of IR data.  More... | |
| void | reset () | 
| void | setEndingTimeout (milliseconds_t timeOut) | 
| milliseconds_t | getEndingTimeout () const | 
| void | setBeginningTimeout (milliseconds_t timeOut) | 
| milliseconds_t | getBeginningTimeout () const | 
| size_t | getDataLength () const | 
| Returns the number of collected durations.  More... | |
| microseconds_t | getDuration (unsigned int i) const | 
| Returns the index-th duration, if possible.  More... | |
| boolean | isReady () const | 
| Returns true if there is collected data.  More... | |
  Public Member Functions inherited from IrReceiver | |
| IrReceiver (size_t bufSize, pin_t pin, boolean pullup=false, microseconds_t markExcess=defaultMarkExcess) | |
| Constructor.  More... | |
| virtual | ~IrReceiver () | 
| virtual void | receive () | 
| Convenience function: enable, wait until data is collected or timeout has occured, disable.  More... | |
| pin_t | getPin () const | 
  Public Member Functions inherited from IrReader | |
| virtual void | dump (Stream &stream) const | 
| Prints a textual representation of the received data to the Stream supplied.  More... | |
| IrSequence * | toIrSequence () const | 
| Generates an IrSequence from the IrReader.  More... | |
| virtual boolean | isEmpty () const | 
| unsigned int | getBufferSize () const | 
| void | setMarkExcess (int16_t markExcess_) | 
| Sets the markExcess, a number (possibly negative) to be subtracted from the on-durations and added to the off.durations.  More... | |
| int16_t | getMarkExcess () const | 
| Gets the markExcess, a number (possibly negative) to be subtracted from the on-durations and added to the off.durations.  More... | |
Static Public Member Functions | |
| 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.  More... | |
| static void | deleteInstance () | 
| Deletes the instance, thereby freeing up the resources it occupied, and allowing for another instance to be created.  More... | |
| static IrReceiverSampler * | getInstance () | 
| Returns a pointer to the instance, or NULL.  More... | |
Public Attributes | |
| volatile ReceiverState_t | receiverState | 
| State of the state machine.  More... | |
| uint32_t | endingTimeoutInTicks | 
| uint32_t | beginningTimeoutInTicks | 
| volatile uint32_t | timer | 
| state timer, counts 50uS ticks.  More... | |
| volatile microseconds_t * | durationData | 
| Data buffer.  More... | |
| volatile size_t | dataLength | 
| Number of entries in durationData.  More... | |
Static Public Attributes | |
| static const unsigned long | microsPerTick = 50 | 
| microseconds per clock interrupt  More... | |
  Static Public Attributes inherited from IrReceiver | |
| static const pin_t | defaultPin = 5 | 
| static const microseconds_t | defaultMarkExcess = 50U | 
| static const boolean | invertingSensor = true | 
| Are we using inverting sensor, like most TSOPs?  More... | |
  Static Public Attributes inherited from IrReader | |
| static const milliseconds_t | defaultBeginningTimeout = 2000U | 
| static const milliseconds_t | defaultEndingTimeout = 30U | 
| static const size_t | defaultCaptureLength = 100U | 
Protected Member Functions | |
| virtual | ~IrReceiverSampler () | 
  Protected Member Functions inherited from IrReader | |
| IrReader (size_t bufSize_) | |
| Constructs an IrReader with buffersize bufSize_, possibly increased to be even.  More... | |
| IrReader () | |
| virtual | ~IrReader () | 
Additional Inherited Members | |
  Static Protected Member Functions inherited from IrReader | |
| static unsigned int | forceEven (unsigned int x) | 
  Protected Attributes inherited from IrReader | |
| milliseconds_t | beginningTimeout | 
| milliseconds_t | endingTimeout | 
| size_t | bufferSize | 
| int16_t | markExcess | 
| Microseconds subtracted from pulses and added to gaps.  More... | |
| boolean | timeouted | 
| True if last receive ended with a timeout.  More... | |
This receiving class samples the input pin every 50 microseconds using a timer interrupt.
Due to the ISP, this is a singleton class; it can only be instantiated once. This is enforced by the absence of public constructors: it has to be instantiated by the factory method newIrReceiverSampler.
Definition at line 18 of file IrReceiverSampler.h.
State space for the receiver state machine.
| Enumerator | |
|---|---|
| STATE_IDLE | 
 Between signals; waiting for first mark.  | 
| STATE_MARK | 
 Last read a mark.  | 
| STATE_SPACE | 
 Last read a space.  | 
| STATE_STOP | 
 Complete signal has been read.  | 
Definition at line 25 of file IrReceiverSampler.h.
      
  | 
  protectedvirtual | 
Definition at line 45 of file IrReceiverSampler.cpp.
      
  | 
  static | 
Deletes the instance, thereby freeing up the resources it occupied, and allowing for another instance to be created.
Definition at line 40 of file IrReceiverSampler.cpp.
      
  | 
  virtual | 
Stop reception of IR data.
Reimplemented from IrReader.
Definition at line 66 of file IrReceiverSampler.cpp.
      
  | 
  virtual | 
Start reception of IR data.
Reimplemented from IrReader.
Definition at line 57 of file IrReceiverSampler.cpp.
      
  | 
  virtual | 
Reimplemented from IrReader.
Definition at line 82 of file IrReceiverSampler.cpp.
      
  | 
  inlinevirtual | 
Returns the number of collected durations.
Implements IrReader.
Definition at line 114 of file IrReceiverSampler.h.
      
  | 
  inlinevirtual | 
Returns the index-th duration, if possible.
| index | index of duration | 
Implements IrReader.
Definition at line 118 of file IrReceiverSampler.h.
      
  | 
  virtual | 
Reimplemented from IrReader.
Definition at line 78 of file IrReceiverSampler.cpp.
      
  | 
  inlinestatic | 
Returns a pointer to the instance, or NULL.
Definition at line 96 of file IrReceiverSampler.h.
      
  | 
  inlinevirtual | 
Returns true if there is collected data.
Implements IrReader.
Definition at line 122 of file IrReceiverSampler.h.
      
  | 
  static | 
This factory method replaces public constructors.
Provided that no instance currently exists, it constructs a new instance and return a pointer to it, if possible. Otherwise, it returns NULL.
| captureLength | buffersize requested | 
| pin | GPIO pin to use | 
| pullup | true if the internal pullup resistor should be enabled | 
| markExcess | markExcess to use | 
| beginningTimeout | beginningTimeout to use | 
| endingTimeout | endingTimeout to use | 
Definition at line 28 of file IrReceiverSampler.cpp.
      
  | 
  virtual | 
Reimplemented from IrReader.
Definition at line 52 of file IrReceiverSampler.cpp.
      
  | 
  virtual | 
Reimplemented from IrReader.
Definition at line 74 of file IrReceiverSampler.cpp.
      
  | 
  virtual | 
Reimplemented from IrReader.
Definition at line 70 of file IrReceiverSampler.cpp.
| uint32_t IrReceiverSampler::beginningTimeoutInTicks | 
Definition at line 39 of file IrReceiverSampler.h.
| volatile size_t IrReceiverSampler::dataLength | 
Number of entries in durationData.
Definition at line 48 of file IrReceiverSampler.h.
| volatile microseconds_t* IrReceiverSampler::durationData | 
Data buffer.
Definition at line 45 of file IrReceiverSampler.h.
| uint32_t IrReceiverSampler::endingTimeoutInTicks | 
Definition at line 37 of file IrReceiverSampler.h.
      
  | 
  static | 
microseconds per clock interrupt
Definition at line 22 of file IrReceiverSampler.h.
| volatile ReceiverState_t IrReceiverSampler::receiverState | 
State of the state machine.
Definition at line 33 of file IrReceiverSampler.h.
| volatile uint32_t IrReceiverSampler::timer | 
state timer, counts 50uS ticks.
Definition at line 42 of file IrReceiverSampler.h.
 1.8.10