22 #ifndef spindle_control_h
23 #define spindle_control_h
25 #define SPINDLE_NO_SYNC false
26 #define SPINDLE_FORCE_SYNC true
28 #define SPINDLE_STATE_DISABLE 0
29 #define SPINDLE_STATE_CW bit(0)
30 #define SPINDLE_STATE_CCW bit(1)
void spindle_init()
Initializes spindle pins and hardware PWM, if enabled.
uint16_t spindle_compute_pwm_value(float rpm)
Computes Mega2560-specific PWM register value for the given RPM for quick updating.
uint8_t spindle_get_state()
Returns current spindle output state. Overrides may alter it from programmed states.
void spindle_set_state(uint8_t state, float rpm)
Sets spindle running state with direction, enable, and spindle PWM.
void spindle_set_speed(uint16_t pwm_value)
Sets spindle PWM quickly for stepper ISR. Also called by spindle_set_state().
void spindle_sync(uint8_t state, float rpm)
Called by g-code parser when setting spindle state and requires a buffer sync.
void spindle_stop()
Disables the spindle and sets PWM output to zero when PWM variable spindle speed is enabled...