Infrared4Arduino
IrSequenceReader.h
Go to the documentation of this file.
1 #ifndef IRSEQUENCEREADER_H
2 #define IRSEQUENCEREADER_H
3 
4 #include "IrSequence.h"
5 #include "IrReader.h"
6 
11 class IrSequenceReader : public IrReader {
12 private:
13  IrSequence irSequence;
14 
15 public:
16  IrSequenceReader() : irSequence() {
17  };
18 
19  IrSequenceReader(const IrSequenceReader& orig) : IrReader(),irSequence(orig.irSequence) {
20  };
21 
22  IrSequenceReader(const IrSequence& irSequence_) : IrReader(),irSequence(irSequence_) {
23  };
24 
25  virtual ~IrSequenceReader() {
26  };
27 
28  void receive() {
29  };
30 
31  boolean isReady() const {
32  return true;
33  };
34 
35  size_t getDataLength() const {
36  return irSequence.getLength();
37  };
38 
39  microseconds_t getDuration(unsigned int index) const {
40  return irSequence.getDurations()[index];
41  };
42 };
43 
44 #endif /* IRSEQUENCEREADER_H */
IrSequenceReader(const IrSequenceReader &orig)
uint16_t microseconds_t
Type for durations in micro seconds.
Definition: InfraredTypes.h:16
boolean isReady() const
Returns true if there is collected data.
virtual ~IrSequenceReader()
Abstract base class for all IR readers, capturing or receiving.
Definition: IrReader.h:30
void receive()
Convenience function: enable, wait until data is collected or timeout has occured, disable.
size_t getLength() const
Returns the length of the data.
Definition: IrSequence.h:49
IrSequenceReader(const IrSequence &irSequence_)
This class packs an IrSequence into a dummy, immutable IrReader.
const microseconds_t * getDurations() const
Definition: IrSequence.h:57
This class consists of a vector of durations.
Definition: IrSequence.h:12
microseconds_t getDuration(unsigned int index) const
Returns the index-th duration, if possible.
size_t getDataLength() const
Returns the number of collected durations.