Rauno U
/
Miisu
Six crescent shaped legs
Encoder.hpp@47:4f418a4b0051, 2016-06-21 (annotated)
- Committer:
- sim642
- Date:
- Tue Jun 21 14:43:44 2016 +0000
- Revision:
- 47:4f418a4b0051
- Parent:
- 37:8021b3ce241a
Byte based communication
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sim642 | 2:cf0147952fb9 | 1 | #ifndef ENCODER_H |
sim642 | 2:cf0147952fb9 | 2 | #define ENCODER_H |
sim642 | 2:cf0147952fb9 | 3 | |
sim642 | 2:cf0147952fb9 | 4 | #include "mbed.h" |
sim642 | 10:e9c106a8b0d0 | 5 | |
sim642 | 10:e9c106a8b0d0 | 6 | struct EncoderData |
sim642 | 10:e9c106a8b0d0 | 7 | { |
sim642 | 10:e9c106a8b0d0 | 8 | PinName encAPin, encBPin; |
sim642 | 10:e9c106a8b0d0 | 9 | int turnCount; |
sim642 | 10:e9c106a8b0d0 | 10 | }; |
sim642 | 2:cf0147952fb9 | 11 | |
sim642 | 2:cf0147952fb9 | 12 | class Encoder |
sim642 | 2:cf0147952fb9 | 13 | { |
sim642 | 2:cf0147952fb9 | 14 | public: |
sim642 | 8:c3af2a1c206c | 15 | Encoder(EncoderData nData); |
sim642 | 2:cf0147952fb9 | 16 | |
sim642 | 37:8021b3ce241a | 17 | virtual void reset(); |
sim642 | 37:8021b3ce241a | 18 | |
sim642 | 14:4143ddddef1b | 19 | long getCount() const; |
sim642 | 14:4143ddddef1b | 20 | float getTurn() const; |
sim642 | 2:cf0147952fb9 | 21 | |
sim642 | 8:c3af2a1c206c | 22 | protected: |
sim642 | 8:c3af2a1c206c | 23 | EncoderData data; |
sim642 | 8:c3af2a1c206c | 24 | |
sim642 | 2:cf0147952fb9 | 25 | private: |
sim642 | 21:aee7370d74d1 | 26 | void changeA(); |
sim642 | 21:aee7370d74d1 | 27 | void changeB(); |
sim642 | 21:aee7370d74d1 | 28 | void changeCount(bool flipB); |
sim642 | 2:cf0147952fb9 | 29 | |
sim642 | 2:cf0147952fb9 | 30 | InterruptIn intA, intB; |
sim642 | 21:aee7370d74d1 | 31 | volatile bool valA, valB; |
sim642 | 2:cf0147952fb9 | 32 | |
sim642 | 20:1ceae0d063c6 | 33 | volatile long count; |
sim642 | 2:cf0147952fb9 | 34 | }; |
sim642 | 2:cf0147952fb9 | 35 | |
sim642 | 2:cf0147952fb9 | 36 | #endif // ENCODER_H |