Equator Strut Controller

Dependents:   EquatorStrutDigitalMonitor

Revision:
0:a6ade00ff41d
Child:
2:3976e3f43470
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EquatorStrutController.h	Tue Jul 29 08:44:30 2014 +0000
@@ -0,0 +1,52 @@
+#ifndef EQUATOR_STRUT_CONTROLLER_H
+#define EQUATOR_STRUT_CONTROLLER_H
+
+#include "mbed.h"
+
+class EquatorStrut
+{
+public:
+    EquatorStrut();
+    void SetPower(double power);
+    double GetPosition();
+    double CurrentSpeed();
+    void Home();
+    void Enable();
+    void Disable();
+    
+private:
+    Timer SinInterruptInterval;
+    Ticker InputReadTick;
+    
+    InterruptIn* HallSensor;
+    
+    PwmOut* PhaseA;
+    PwmOut* PhaseB;
+    
+    DigitalIn* RGHSin;
+    DigitalIn* RGHCos;
+    
+    DigitalOut* ResetLine;
+    DigitalOut* PulseOut1;
+    DigitalOut* PulseOut2;
+      
+    bool Valid();
+    
+    void InputRead();
+    void HallEffectFall();
+    
+    char PinState;
+    
+    int FullWavePeriod;
+    int PartWavePeriod;
+    
+    double position;
+    
+    int direction;
+    
+    bool Homing;
+    bool HallTriggered;
+    bool Enabled;
+};
+
+#endif
\ No newline at end of file