Basic Encoder Library for Sparkfun's Hall- Effect Encoder Kit Part# ROB-12629

Fork of HALLFX_ENCODER by Bryce Williams

Committer:
PeaceBearer
Date:
Wed Apr 11 14:35:54 2018 +0000
Revision:
1:f28b876f1fe1
Parent:
HALLFX_ENCODER.cpp@0:f10558519825
Child:
2:818c44a8d4ad
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
PeaceBearer 1:f28b876f1fe1 1 #include "Encodeur.h"
PeaceBearer 1:f28b876f1fe1 2 #include <iostream>
electromotivated 0:f10558519825 3
PeaceBearer 1:f28b876f1fe1 4 using namespace std;
PeaceBearer 1:f28b876f1fe1 5
PeaceBearer 1:f28b876f1fe1 6 Encodeur::Encodeur(PinName enc_in): _enc_in(enc_in){
PeaceBearer 1:f28b876f1fe1 7
electromotivated 0:f10558519825 8 _enc_in.mode(PullUp);
PeaceBearer 1:f28b876f1fe1 9
electromotivated 0:f10558519825 10 // Invoke interrupt on both falling and rising edges
PeaceBearer 1:f28b876f1fe1 11 _enc_in.fall(callback(this, &Encodeur::incrementer));
PeaceBearer 1:f28b876f1fe1 12 _enc_in.rise(callback(this, &Encodeur::incrementer));
electromotivated 0:f10558519825 13 }
electromotivated 0:f10558519825 14
PeaceBearer 1:f28b876f1fe1 15 void Encodeur::zero(){
PeaceBearer 1:f28b876f1fe1 16 _compteur = 0;
PeaceBearer 1:f28b876f1fe1 17 _tour = 0;
PeaceBearer 1:f28b876f1fe1 18 }
PeaceBearer 1:f28b876f1fe1 19
PeaceBearer 1:f28b876f1fe1 20 void Encodeur::incrementer(){
PeaceBearer 1:f28b876f1fe1 21 _compteur++;
PeaceBearer 1:f28b876f1fe1 22 _tour += 1/8;
electromotivated 0:f10558519825 23 }
electromotivated 0:f10558519825 24
PeaceBearer 1:f28b876f1fe1 25 long Encodeur::lire_compteur(){
PeaceBearer 1:f28b876f1fe1 26 return _compteur;
electromotivated 0:f10558519825 27 }
electromotivated 0:f10558519825 28
PeaceBearer 1:f28b876f1fe1 29 float Encodeur::lire_tour(){
PeaceBearer 1:f28b876f1fe1 30 return _tour;
PeaceBearer 1:f28b876f1fe1 31 }
PeaceBearer 1:f28b876f1fe1 32
PeaceBearer 1:f28b876f1fe1 33 void Encodeur::afficher() const {
PeaceBearer 1:f28b876f1fe1 34 cout << "compteur = " << _compteur << ", tour = " << _tour << endl;
PeaceBearer 1:f28b876f1fe1 35 }
PeaceBearer 1:f28b876f1fe1 36