Six crescent shaped legs

Dependencies:   mbed

Encoder.hpp

Committer:
sim642
Date:
2016-06-21
Revision:
47:4f418a4b0051
Parent:
37:8021b3ce241a

File content as of revision 47:4f418a4b0051:

#ifndef ENCODER_H
#define ENCODER_H

#include "mbed.h"

struct EncoderData
{
    PinName encAPin, encBPin;
    int turnCount;
};

class Encoder
{
public:
    Encoder(EncoderData nData);
    
    virtual void reset();
    
    long getCount() const;
    float getTurn() const;
    
protected:
    EncoderData data;
    
private:
    void changeA();
    void changeB();
    void changeCount(bool flipB);
    
    InterruptIn intA, intB;
    volatile bool valA, valB;
    
    volatile long count;
};

#endif // ENCODER_H