Basic Encoder Library for Sparkfun's Hall- Effect Encoder Kit Part# ROB-12629
Fork of HALLFX_ENCODER by
Diff: Encodeur.cpp
- Revision:
- 1:f28b876f1fe1
- Parent:
- 0:f10558519825
- Child:
- 2:818c44a8d4ad
diff -r f10558519825 -r f28b876f1fe1 Encodeur.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Encodeur.cpp Wed Apr 11 14:35:54 2018 +0000 @@ -0,0 +1,36 @@ +#include "Encodeur.h" +#include <iostream> + +using namespace std; + +Encodeur::Encodeur(PinName enc_in): _enc_in(enc_in){ + + _enc_in.mode(PullUp); + + // Invoke interrupt on both falling and rising edges + _enc_in.fall(callback(this, &Encodeur::incrementer)); + _enc_in.rise(callback(this, &Encodeur::incrementer)); +} + +void Encodeur::zero(){ + _compteur = 0; + _tour = 0; +} + +void Encodeur::incrementer(){ + _compteur++; + _tour += 1/8; +} + +long Encodeur::lire_compteur(){ + return _compteur; +} + +float Encodeur::lire_tour(){ + return _tour; +} + +void Encodeur::afficher() const { + cout << "compteur = " << _compteur << ", tour = " << _tour << endl; +} +