Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of HALLFX_ENCODER by
Encodeur.cpp@2:818c44a8d4ad, 2018-05-05 (annotated)
- Committer:
- PeaceBearer
- Date:
- Sat May 05 15:26:01 2018 +0000
- Revision:
- 2:818c44a8d4ad
- Parent:
- 1:f28b876f1fe1
code;
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 | 2:818c44a8d4ad | 17 | _tour = 0.0; |
| PeaceBearer | 1:f28b876f1fe1 | 18 | } |
| PeaceBearer | 1:f28b876f1fe1 | 19 | |
| PeaceBearer | 1:f28b876f1fe1 | 20 | void Encodeur::incrementer(){ |
| PeaceBearer | 1:f28b876f1fe1 | 21 | _compteur++; |
| PeaceBearer | 2:818c44a8d4ad | 22 | _tour = _tour + 0.125; |
| electromotivated | 0:f10558519825 | 23 | } |
| PeaceBearer | 2:818c44a8d4ad | 24 | int Encodeur::lire_compteur(){ |
| PeaceBearer | 1:f28b876f1fe1 | 25 | return _compteur; |
| electromotivated | 0:f10558519825 | 26 | } |
| electromotivated | 0:f10558519825 | 27 | |
| PeaceBearer | 2:818c44a8d4ad | 28 | double Encodeur::lire_tour(){ |
| PeaceBearer | 1:f28b876f1fe1 | 29 | return _tour; |
| PeaceBearer | 1:f28b876f1fe1 | 30 | } |
| PeaceBearer | 1:f28b876f1fe1 | 31 | |
| PeaceBearer | 1:f28b876f1fe1 | 32 | void Encodeur::afficher() const { |
| PeaceBearer | 2:818c44a8d4ad | 33 | cout << "compteur = " << _compteur << ", tour = " << _tour << ", distance = " << (_tour*3.14*63) << endl; |
| PeaceBearer | 1:f28b876f1fe1 | 34 | } |
| PeaceBearer | 1:f28b876f1fe1 | 35 | |
| PeaceBearer | 2:818c44a8d4ad | 36 | double Encodeur::distance() { |
| PeaceBearer | 2:818c44a8d4ad | 37 | return (_tour*3.14*63); |
| PeaceBearer | 2:818c44a8d4ad | 38 | } |
| PeaceBearer | 2:818c44a8d4ad | 39 |
