diff --git a/Marlin/src/HAL/HAL_AVR/HAL.h b/Marlin/src/HAL/HAL_AVR/HAL.h index a4c1355b52..fae5235be3 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL.h +++ b/Marlin/src/HAL/HAL_AVR/HAL.h @@ -197,7 +197,7 @@ FORCE_INLINE void HAL_timer_start(const uint8_t timer_num, const uint32_t freque #define HAL_timer_isr_epilogue(TIMER_NUM) /* 18 cycles maximum latency */ -#define HAL_STEP_TIMER_ISR \ +#define HAL_STEP_TIMER_ISR() \ extern "C" void TIMER1_COMPA_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \ extern "C" void TIMER1_COMPA_vect_bottom (void) asm ("TIMER1_COMPA_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \ void TIMER1_COMPA_vect (void) { \ @@ -270,7 +270,7 @@ void TIMER1_COMPA_vect (void) { \ void TIMER1_COMPA_vect_bottom(void) /* 14 cycles maximum latency */ -#define HAL_TEMP_TIMER_ISR \ +#define HAL_TEMP_TIMER_ISR() \ extern "C" void TIMER0_COMPB_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \ extern "C" void TIMER0_COMPB_vect_bottom(void) asm ("TIMER0_COMPB_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \ void TIMER0_COMPB_vect (void) { \ diff --git a/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h b/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h index 7e88835500..1b002469be 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h +++ b/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h @@ -65,9 +65,9 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_STEP_TIMER_ISR void TC3_Handler() -#define HAL_TEMP_TIMER_ISR void TC4_Handler() -#define HAL_TONE_TIMER_ISR void TC6_Handler() +#define HAL_STEP_TIMER_ISR() void TC3_Handler() +#define HAL_TEMP_TIMER_ISR() void TC4_Handler() +#define HAL_TONE_TIMER_ISR() void TC6_Handler() // -------------------------------------------------------------------------- // Types diff --git a/Marlin/src/HAL/HAL_DUE/Tone.cpp b/Marlin/src/HAL/HAL_DUE/Tone.cpp index 34d5718884..292be1401f 100644 --- a/Marlin/src/HAL/HAL_DUE/Tone.cpp +++ b/Marlin/src/HAL/HAL_DUE/Tone.cpp @@ -45,7 +45,7 @@ void noTone(const pin_t _pin) { extDigitalWrite(_pin, LOW); } -HAL_TONE_TIMER_ISR { +HAL_TONE_TIMER_ISR() { static uint8_t pin_state = 0; HAL_timer_isr_prologue(TONE_TIMER_NUM); diff --git a/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.h b/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.h index 60b6dcfa84..7fbaa5222d 100644 --- a/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.h +++ b/Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.h @@ -69,8 +69,8 @@ typedef uint64_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_TEMP_TIMER_ISR extern "C" void tempTC_Handler(void) -#define HAL_STEP_TIMER_ISR extern "C" void stepTC_Handler(void) +#define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler(void) +#define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler(void) extern "C" void tempTC_Handler(void); extern "C" void stepTC_Handler(void); diff --git a/Marlin/src/HAL/HAL_LINUX/HAL_timers.cpp b/Marlin/src/HAL/HAL_LINUX/HAL_timers.cpp index 5a59165f50..f7b46725af 100644 --- a/Marlin/src/HAL/HAL_LINUX/HAL_timers.cpp +++ b/Marlin/src/HAL/HAL_LINUX/HAL_timers.cpp @@ -32,8 +32,8 @@ * This has many limitations and is not fit for the purpose */ -HAL_STEP_TIMER_ISR; -HAL_TEMP_TIMER_ISR; +HAL_STEP_TIMER_ISR(); +HAL_TEMP_TIMER_ISR(); Timer timers[2]; diff --git a/Marlin/src/HAL/HAL_LINUX/HAL_timers.h b/Marlin/src/HAL/HAL_LINUX/HAL_timers.h index 75ec68b0a8..9505fc568a 100644 --- a/Marlin/src/HAL/HAL_LINUX/HAL_timers.h +++ b/Marlin/src/HAL/HAL_LINUX/HAL_timers.h @@ -63,12 +63,12 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_STEP_TIMER_ISR extern "C" void TIMER0_IRQHandler(void) -#define HAL_TEMP_TIMER_ISR extern "C" void TIMER1_IRQHandler(void) +#define HAL_STEP_TIMER_ISR() extern "C" void TIMER0_IRQHandler(void) +#define HAL_TEMP_TIMER_ISR() extern "C" void TIMER1_IRQHandler(void) // PWM timer #define HAL_PWM_TIMER -#define HAL_PWM_TIMER_ISR extern "C" void TIMER3_IRQHandler(void) +#define HAL_PWM_TIMER_ISR() extern "C" void TIMER3_IRQHandler(void) #define HAL_PWM_TIMER_IRQn diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL_timers.h b/Marlin/src/HAL/HAL_LPC1768/HAL_timers.h index 8f2ee4bc16..e90cdf2488 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL_timers.h +++ b/Marlin/src/HAL/HAL_LPC1768/HAL_timers.h @@ -88,8 +88,8 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_STEP_TIMER_ISR _HAL_TIMER_ISR(STEP_TIMER_NUM) -#define HAL_TEMP_TIMER_ISR _HAL_TIMER_ISR(TEMP_TIMER_NUM) +#define HAL_STEP_TIMER_ISR() _HAL_TIMER_ISR(STEP_TIMER_NUM) +#define HAL_TEMP_TIMER_ISR() _HAL_TIMER_ISR(TEMP_TIMER_NUM) // Timer references by index #define STEP_TIMER _HAL_TIMER(STEP_TIMER_NUM) diff --git a/Marlin/src/HAL/HAL_STM32/HAL_timers_STM32.h b/Marlin/src/HAL/HAL_STM32/HAL_timers_STM32.h index 72b80ccce9..e92da9a5c8 100644 --- a/Marlin/src/HAL/HAL_STM32/HAL_timers_STM32.h +++ b/Marlin/src/HAL/HAL_STM32/HAL_timers_STM32.h @@ -137,8 +137,8 @@ extern void Step_Handler(stimer_t *htim); extern void Temp_Handler(stimer_t *htim); -#define HAL_STEP_TIMER_ISR void Step_Handler(stimer_t *htim) -#define HAL_TEMP_TIMER_ISR void Temp_Handler(stimer_t *htim) +#define HAL_STEP_TIMER_ISR() void Step_Handler(stimer_t *htim) +#define HAL_TEMP_TIMER_ISR() void Temp_Handler(stimer_t *htim) // -------------------------------------------------------------------------- // Types diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_timers_STM32F1.h b/Marlin/src/HAL/HAL_STM32F1/HAL_timers_STM32F1.h index 28e0693718..b17d8a44d3 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_timers_STM32F1.h +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_timers_STM32F1.h @@ -85,9 +85,8 @@ timer_dev* get_timer_dev(int number); // TODO change this - -#define HAL_TEMP_TIMER_ISR extern "C" void tempTC_Handler(void) -#define HAL_STEP_TIMER_ISR extern "C" void stepTC_Handler(void) +#define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler(void) +#define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler(void) extern "C" void tempTC_Handler(void); extern "C" void stepTC_Handler(void); diff --git a/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h b/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h index cbf93fba50..a4c2ba6f44 100644 --- a/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h +++ b/Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h @@ -65,13 +65,13 @@ #ifdef STM32GENERIC extern void TC5_Handler(); extern void TC7_Handler(); - #define HAL_STEP_TIMER_ISR void TC5_Handler() - #define HAL_TEMP_TIMER_ISR void TC7_Handler() + #define HAL_STEP_TIMER_ISR() void TC5_Handler() + #define HAL_TEMP_TIMER_ISR() void TC7_Handler() #else extern void TC5_Handler(stimer_t *htim); extern void TC7_Handler(stimer_t *htim); - #define HAL_STEP_TIMER_ISR void TC5_Handler(stimer_t *htim) - #define HAL_TEMP_TIMER_ISR void TC7_Handler(stimer_t *htim) + #define HAL_STEP_TIMER_ISR() void TC5_Handler(stimer_t *htim) + #define HAL_TEMP_TIMER_ISR() void TC7_Handler(stimer_t *htim) #endif diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h index b856edb3e8..34e56a2059 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h +++ b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h @@ -66,8 +66,8 @@ extern void TC5_Handler(); extern void TC7_Handler(); -#define HAL_STEP_TIMER_ISR void TC5_Handler() -#define HAL_TEMP_TIMER_ISR void TC7_Handler() +#define HAL_STEP_TIMER_ISR() void TC5_Handler() +#define HAL_TEMP_TIMER_ISR() void TC7_Handler() // -------------------------------------------------------------------------- // Types diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/HAL_timers_Teensy.h b/Marlin/src/HAL/HAL_TEENSY31_32/HAL_timers_Teensy.h index b733d1625f..79a854126e 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/HAL_timers_Teensy.h +++ b/Marlin/src/HAL/HAL_TEENSY31_32/HAL_timers_Teensy.h @@ -72,8 +72,8 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_STEP_TIMER_ISR extern "C" void ftm0_isr(void) //void TC3_Handler() -#define HAL_TEMP_TIMER_ISR extern "C" void ftm1_isr(void) //void TC4_Handler() +#define HAL_STEP_TIMER_ISR() extern "C" void ftm0_isr(void) //void TC3_Handler() +#define HAL_TEMP_TIMER_ISR() extern "C" void ftm1_isr(void) //void TC4_Handler() void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h index bac4332ac1..fed256452a 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h @@ -71,8 +71,8 @@ typedef uint32_t hal_timer_t; #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) -#define HAL_STEP_TIMER_ISR extern "C" void ftm0_isr(void) //void TC3_Handler() -#define HAL_TEMP_TIMER_ISR extern "C" void ftm1_isr(void) //void TC4_Handler() +#define HAL_STEP_TIMER_ISR() extern "C" void ftm0_isr(void) //void TC3_Handler() +#define HAL_TEMP_TIMER_ISR() extern "C" void ftm1_isr(void) //void TC4_Handler() void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 56e30bdcbe..a5b86631f9 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -1246,7 +1246,7 @@ void Stepper::set_directions() { * Directly pulses the stepper motors at high frequency. */ -HAL_STEP_TIMER_ISR { +HAL_STEP_TIMER_ISR() { HAL_timer_isr_prologue(STEP_TIMER_NUM); Stepper::isr(); diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 46e05f58ff..d9920c74b0 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -2295,7 +2295,7 @@ void Temperature::readings_ready() { * - For ENDSTOP_INTERRUPTS_FEATURE check endstops if flagged * - Call planner.tick to count down its "ignore" time */ -HAL_TEMP_TIMER_ISR { +HAL_TEMP_TIMER_ISR() { HAL_timer_isr_prologue(TEMP_TIMER_NUM); Temperature::isr();