Bayley Wang
/
foc-ed_in_the_bot_compact
robot
PositionSensor/PositionSensor.h@155:7c6005933d4c, 2017-05-04 (annotated)
- Committer:
- bwang
- Date:
- Thu May 04 17:35:10 2017 +0000
- Revision:
- 155:7c6005933d4c
- Parent:
- 121:de10418bf2c2
- Child:
- 219:1cfd651eb2b2
05/04/2017 13:34 - changed logic in PwmIn::handle_fall, which no longer resets timer on invalid edges
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 15:b583cd30b063 | 1 | #ifndef __POSITIONSENSOR_H |
bwang | 15:b583cd30b063 | 2 | #define __POSITIONSENSOR_H |
bwang | 0:bac9c3a3a6ca | 3 | |
bwang | 0:bac9c3a3a6ca | 4 | class PositionSensor { |
bwang | 0:bac9c3a3a6ca | 5 | public: |
bwang | 0:bac9c3a3a6ca | 6 | virtual float GetMechPosition() {return 0.0f;} |
bwang | 0:bac9c3a3a6ca | 7 | virtual float GetElecPosition() {return 0.0f;} |
bwang | 119:ad7a6af6fba3 | 8 | virtual float GetUnlimitedElecPosition() {return 0.0f;} |
bwang | 28:ed9c1ca386fd | 9 | virtual bool IsValid() {return false;} |
bwang | 0:bac9c3a3a6ca | 10 | }; |
bwang | 0:bac9c3a3a6ca | 11 | |
bwang | 0:bac9c3a3a6ca | 12 | |
bwang | 0:bac9c3a3a6ca | 13 | class PositionSensorEncoder: public PositionSensor { |
bwang | 0:bac9c3a3a6ca | 14 | public: |
bwang | 9:074575151e4b | 15 | PositionSensorEncoder(int cpr, float offset); |
bwang | 0:bac9c3a3a6ca | 16 | virtual float GetMechPosition(); |
bwang | 0:bac9c3a3a6ca | 17 | virtual float GetElecPosition(); |
bwang | 119:ad7a6af6fba3 | 18 | virtual float GetUnlimitedElecPosition(); |
bwang | 28:ed9c1ca386fd | 19 | virtual bool IsValid(); |
bwang | 0:bac9c3a3a6ca | 20 | private: |
bwang | 0:bac9c3a3a6ca | 21 | InterruptIn *ZPulse; |
bwang | 0:bac9c3a3a6ca | 22 | DigitalIn *ZSense; |
bwang | 0:bac9c3a3a6ca | 23 | void ZeroEncoderCount(void); |
bwang | 119:ad7a6af6fba3 | 24 | private: |
bwang | 9:074575151e4b | 25 | int _cpr; |
bwang | 119:ad7a6af6fba3 | 26 | int _lobes; |
bwang | 119:ad7a6af6fba3 | 27 | float _offset; |
bwang | 119:ad7a6af6fba3 | 28 | |
bwang | 28:ed9c1ca386fd | 29 | bool _valid; |
bwang | 119:ad7a6af6fba3 | 30 | float _rotations; |
bwang | 0:bac9c3a3a6ca | 31 | }; |
bwang | 0:bac9c3a3a6ca | 32 | |
bwang | 0:bac9c3a3a6ca | 33 | #endif |