Basic Encoder Library for Sparkfun's Hall- Effect Encoder Kit Part# ROB-12629
Dependents: ESP8266_pid_redbot_webserver 4180_lab4_project dotbot ShadowDistance ... more
Revision 0:f10558519825, committed 2015-12-08
- Comitter:
- electromotivated
- Date:
- Tue Dec 08 00:09:51 2015 +0000
- Commit message:
- Upload;
Changed in this revision
HALLFX_ENCODER.cpp | Show annotated file Show diff for this revision Revisions of this file |
HALLFX_ENCODER.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r f10558519825 HALLFX_ENCODER.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HALLFX_ENCODER.cpp Tue Dec 08 00:09:51 2015 +0000 @@ -0,0 +1,20 @@ +#include "HALLFX_ENCODER.h" + +HALLFX_ENCODER::HALLFX_ENCODER(PinName enc_in): _enc_in(enc_in){ + _enc_in.mode(PullUp); + // Invoke interrupt on both falling and rising edges + _enc_in.fall(this, &HALLFX_ENCODER::callback); + _enc_in.rise(this, &HALLFX_ENCODER::callback); +} + +long HALLFX_ENCODER::read(){ + return count; +} + +void HALLFX_ENCODER::reset(){ + count = 0; +} + +void HALLFX_ENCODER::callback(){ + count++; +} \ No newline at end of file
diff -r 000000000000 -r f10558519825 HALLFX_ENCODER.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HALLFX_ENCODER.h Tue Dec 08 00:09:51 2015 +0000 @@ -0,0 +1,38 @@ +#ifndef HALLFX_ENCODER_H +#define HALLFX_ENCODER_H + +/* + Basic Encoder Library for Sparkfun's Wheel Encoder Kit + Part# ROB-12629. +*/ + +#include "mbed.h" + +class HALLFX_ENCODER{ + public: + /* + Constructor for Encoder objects + @param enc_in The mBed pin connected to encoder output + */ + HALLFX_ENCODER(PinName enc_in); + /* + read() returns total number of counts of the encoder. + Count can be +/- and indicates the overall direction, + (+): CW (-): CCW + @return The toltal number of counts of the encoder. + */ + long read(); + /* + reset() clears the counter to 0. + */ + void reset(); + private: + long count; // Total number of counts since start. + InterruptIn _enc_in;// Encoder Input/Interrupt Pin + /* + Increments/Decrements count on interrrupt. + */ + void callback(); // Interrupt callback function +}; + +#endif \ No newline at end of file