Test the set param mode

Dependencies:   FastPWM3

Committer:
benkatz
Date:
Sun Jul 21 21:42:49 2019 +0000
Revision:
52:8e74c22ed89f
Parent:
47:e1196a851f76
testing gb-54;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benkatz 0:4e1c4df6aabd 1 #ifndef POSITIONSENSOR_H
benkatz 0:4e1c4df6aabd 2 #define POSITIONSENSOR_H
benkatz 0:4e1c4df6aabd 3 class PositionSensor {
benkatz 0:4e1c4df6aabd 4 public:
benkatz 47:e1196a851f76 5 virtual void Sample(float dt) = 0;
benkatz 0:4e1c4df6aabd 6 virtual float GetMechPosition() {return 0.0f;}
benkatz 38:67e4e1453a4b 7 virtual float GetMechPositionFixed() {return 0.0f;}
benkatz 0:4e1c4df6aabd 8 virtual float GetElecPosition() {return 0.0f;}
benkatz 9:d7eb815cb057 9 virtual float GetMechVelocity() {return 0.0f;}
benkatz 13:a3fa0a31b114 10 virtual float GetElecVelocity() {return 0.0f;}
benkatz 22:60276ba87ac6 11 virtual void ZeroPosition(void) = 0;
benkatz 22:60276ba87ac6 12 virtual int GetRawPosition(void) = 0;
benkatz 22:60276ba87ac6 13 virtual void SetElecOffset(float offset) = 0;
benkatz 22:60276ba87ac6 14 virtual int GetCPR(void) = 0;
benkatz 52:8e74c22ed89f 15 virtual void WriteLUT(int new_lut[128]) = 0;
benkatz 52:8e74c22ed89f 16 virtual void SetNPP(int npp) = 0;
benkatz 0:4e1c4df6aabd 17 };
benkatz 0:4e1c4df6aabd 18
benkatz 0:4e1c4df6aabd 19
benkatz 0:4e1c4df6aabd 20 class PositionSensorEncoder: public PositionSensor {
benkatz 0:4e1c4df6aabd 21 public:
benkatz 10:370851e6e132 22 PositionSensorEncoder(int CPR, float offset, int ppairs);
benkatz 47:e1196a851f76 23 virtual void Sample(float dt);
benkatz 0:4e1c4df6aabd 24 virtual float GetMechPosition();
benkatz 0:4e1c4df6aabd 25 virtual float GetElecPosition();
benkatz 3:6a0015d88d06 26 virtual float GetMechVelocity();
benkatz 3:6a0015d88d06 27 virtual float GetElecVelocity();
benkatz 22:60276ba87ac6 28 virtual void ZeroPosition(void);
benkatz 22:60276ba87ac6 29 virtual void SetElecOffset(float offset);
benkatz 22:60276ba87ac6 30 virtual int GetRawPosition(void);
benkatz 22:60276ba87ac6 31 virtual int GetCPR(void);
benkatz 22:60276ba87ac6 32 virtual void WriteLUT(int new_lut[128]);
benkatz 0:4e1c4df6aabd 33 private:
benkatz 0:4e1c4df6aabd 34 InterruptIn *ZPulse;
benkatz 0:4e1c4df6aabd 35 DigitalIn *ZSense;
benkatz 1:b8bceb4daed5 36 //DigitalOut *ZTest;
benkatz 0:4e1c4df6aabd 37 virtual void ZeroEncoderCount(void);
benkatz 7:dc5f27756e02 38 virtual void ZeroEncoderCountDown(void);
benkatz 22:60276ba87ac6 39 int _CPR, flag, rotations, _ppairs, raw;
benkatz 1:b8bceb4daed5 40 //int state;
benkatz 35:69b24894c11d 41 float _offset, MechPosition, MechOffset, dir, test_pos, oldVel, out_old, velVec[40];
benkatz 22:60276ba87ac6 42 int offset_lut[128];
benkatz 8:10ae7bc88d6e 43 };
benkatz 14:80ce59119d93 44
benkatz 14:80ce59119d93 45 class PositionSensorAM5147: public PositionSensor{
benkatz 14:80ce59119d93 46 public:
benkatz 14:80ce59119d93 47 PositionSensorAM5147(int CPR, float offset, int ppairs);
benkatz 47:e1196a851f76 48 virtual void Sample(float dt);
benkatz 14:80ce59119d93 49 virtual float GetMechPosition();
benkatz 38:67e4e1453a4b 50 virtual float GetMechPositionFixed();
benkatz 14:80ce59119d93 51 virtual float GetElecPosition();
benkatz 14:80ce59119d93 52 virtual float GetMechVelocity();
benkatz 37:c0f352d6e8e3 53 virtual float GetElecVelocity();
benkatz 14:80ce59119d93 54 virtual int GetRawPosition();
benkatz 14:80ce59119d93 55 virtual void ZeroPosition();
benkatz 22:60276ba87ac6 56 virtual void SetElecOffset(float offset);
benkatz 37:c0f352d6e8e3 57 virtual void SetMechOffset(float offset);
benkatz 22:60276ba87ac6 58 virtual int GetCPR(void);
benkatz 22:60276ba87ac6 59 virtual void WriteLUT(int new_lut[128]);
benkatz 52:8e74c22ed89f 60 virtual void SetNPP(int npp);
benkatz 14:80ce59119d93 61 private:
benkatz 35:69b24894c11d 62 float position, ElecPosition, ElecOffset, MechPosition, MechOffset, modPosition, oldModPosition, oldVel, velVec[40], MechVelocity, ElecVelocity, ElecVelocityFilt;
benkatz 22:60276ba87ac6 63 int raw, _CPR, rotations, old_counts, _ppairs;
benkatz 14:80ce59119d93 64 SPI *spi;
benkatz 14:80ce59119d93 65 DigitalOut *cs;
benkatz 14:80ce59119d93 66 int readAngleCmd;
benkatz 22:60276ba87ac6 67 int offset_lut[128];
benkatz 14:80ce59119d93 68
benkatz 14:80ce59119d93 69 };
benkatz 20:bf9ea5125d52 70
benkatz 0:4e1c4df6aabd 71 #endif