kopia lustrzana https://github.com/Schildkroet/GRBL-Advanced
Fixed spindle control
rodzic
3c0131d37e
commit
84df23dd0d
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
|
|
||||||
static float pwm_gradient; // Precalulated value to speed up rpm to PWM conversions.
|
static float pwm_gradient; // Precalulated value to speed up rpm to PWM conversions.
|
||||||
|
static uint8_t spindle_enabled = 0;
|
||||||
|
|
||||||
|
|
||||||
void Spindle_Init(void)
|
void Spindle_Init(void)
|
||||||
|
@ -52,6 +53,7 @@ void Spindle_Init(void)
|
||||||
void Spindle_Stop(void)
|
void Spindle_Stop(void)
|
||||||
{
|
{
|
||||||
TIM1->CCR1 = 100; // Disable PWM. Output voltage is zero.
|
TIM1->CCR1 = 100; // Disable PWM. Output voltage is zero.
|
||||||
|
spindle_enabled = 0;
|
||||||
|
|
||||||
#ifdef INVERT_SPINDLE_ENABLE_PIN
|
#ifdef INVERT_SPINDLE_ENABLE_PIN
|
||||||
GPIO_SetBits(GPIO_SPINDLE_ENA_PORT, GPIO_SPINDLE_ENA_PIN);
|
GPIO_SetBits(GPIO_SPINDLE_ENA_PORT, GPIO_SPINDLE_ENA_PIN);
|
||||||
|
@ -64,7 +66,7 @@ void Spindle_Stop(void)
|
||||||
uint8_t Spindle_GetState(void)
|
uint8_t Spindle_GetState(void)
|
||||||
{
|
{
|
||||||
// Check if PWM is enabled.
|
// Check if PWM is enabled.
|
||||||
if(TIM1->CCR1 < 100)
|
if(spindle_enabled)
|
||||||
{
|
{
|
||||||
/*if(SPINDLE_DIRECTION_PORT & (1<<SPINDLE_DIRECTION_BIT)) {
|
/*if(SPINDLE_DIRECTION_PORT & (1<<SPINDLE_DIRECTION_BIT)) {
|
||||||
return SPINDLE_STATE_CCW;
|
return SPINDLE_STATE_CCW;
|
||||||
|
@ -95,13 +97,16 @@ void Spindle_SetSpeed(uint8_t pwm_value)
|
||||||
#else
|
#else
|
||||||
GPIO_SetBits(GPIO_SPINDLE_ENA_PORT, GPIO_SPINDLE_ENA_PIN);
|
GPIO_SetBits(GPIO_SPINDLE_ENA_PORT, GPIO_SPINDLE_ENA_PIN);
|
||||||
#endif
|
#endif
|
||||||
|
spindle_enabled = 1;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if(pwm_value == SPINDLE_PWM_OFF_VALUE) {
|
if(pwm_value == SPINDLE_PWM_OFF_VALUE) {
|
||||||
TIM_Cmd(TIM1, DISABLE); // Disable PWM. Output voltage is zero.
|
TIM_Cmd(TIM1, DISABLE); // Disable PWM. Output voltage is zero.
|
||||||
|
spindle_enabled = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
TIM_Cmd(TIM1, ENABLE); // Ensure PWM output is enabled.
|
TIM_Cmd(TIM1, ENABLE); // Ensure PWM output is enabled.
|
||||||
|
spindle_enabled = 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue