Bayley Wang
/
foc-ed_in_the_bot_compact
robot
PositionSensor/PositionSensor.h
- Committer:
- bwang
- Date:
- 2017-04-25
- Revision:
- 120:57b6f3b1356b
- Parent:
- 119:ad7a6af6fba3
- Child:
- 121:de10418bf2c2
File content as of revision 120:57b6f3b1356b:
#ifndef __POSITIONSENSOR_H #define __POSITIONSENSOR_H class PositionSensor { public: virtual float GetMechPosition() {return 0.0f;} virtual float GetElecPosition() {return 0.0f;} virtual float GetUnlimitedElecPosition() {return 0.0f;} virtual float GetUnlimitedMechPosition() {return 0.0f;} virtual bool IsValid() {return false;} }; class PositionSensorEncoder: public PositionSensor { public: PositionSensorEncoder(int cpr, float offset); virtual float GetMechPosition(); virtual float GetElecPosition(); virtual float GetUnlimitedElecPosition(); virtual float GetUnlimitedMechPosition(); virtual bool IsValid(); private: InterruptIn *ZPulse; DigitalIn *ZSense; void ZeroEncoderCount(void); private: int _cpr; int _lobes; float _offset; bool _valid; float _rotations; }; #endif