Basic Encoder Library for Sparkfun's Hall- Effect Encoder Kit Part# ROB-12629
Fork of HALLFX_ENCODER by
Encodeur.cpp@1:f28b876f1fe1, 2018-04-11 (annotated)
- 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?
User | Revision | Line number | New 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 |