Bayley Wang
/
foc-ed_in_the_bot_compact
robot
Embed:
(wiki syntax)
Show/hide line numbers
PositionSensor.h
00001 #ifndef __POSITIONSENSOR_H 00002 #define __POSITIONSENSOR_H 00003 00004 class PositionSensor { 00005 public: 00006 virtual float GetMechPosition() {return 0.0f;} 00007 virtual float GetElecPosition() {return 0.0f;} 00008 virtual bool IsValid() {return false;} 00009 }; 00010 00011 class PositionSensorEncoder: public PositionSensor { 00012 public: 00013 PositionSensorEncoder(int cpr, float offset); 00014 virtual float GetMechPosition(); 00015 virtual float GetElecPosition(); 00016 virtual bool IsValid(); 00017 private: 00018 InterruptIn *ZPulse; 00019 DigitalIn *ZSense; 00020 void ZeroEncoderCount(void); 00021 virtual float GetUnlimitedElecPosition(); 00022 private: 00023 int _cpr; 00024 int _lobes; 00025 float _offset; 00026 00027 bool _valid; 00028 float _rotations; 00029 }; 00030 00031 #endif
Generated on Tue Jul 12 2022 17:58:39 by 1.7.2