Six crescent shaped legs

Dependencies:   mbed

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?

UserRevisionLine numberNew 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