Ryosuke Matsushima / Encoder

Dependents:   TUKUBAMotorDriver

Encoder.h

Committer:
ryosukenanoda
Date:
2020-12-30
Revision:
1:c44f4aa7a45d
Parent:
0:82c1b12a0041
Child:
3:cf7ae37c6930

File content as of revision 1:c44f4aa7a45d:

#include "mbed.h"

#define PI 3.14159265359
#define RESOLUTION_COUNT 16.0
#define GEAR_RAITO 43.7

class Encoder {
public:
    Encoder(PinName pin_A, PinName pin_B);

    float get_raito();

private:
    Timer timer;
    
    Timeout stop_checker;

    int last_time;

    int max_time;
    
    float dt_to_raito;

    float raito;

    void did_rise();

    void update_raito(int dt); //dt microsec
    
    float direction();
    
    void check_stop();

protected:
    InterruptIn _pin_A;
    DigitalIn _pin_B;
};