Equator Strut Controller
Dependents: EquatorStrutDigitalMonitor
Diff: EquatorStrutController.h
- 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