#include <IR.hh>
Definition at line 47 of file IR.hh.
Definition at line 57 of file IR.hh.
Construct an IR::Receiver connected to the given interrupt pin, capture given max number of samples, and decode to binary with the given threshold. A key map may be provided; pointer to vector in program memory and size of vector. To collect the time period samples provide a storage vector.
- Parameters
-
[in] | pin | interrupt pin (Board::EXTn). |
[in] | max | number of samples. |
[in] | threshold | level for mapping to binary. |
[in] | scheduler | for timeout. |
[in] | keymap | mapping table from code to key. |
[in] | keys | number of members in keymap. |
[in] | sample | vector for samples[max]. |
Definition at line 84 of file IR.hh.
void Linkage::attach |
( |
Linkage * |
pred | ) |
|
|
inlineinherited |
Attach given linkage as predecessor. Will check and detach if already attached.
- Parameters
-
[in] | pred | linkage to attach. |
- Note
- atomic
Definition at line 71 of file Linkage.hh.
Detach this link. Unlink from any list.
Definition at line 125 of file Linkage.hh.
void Job::expire_after |
( |
uint32_t |
time | ) |
|
|
inlineinherited |
Set expire time relative to latest expire time.
- Parameters
-
[in] | time | to add to latest expire time. |
Definition at line 111 of file Job.hh.
int32_t Job::expire_after |
( |
| ) |
const |
|
inlineinherited |
Get time remaining before expired.
- Returns
- time.
Definition at line 129 of file Job.hh.
void Job::expire_at |
( |
uint32_t |
time | ) |
|
|
inlineinherited |
Set expire time. Absolute time in scheduler time unit.
- Parameters
-
Definition at line 102 of file Job.hh.
uint32_t Job::expire_at |
( |
| ) |
const |
|
inlineinherited |
Get expire time.
- Returns
- time.
Definition at line 120 of file Job.hh.
bool Job::is_started |
( |
| ) |
const |
|
inlineinherited |
Return true(1) if the job is queued otherwise false(0).
- Returns
- bool.
Definition at line 149 of file Job.hh.
int IR::Receiver::lookup |
( |
uint16_t |
code | ) |
|
Lookup given code and return key or EOF(-1).
- Parameters
-
[in] | code | to lookup in key map. |
- Returns
- key or EOF(-1).
Definition at line 80 of file IR.cpp.
virtual void Job::on_event |
( |
uint8_t |
type, |
|
|
uint16_t |
value |
|
) |
| |
|
inlinevirtualinherited |
Default job event handler; execute the run() virtual member function on timeout event. Event is pushed by on_expired().
- Parameters
-
[in] | type | the type of event (Typically TIMEOUT_TYPE). |
[in] | value | the event value. |
Reimplemented from Event::Handler.
Reimplemented in ProtoThread, and Periodic.
Definition at line 197 of file Job.hh.
virtual void Job::on_expired |
( |
| ) |
|
|
inlinevirtualinherited |
Job member function that is called Scheduler::dispatch() when the job time has expired. This function is normally called from an interrupt service routine. The default implementation will push a timeout event with the job as target. The default event handler will call the job run() virtual member function. Override this function if the job should be executed during the interrupt service routine.
Definition at line 185 of file Job.hh.
void IR::Receiver::on_interrupt |
( |
uint16_t |
arg = 0 | ) |
|
|
virtual |
Interrupt pin handler: Measure time periods of pulses in sequence from IR receiver circuit. Push an event when a full sequence has been recieved; READ_COMPLETED(this, code) where the code is the recieved binary code or key if a key map was provided.
- Parameters
-
[in] | arg | argument from interrupt service routine. |
Reimplemented from ExternalInterrupt.
Definition at line 26 of file IR.cpp.
Return predecessor in sequence.
- Returns
- predecessor linkage.
Definition at line 60 of file Linkage.hh.
void IR::Receiver::reset |
( |
| ) |
|
Reset the receiver for the next code sequence.
Definition at line 65 of file IR.cpp.
virtual void Job::run |
( |
| ) |
|
|
inlinevirtualinherited |
The job run() virtual member function; sub-class should define. Called by the scheduler (via event handler) when the time expires. May set an new expire time and start the job again, or even start other jobs.
Reimplemented in Button, Keypad, and Touch.
Definition at line 210 of file Job.hh.
Start the job. Returns true(1) if scheduled otherwise false(0).
- Returns
- bool.
Definition at line 159 of file Job.hh.
Stop the job. Returns true(1) if scheduled otherwise false(0).
- Returns
- bool.
Definition at line 169 of file Job.hh.
Return successor in sequence.
- Returns
- successor linkage.
Definition at line 51 of file Linkage.hh.
uint32_t Job::time |
( |
| ) |
const |
|
inlineinherited |
Get current scheduler time. May be used to set relative expire time.
- Returns
- time.
Definition at line 139 of file Job.hh.
Print the captured samples to the given output stream.
- Parameters
-
[in] | outs | stream. |
[in] | receiver | samples to print. |
- Returns
- iostream.
Definition at line 89 of file IR.cpp.
Expire time. Scale (us, ms, s) depends on scheduler.
Definition at line 214 of file Job.hh.
Double linked list pointers.
Definition at line 93 of file Linkage.hh.
The documentation for this class was generated from the following files: