Read IR data from TV Remote
Ir.h@1:0fadd6080445, 2020-02-03 (annotated)
- Committer:
- jdonnal
- Date:
- Mon Feb 03 16:14:43 2020 +0000
- Revision:
- 1:0fadd6080445
Initial Commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jdonnal | 1:0fadd6080445 | 1 | |
jdonnal | 1:0fadd6080445 | 2 | /* Parallax High Speed Continuous Servo |
jdonnal | 1:0fadd6080445 | 3 | John Donnal 2018 |
jdonnal | 1:0fadd6080445 | 4 | */ |
jdonnal | 1:0fadd6080445 | 5 | |
jdonnal | 1:0fadd6080445 | 6 | #ifndef _IR_H |
jdonnal | 1:0fadd6080445 | 7 | #define _IR_H |
jdonnal | 1:0fadd6080445 | 8 | |
jdonnal | 1:0fadd6080445 | 9 | /** |
jdonnal | 1:0fadd6080445 | 10 | * Includes |
jdonnal | 1:0fadd6080445 | 11 | */ |
jdonnal | 1:0fadd6080445 | 12 | #include "mbed.h" |
jdonnal | 1:0fadd6080445 | 13 | |
jdonnal | 1:0fadd6080445 | 14 | /** |
jdonnal | 1:0fadd6080445 | 15 | * 38KHz IR Receiver (for Sony RM-EZ4 Remote) |
jdonnal | 1:0fadd6080445 | 16 | */ |
jdonnal | 1:0fadd6080445 | 17 | class IrIn { |
jdonnal | 1:0fadd6080445 | 18 | |
jdonnal | 1:0fadd6080445 | 19 | public: |
jdonnal | 1:0fadd6080445 | 20 | |
jdonnal | 1:0fadd6080445 | 21 | /** |
jdonnal | 1:0fadd6080445 | 22 | * Constructor. |
jdonnal | 1:0fadd6080445 | 23 | * |
jdonnal | 1:0fadd6080445 | 24 | * @param output mbed pin for input channel. |
jdonnal | 1:0fadd6080445 | 25 | */ |
jdonnal | 1:0fadd6080445 | 26 | IrIn(PinName input); |
jdonnal | 1:0fadd6080445 | 27 | |
jdonnal | 1:0fadd6080445 | 28 | /** |
jdonnal | 1:0fadd6080445 | 29 | * Decode IR data, blocks until data is received |
jdonnal | 1:0fadd6080445 | 30 | */ |
jdonnal | 1:0fadd6080445 | 31 | int read(); |
jdonnal | 1:0fadd6080445 | 32 | private: |
jdonnal | 1:0fadd6080445 | 33 | |
jdonnal | 1:0fadd6080445 | 34 | void falling_edge_(); |
jdonnal | 1:0fadd6080445 | 35 | void rising_edge_(); |
jdonnal | 1:0fadd6080445 | 36 | InterruptIn ir_; |
jdonnal | 1:0fadd6080445 | 37 | Timer t_; |
jdonnal | 1:0fadd6080445 | 38 | int rx_in_progress_; |
jdonnal | 1:0fadd6080445 | 39 | int rx_complete_; |
jdonnal | 1:0fadd6080445 | 40 | int rx_bits_; |
jdonnal | 1:0fadd6080445 | 41 | int msg_; |
jdonnal | 1:0fadd6080445 | 42 | }; |
jdonnal | 1:0fadd6080445 | 43 | |
jdonnal | 1:0fadd6080445 | 44 | #endif /* CONTINUOUS_SERVO_H */ |