bldc driver firmware based on hobbyking cheetah compact
Dependencies: BLDC_V2 mbed-dev-f303 FastPWM3
Diff: PositionSensor/PositionSensor.h
- Revision:
- 47:f4ecf3e0576a
- Parent:
- 45:aadebe074af6
- Child:
- 48:a74e401a6d84
diff -r 6cc428f3431d -r f4ecf3e0576a PositionSensor/PositionSensor.h --- a/PositionSensor/PositionSensor.h Mon Jul 30 20:33:23 2018 +0000 +++ b/PositionSensor/PositionSensor.h Wed May 13 09:53:27 2020 +0000 @@ -16,30 +16,30 @@ }; -class PositionSensorEncoder: public PositionSensor { -public: - PositionSensorEncoder(int CPR, float offset, int ppairs); - virtual void Sample(float dt); - virtual float GetMechPosition(); - virtual float GetElecPosition(); - virtual float GetMechVelocity(); - virtual float GetElecVelocity(); - virtual void ZeroPosition(void); - virtual void SetElecOffset(float offset); - virtual int GetRawPosition(void); - virtual int GetCPR(void); - virtual void WriteLUT(int new_lut[128]); -private: - InterruptIn *ZPulse; - DigitalIn *ZSense; - //DigitalOut *ZTest; - virtual void ZeroEncoderCount(void); - virtual void ZeroEncoderCountDown(void); - int _CPR, flag, rotations, _ppairs, raw; - //int state; - float _offset, MechPosition, MechOffset, dir, test_pos, oldVel, out_old, velVec[40]; - int offset_lut[128]; -}; +//class PositionSensorEncoder: public PositionSensor { +//public: +// PositionSensorEncoder(int CPR, float offset, int ppairs); +// virtual void Sample(float dt); +// virtual float GetMechPosition(); +// virtual float GetElecPosition(); +// virtual float GetMechVelocity(); +// virtual float GetElecVelocity(); +// virtual void ZeroPosition(void); +// virtual void SetElecOffset(float offset); +// virtual int GetRawPosition(void); +// virtual int GetCPR(void); +// virtual void WriteLUT(int new_lut[128]); +//private: +// InterruptIn *ZPulse; +// DigitalIn *ZSense; +// //DigitalOut *ZTest; +// virtual void ZeroEncoderCount(void); +// virtual void ZeroEncoderCountDown(void); +// int _CPR, flag, rotations, _ppairs, raw; +// //int state; +// float _offset, MechPosition, MechOffset, dir, test_pos, oldVel, out_old, velVec[40]; +// int offset_lut[128]; +//}; class PositionSensorAM5147: public PositionSensor{ public: @@ -59,6 +59,7 @@ private: float position, ElecPosition, ElecOffset, MechPosition, MechOffset, modPosition, oldModPosition, oldVel, velVec[40], MechVelocity, ElecVelocity, ElecVelocityFilt; int raw, _CPR, rotations, old_counts, _ppairs; + bool flag_first_time; // avoid the first time angle - old_counts SPI *spi; DigitalOut *cs; int readAngleCmd;