#ifndef Spindle_h
#define Spindle_h
#include "Energia.h"
class OutputPin;
class PwmOutputPin;
class Machine;
class Spindle {
Machine* machine;
struct {
uint spindleOn : 1;
uint spindleCCW : 1;
uint pulseOn : 1; } flags;
float setScaledSpeed;
char useAxis;
// independent mode
int32_t pwmFrequency; // PWM
PwmOutputPin* runPin;
OutputPin* directionPin;
void setAxisSpeed();
public:
Spindle(
Machine* myMachine,
char* data,
String* msgPtr );
~Spindle();
uint32_t onDelayMs;
uint32_t offDelayMs;
bool isValid();
void setSpindleDirection( bool );
void setSpindleOn( bool );
void setSpindleSpeed( float scaledSpeed );
bool counterClockwise();
bool running(); };
#endif