FOC Implementation for putting multirotor motors in robots

Dependencies:   FastPWM3 mbed

Revision:
0:4e1c4df6aabd
Child:
1:b8bceb4daed5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PositionSensor/PositionSensor.h	Fri Feb 05 00:52:53 2016 +0000
@@ -0,0 +1,26 @@
+#ifndef POSITIONSENSOR_H
+#define POSITIONSENSOR_H
+
+class PositionSensor {
+public:
+    virtual float GetMechPosition() {return 0.0f;}
+    virtual float GetElecPosition() {return 0.0f;}
+};
+  
+  
+class PositionSensorEncoder: public PositionSensor {
+public:
+    PositionSensorEncoder(int CPR, float offset);
+    virtual float GetMechPosition();
+    virtual float GetElecPosition();
+private:
+    InterruptIn *ZPulse;
+    DigitalIn *ZSense;
+    DigitalOut *ZTest;
+    virtual void ZeroEncoderCount(void);
+    int _CPR;
+    int state;
+    float _offset;
+};
+
+#endif
\ No newline at end of file