basic Quadrature Encoder Library
Dependents: ESP8266_pid_mtrPos_webserver_SDcard_v2 ESP8266_pid_mtrSpeed_Webserver_SDcard ESP8266_pid_spd_and_pos_webserver_SDcard pid_encoder_speed_demo ... more
QEI.cpp@0:50aae578cb89, 2015-11-23 (annotated)
- Committer:
- electromotivated
- Date:
- Mon Nov 23 02:44:15 2015 +0000
- Revision:
- 0:50aae578cb89
Basic encoder library upload;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
electromotivated | 0:50aae578cb89 | 1 | #include "QEI.h" |
electromotivated | 0:50aae578cb89 | 2 | |
electromotivated | 0:50aae578cb89 | 3 | QEI::QEI(PinName encA, PinName encB): _encA(encA), _encB(encB){ |
electromotivated | 0:50aae578cb89 | 4 | _encA.mode(PullUp); |
electromotivated | 0:50aae578cb89 | 5 | _encA.rise(this, &QEI::callback); |
electromotivated | 0:50aae578cb89 | 6 | |
electromotivated | 0:50aae578cb89 | 7 | _encB.mode(PullUp); |
electromotivated | 0:50aae578cb89 | 8 | } |
electromotivated | 0:50aae578cb89 | 9 | |
electromotivated | 0:50aae578cb89 | 10 | long QEI::read(){ |
electromotivated | 0:50aae578cb89 | 11 | return count; |
electromotivated | 0:50aae578cb89 | 12 | } |
electromotivated | 0:50aae578cb89 | 13 | |
electromotivated | 0:50aae578cb89 | 14 | void QEI::reset(){ |
electromotivated | 0:50aae578cb89 | 15 | count = 0; |
electromotivated | 0:50aae578cb89 | 16 | } |
electromotivated | 0:50aae578cb89 | 17 | |
electromotivated | 0:50aae578cb89 | 18 | void QEI::callback(){ |
electromotivated | 0:50aae578cb89 | 19 | if(_encB) count--; // CCW count |
electromotivated | 0:50aae578cb89 | 20 | else count++; // CW count |
electromotivated | 0:50aae578cb89 | 21 | } |