Driver for a binary on/off presence device
Presence.h@1:9d2b641a9280, 2015-02-04 (annotated)
- Committer:
- andcor02
- Date:
- Wed Feb 04 17:21:13 2015 +0000
- Revision:
- 1:9d2b641a9280
- Parent:
- 0:21320a151be0
Added Support for 'new' laser trip sensor.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
erigow01 | 0:21320a151be0 | 1 | /* |
andcor02 | 1:9d2b641a9280 | 2 | presence.cpp - presence sensor library |
erigow01 | 0:21320a151be0 | 3 | Developed by Andrea Corrado & Eric Gowland |
erigow01 | 0:21320a151be0 | 4 | |
erigow01 | 0:21320a151be0 | 5 | Connect to a hardware device that is boolean present/not present. Such as PIR or Rangefinder with appropriate signalling. |
erigow01 | 0:21320a151be0 | 6 | Also drives LED as presence indicator. |
erigow01 | 0:21320a151be0 | 7 | */ |
erigow01 | 0:21320a151be0 | 8 | |
erigow01 | 0:21320a151be0 | 9 | #ifndef MBED_PIR_H |
erigow01 | 0:21320a151be0 | 10 | #define MBED_PIR_H |
erigow01 | 0:21320a151be0 | 11 | |
erigow01 | 0:21320a151be0 | 12 | #include "mbed.h" |
erigow01 | 0:21320a151be0 | 13 | |
andcor02 | 1:9d2b641a9280 | 14 | class presence{ |
erigow01 | 0:21320a151be0 | 15 | |
erigow01 | 0:21320a151be0 | 16 | public: |
erigow01 | 0:21320a151be0 | 17 | |
andcor02 | 1:9d2b641a9280 | 18 | presence(PinName pin, bool true_on_rise, int debounce_time_ms); |
erigow01 | 0:21320a151be0 | 19 | bool isPresent(); |
erigow01 | 0:21320a151be0 | 20 | |
erigow01 | 0:21320a151be0 | 21 | private: |
erigow01 | 0:21320a151be0 | 22 | InterruptIn _myint; |
erigow01 | 0:21320a151be0 | 23 | DigitalOut _led1; |
erigow01 | 0:21320a151be0 | 24 | bool _detection; |
erigow01 | 0:21320a151be0 | 25 | bool _true_on_rise; |
erigow01 | 0:21320a151be0 | 26 | int debounce_ms; |
erigow01 | 0:21320a151be0 | 27 | Timer debounce_timer; |
erigow01 | 0:21320a151be0 | 28 | void presence_interrupt_on(); |
erigow01 | 0:21320a151be0 | 29 | void presence_interrupt_off(); |
erigow01 | 0:21320a151be0 | 30 | |
erigow01 | 0:21320a151be0 | 31 | }; |
erigow01 | 0:21320a151be0 | 32 | |
erigow01 | 0:21320a151be0 | 33 | #endif |