@@ -1976,8 +1976,8 @@ static void spindlePulseOn (uint_fast16_t pulse_length)
1976
1976
1977
1977
IRAM_ATTR inline static void spindle_off (spindle_ptrs_t * spindle )
1978
1978
{
1979
- spindle -> context . pwm -> flags . enable_out = Off ;
1980
- #ifdef SPINDLE_DIRECTION_PIN
1979
+ #if DRIVER_SPINDLE_ENABLE & SPINDLE_PWM
1980
+ #ifdef SPINDLE_DIRECTION_PIN
1981
1981
if (spindle -> context .pwm -> flags .cloned ) {
1982
1982
#if SPINDLE_DIRECTION_PORT == EXPANDER_PORT
1983
1983
EXPANDER_OUT (SPINDLE_DIRECTION_PIN , settings .pwm_spindle .invert .ccw );
@@ -1991,12 +1991,16 @@ IRAM_ATTR inline static void spindle_off (spindle_ptrs_t *spindle)
1991
1991
DIGITAL_OUT (SPINDLE_ENABLE_PIN , settings .pwm_spindle .invert .on );
1992
1992
#endif
1993
1993
}
1994
- #else
1995
- #if SPINDLE_ENABLE_PORT == EXPANDER_PORT
1994
+ #elif SPINDLE_ENABLE_PORT == EXPANDER_PORT
1996
1995
EXPANDER_OUT (SPINDLE_ENABLE_PIN , settings .pwm_spindle .invert .on );
1997
- #else
1996
+ #else
1997
+ DIGITAL_OUT (SPINDLE_ENABLE_PIN , settings .pwm_spindle .invert .on );
1998
+ #endif
1999
+ spindle -> context .pwm -> flags .enable_out = Off ;
2000
+ #elif SPINDLE_ENABLE_PORT == EXPANDER_PORT
2001
+ EXPANDER_OUT (SPINDLE_ENABLE_PIN , settings .pwm_spindle .invert .on );
2002
+ #else
1998
2003
DIGITAL_OUT (SPINDLE_ENABLE_PIN , settings .pwm_spindle .invert .on );
1999
- #endif
2000
2004
#endif
2001
2005
}
2002
2006
@@ -2007,7 +2011,8 @@ IRAM_ATTR static void spindleOffBasic (spindle_ptrs_t *spindle)
2007
2011
2008
2012
IRAM_ATTR inline static void spindle_on (spindle_ptrs_t * spindle )
2009
2013
{
2010
- #ifdef SPINDLE_DIRECTION_PIN
2014
+ #if DRIVER_SPINDLE_ENABLE & SPINDLE_PWM
2015
+ #ifdef SPINDLE_DIRECTION_PIN
2011
2016
if (spindle -> context .pwm -> flags .cloned ) {
2012
2017
#if SPINDLE_DIRECTION_PORT == EXPANDER_PORT
2013
2018
EXPANDER_OUT (SPINDLE_DIRECTION_PIN , !settings .pwm_spindle .invert .ccw );
@@ -2019,16 +2024,19 @@ IRAM_ATTR inline static void spindle_on (spindle_ptrs_t *spindle)
2019
2024
EXPANDER_OUT (SPINDLE_ENABLE_PIN , !settings .pwm_spindle .invert .on );
2020
2025
#else
2021
2026
DIGITAL_OUT (SPINDLE_ENABLE_PIN , !settings .pwm_spindle .invert .on );
2022
- #endif
2027
+ #endif
2023
2028
}
2024
- #else
2025
- #if SPINDLE_ENABLE_PORT == EXPANDER_PORT
2029
+ #elif SPINDLE_ENABLE_PORT == EXPANDER_PORT
2026
2030
EXPANDER_OUT (SPINDLE_ENABLE_PIN , !settings .pwm_spindle .invert .on );
2027
- #else
2031
+ #else
2028
2032
DIGITAL_OUT (SPINDLE_ENABLE_PIN , !settings .pwm_spindle .invert .on );
2029
- #endif
2030
- #endif
2033
+ #endif
2031
2034
spindle -> context .pwm -> flags .enable_out = On ;
2035
+ #elif SPINDLE_ENABLE_PORT == EXPANDER_PORT
2036
+ EXPANDER_OUT (SPINDLE_ENABLE_PIN , !settings .pwm_spindle .invert .on );
2037
+ #else
2038
+ DIGITAL_OUT (SPINDLE_ENABLE_PIN , !settings .pwm_spindle .invert .on );
2039
+ #endif
2032
2040
}
2033
2041
2034
2042
IRAM_ATTR inline static void spindle_dir (bool ccw )
@@ -2090,7 +2098,7 @@ static void spindleSetSpeed (spindle_ptrs_t *spindle, uint_fast16_t pwm_value)
2090
2098
pwm_spindle .ramp .pwm_target = pwm_value ;
2091
2099
ledc_set_fade_step_and_start (pwm_spindle .channel .speed_mode , pwm_spindle .channel .channel , pwm_spindle .ramp .pwm_target , 1 , 4 , LEDC_FADE_NO_WAIT );
2092
2100
#else
2093
- ledc_set_duty (pwm_spindle .channel .speed_mode , pwm_spindle .channel .channel , spindle -> context . pwm -> settings -> invert . pwm ? pwm_spindle . pwm_max_value - pwm_value : pwm_value );
2101
+ ledc_set_duty (pwm_spindle .channel .speed_mode , pwm_spindle .channel .channel , pwm_value );
2094
2102
ledc_update_duty (pwm_spindle .channel .speed_mode , pwm_spindle .channel .channel );
2095
2103
#endif
2096
2104
if (!spindle -> context .pwm -> flags .enable_out && spindle -> context .pwm -> flags .rpm_controlled )
@@ -2181,7 +2189,9 @@ bool spindleConfig (spindle_ptrs_t *spindle)
2181
2189
#endif
2182
2190
}
2183
2191
} else {
2192
+ #if DRIVER_SPINDLE_ENABLE & SPINDLE_PWM
2184
2193
if (spindle -> context .pwm -> flags .enable_out )
2194
+ #endif
2185
2195
spindle -> set_state (spindle , (spindle_state_t ){0 }, 0.0f );
2186
2196
spindle -> esp32_off = spindleOffBasic ;
2187
2197
spindle -> set_state = spindleSetState ;
@@ -3426,10 +3436,10 @@ static void wdt_tickler (sys_state_t state)
3426
3436
}
3427
3437
3428
3438
// Initialize HAL pointers, setup serial comms and enable EEPROM
3429
- // NOTE: Grbl is not yet configured (from EEPROM data), driver_setup() will be called when done
3439
+ // NOTE: grblHAL is not yet configured (from EEPROM data), driver_setup() will be called when done
3430
3440
bool driver_init (void )
3431
3441
{
3432
- // Enable EEPROM and serial port here for Grbl to be able to configure itself and report any errors
3442
+ // Enable EEPROM and serial port here for grblHAL to be able to configure itself and report any errors
3433
3443
rtc_cpu_freq_config_t cpu ;
3434
3444
3435
3445
rtc_clk_cpu_freq_get_config (& cpu );
@@ -3439,7 +3449,7 @@ bool driver_init (void)
3439
3449
#else
3440
3450
hal .info = "ESP32" ;
3441
3451
#endif
3442
- hal .driver_version = "250501 " ;
3452
+ hal .driver_version = "250514 " ;
3443
3453
hal .driver_url = GRBL_URL "/ESP32" ;
3444
3454
#ifdef BOARD_NAME
3445
3455
hal .board = BOARD_NAME ;
0 commit comments