#ifndef StepDirectionAxis_h
#define StepDirectionAxis_h
#include "Energia.h"
#include "Axis.h"
class OutputPin;
class StepDirectionAxis : public Axis { // Step/Direction interface axis
public:
StepDirectionAxis( char* data, String* msgPtr );
virtual ~StepDirectionAxis();
void motorStepIsr();
bool isConfigured();
protected: // make available to DRV8711Axis
OutputPin* directionPin; // ACTIVE_HIGH is left to right, front to back, down or clockwise
OutputPin* stepPin; // ACTIVE_HIGH is low to high transition
private:
volatile enum PulseState {
Quiescent,
StateStepPositive,
StateStepNegative,
NeedsPulseReset } phaseAngle;
};
#endif