Selaa lähdekoodia

Make HAL ISR macros function-like

Scott Lahteine 6 vuotta sitten
vanhempi
commit
1f7e220387

+ 2
- 2
Marlin/src/HAL/HAL_AVR/HAL.h Näytä tiedosto

197
 #define HAL_timer_isr_epilogue(TIMER_NUM)
197
 #define HAL_timer_isr_epilogue(TIMER_NUM)
198
 
198
 
199
 /* 18 cycles maximum latency */
199
 /* 18 cycles maximum latency */
200
-#define HAL_STEP_TIMER_ISR \
200
+#define HAL_STEP_TIMER_ISR() \
201
 extern "C" void TIMER1_COMPA_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \
201
 extern "C" void TIMER1_COMPA_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \
202
 extern "C" void TIMER1_COMPA_vect_bottom (void) asm ("TIMER1_COMPA_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \
202
 extern "C" void TIMER1_COMPA_vect_bottom (void) asm ("TIMER1_COMPA_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \
203
 void TIMER1_COMPA_vect (void) { \
203
 void TIMER1_COMPA_vect (void) { \
270
 void TIMER1_COMPA_vect_bottom(void)
270
 void TIMER1_COMPA_vect_bottom(void)
271
 
271
 
272
 /* 14 cycles maximum latency */
272
 /* 14 cycles maximum latency */
273
-#define HAL_TEMP_TIMER_ISR \
273
+#define HAL_TEMP_TIMER_ISR() \
274
 extern "C" void TIMER0_COMPB_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \
274
 extern "C" void TIMER0_COMPB_vect (void) __attribute__ ((signal, naked, used, externally_visible)); \
275
 extern "C" void TIMER0_COMPB_vect_bottom(void)  asm ("TIMER0_COMPB_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \
275
 extern "C" void TIMER0_COMPB_vect_bottom(void)  asm ("TIMER0_COMPB_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \
276
 void TIMER0_COMPB_vect (void) { \
276
 void TIMER0_COMPB_vect (void) { \

+ 3
- 3
Marlin/src/HAL/HAL_DUE/HAL_timers_Due.h Näytä tiedosto

65
 #define ENABLE_TEMPERATURE_INTERRUPT()  HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
65
 #define ENABLE_TEMPERATURE_INTERRUPT()  HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
66
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
66
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
67
 
67
 
68
-#define HAL_STEP_TIMER_ISR  void TC3_Handler()
69
-#define HAL_TEMP_TIMER_ISR  void TC4_Handler()
70
-#define HAL_TONE_TIMER_ISR  void TC6_Handler()
68
+#define HAL_STEP_TIMER_ISR()  void TC3_Handler()
69
+#define HAL_TEMP_TIMER_ISR()  void TC4_Handler()
70
+#define HAL_TONE_TIMER_ISR()  void TC6_Handler()
71
 
71
 
72
 // --------------------------------------------------------------------------
72
 // --------------------------------------------------------------------------
73
 // Types
73
 // Types

+ 1
- 1
Marlin/src/HAL/HAL_DUE/Tone.cpp Näytä tiedosto

45
   extDigitalWrite(_pin, LOW);
45
   extDigitalWrite(_pin, LOW);
46
 }
46
 }
47
 
47
 
48
-HAL_TONE_TIMER_ISR {
48
+HAL_TONE_TIMER_ISR() {
49
   static uint8_t pin_state = 0;
49
   static uint8_t pin_state = 0;
50
   HAL_timer_isr_prologue(TONE_TIMER_NUM);
50
   HAL_timer_isr_prologue(TONE_TIMER_NUM);
51
 
51
 

+ 2
- 2
Marlin/src/HAL/HAL_ESP32/HAL_timers_ESP32.h Näytä tiedosto

69
 #define ENABLE_TEMPERATURE_INTERRUPT()  HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
69
 #define ENABLE_TEMPERATURE_INTERRUPT()  HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
70
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
70
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
71
 
71
 
72
-#define HAL_TEMP_TIMER_ISR extern "C" void tempTC_Handler(void)
73
-#define HAL_STEP_TIMER_ISR extern "C" void stepTC_Handler(void)
72
+#define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler(void)
73
+#define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler(void)
74
 
74
 
75
 extern "C" void tempTC_Handler(void);
75
 extern "C" void tempTC_Handler(void);
76
 extern "C" void stepTC_Handler(void);
76
 extern "C" void stepTC_Handler(void);

+ 2
- 2
Marlin/src/HAL/HAL_LINUX/HAL_timers.cpp Näytä tiedosto

32
  * This has many limitations and is not fit for the purpose
32
  * This has many limitations and is not fit for the purpose
33
  */
33
  */
34
 
34
 
35
-HAL_STEP_TIMER_ISR;
36
-HAL_TEMP_TIMER_ISR;
35
+HAL_STEP_TIMER_ISR();
36
+HAL_TEMP_TIMER_ISR();
37
 
37
 
38
 Timer timers[2];
38
 Timer timers[2];
39
 
39
 

+ 3
- 3
Marlin/src/HAL/HAL_LINUX/HAL_timers.h Näytä tiedosto

63
 #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
63
 #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
64
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
64
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
65
 
65
 
66
-#define HAL_STEP_TIMER_ISR  extern "C" void TIMER0_IRQHandler(void)
67
-#define HAL_TEMP_TIMER_ISR  extern "C" void TIMER1_IRQHandler(void)
66
+#define HAL_STEP_TIMER_ISR()  extern "C" void TIMER0_IRQHandler(void)
67
+#define HAL_TEMP_TIMER_ISR()  extern "C" void TIMER1_IRQHandler(void)
68
 
68
 
69
 // PWM timer
69
 // PWM timer
70
 #define HAL_PWM_TIMER
70
 #define HAL_PWM_TIMER
71
-#define HAL_PWM_TIMER_ISR  extern "C" void TIMER3_IRQHandler(void)
71
+#define HAL_PWM_TIMER_ISR()   extern "C" void TIMER3_IRQHandler(void)
72
 #define HAL_PWM_TIMER_IRQn
72
 #define HAL_PWM_TIMER_IRQn
73
 
73
 
74
 
74
 

+ 2
- 2
Marlin/src/HAL/HAL_LPC1768/HAL_timers.h Näytä tiedosto

88
 #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
88
 #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
89
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
89
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
90
 
90
 
91
-#define HAL_STEP_TIMER_ISR _HAL_TIMER_ISR(STEP_TIMER_NUM)
92
-#define HAL_TEMP_TIMER_ISR _HAL_TIMER_ISR(TEMP_TIMER_NUM)
91
+#define HAL_STEP_TIMER_ISR() _HAL_TIMER_ISR(STEP_TIMER_NUM)
92
+#define HAL_TEMP_TIMER_ISR() _HAL_TIMER_ISR(TEMP_TIMER_NUM)
93
 
93
 
94
 // Timer references by index
94
 // Timer references by index
95
 #define STEP_TIMER _HAL_TIMER(STEP_TIMER_NUM)
95
 #define STEP_TIMER _HAL_TIMER(STEP_TIMER_NUM)

+ 2
- 2
Marlin/src/HAL/HAL_STM32/HAL_timers_STM32.h Näytä tiedosto

137
 
137
 
138
 extern void Step_Handler(stimer_t *htim);
138
 extern void Step_Handler(stimer_t *htim);
139
 extern void Temp_Handler(stimer_t *htim);
139
 extern void Temp_Handler(stimer_t *htim);
140
-#define HAL_STEP_TIMER_ISR void Step_Handler(stimer_t *htim)
141
-#define HAL_TEMP_TIMER_ISR void Temp_Handler(stimer_t *htim)
140
+#define HAL_STEP_TIMER_ISR() void Step_Handler(stimer_t *htim)
141
+#define HAL_TEMP_TIMER_ISR() void Temp_Handler(stimer_t *htim)
142
 
142
 
143
 // --------------------------------------------------------------------------
143
 // --------------------------------------------------------------------------
144
 // Types
144
 // Types

+ 2
- 3
Marlin/src/HAL/HAL_STM32F1/HAL_timers_STM32F1.h Näytä tiedosto

85
 
85
 
86
 // TODO change this
86
 // TODO change this
87
 
87
 
88
-
89
-#define HAL_TEMP_TIMER_ISR extern "C" void tempTC_Handler(void)
90
-#define HAL_STEP_TIMER_ISR extern "C" void stepTC_Handler(void)
88
+#define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler(void)
89
+#define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler(void)
91
 
90
 
92
 extern "C" void tempTC_Handler(void);
91
 extern "C" void tempTC_Handler(void);
93
 extern "C" void stepTC_Handler(void);
92
 extern "C" void stepTC_Handler(void);

+ 4
- 4
Marlin/src/HAL/HAL_STM32F4/HAL_timers_STM32F4.h Näytä tiedosto

65
 #ifdef STM32GENERIC
65
 #ifdef STM32GENERIC
66
   extern void TC5_Handler();
66
   extern void TC5_Handler();
67
   extern void TC7_Handler();
67
   extern void TC7_Handler();
68
-  #define HAL_STEP_TIMER_ISR void TC5_Handler()
69
-  #define HAL_TEMP_TIMER_ISR void TC7_Handler()
68
+  #define HAL_STEP_TIMER_ISR() void TC5_Handler()
69
+  #define HAL_TEMP_TIMER_ISR() void TC7_Handler()
70
 #else
70
 #else
71
   extern void TC5_Handler(stimer_t *htim);
71
   extern void TC5_Handler(stimer_t *htim);
72
   extern void TC7_Handler(stimer_t *htim);
72
   extern void TC7_Handler(stimer_t *htim);
73
-  #define HAL_STEP_TIMER_ISR void TC5_Handler(stimer_t *htim)
74
-  #define HAL_TEMP_TIMER_ISR void TC7_Handler(stimer_t *htim)
73
+  #define HAL_STEP_TIMER_ISR() void TC5_Handler(stimer_t *htim)
74
+  #define HAL_TEMP_TIMER_ISR() void TC7_Handler(stimer_t *htim)
75
 #endif
75
 #endif
76
 
76
 
77
 
77
 

+ 2
- 2
Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.h Näytä tiedosto

66
 
66
 
67
 extern void TC5_Handler();
67
 extern void TC5_Handler();
68
 extern void TC7_Handler();
68
 extern void TC7_Handler();
69
-#define HAL_STEP_TIMER_ISR  void TC5_Handler()
70
-#define HAL_TEMP_TIMER_ISR  void TC7_Handler()
69
+#define HAL_STEP_TIMER_ISR()  void TC5_Handler()
70
+#define HAL_TEMP_TIMER_ISR()  void TC7_Handler()
71
 
71
 
72
 // --------------------------------------------------------------------------
72
 // --------------------------------------------------------------------------
73
 // Types
73
 // Types

+ 2
- 2
Marlin/src/HAL/HAL_TEENSY31_32/HAL_timers_Teensy.h Näytä tiedosto

72
 #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
72
 #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
73
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
73
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
74
 
74
 
75
-#define HAL_STEP_TIMER_ISR  extern "C" void ftm0_isr(void) //void TC3_Handler()
76
-#define HAL_TEMP_TIMER_ISR  extern "C" void ftm1_isr(void) //void TC4_Handler()
75
+#define HAL_STEP_TIMER_ISR()  extern "C" void ftm0_isr(void) //void TC3_Handler()
76
+#define HAL_TEMP_TIMER_ISR()  extern "C" void ftm1_isr(void) //void TC4_Handler()
77
 
77
 
78
 void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency);
78
 void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency);
79
 
79
 

+ 2
- 2
Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.h Näytä tiedosto

71
 #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
71
 #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
72
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
72
 #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
73
 
73
 
74
-#define HAL_STEP_TIMER_ISR  extern "C" void ftm0_isr(void) //void TC3_Handler()
75
-#define HAL_TEMP_TIMER_ISR  extern "C" void ftm1_isr(void) //void TC4_Handler()
74
+#define HAL_STEP_TIMER_ISR()  extern "C" void ftm0_isr(void) //void TC3_Handler()
75
+#define HAL_TEMP_TIMER_ISR()  extern "C" void ftm1_isr(void) //void TC4_Handler()
76
 
76
 
77
 void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency);
77
 void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency);
78
 
78
 

+ 1
- 1
Marlin/src/module/stepper.cpp Näytä tiedosto

1246
  * Directly pulses the stepper motors at high frequency.
1246
  * Directly pulses the stepper motors at high frequency.
1247
  */
1247
  */
1248
 
1248
 
1249
-HAL_STEP_TIMER_ISR {
1249
+HAL_STEP_TIMER_ISR() {
1250
   HAL_timer_isr_prologue(STEP_TIMER_NUM);
1250
   HAL_timer_isr_prologue(STEP_TIMER_NUM);
1251
 
1251
 
1252
   Stepper::isr();
1252
   Stepper::isr();

+ 1
- 1
Marlin/src/module/temperature.cpp Näytä tiedosto

2295
  *  - For ENDSTOP_INTERRUPTS_FEATURE check endstops if flagged
2295
  *  - For ENDSTOP_INTERRUPTS_FEATURE check endstops if flagged
2296
  *  - Call planner.tick to count down its "ignore" time
2296
  *  - Call planner.tick to count down its "ignore" time
2297
  */
2297
  */
2298
-HAL_TEMP_TIMER_ISR {
2298
+HAL_TEMP_TIMER_ISR() {
2299
   HAL_timer_isr_prologue(TEMP_TIMER_NUM);
2299
   HAL_timer_isr_prologue(TEMP_TIMER_NUM);
2300
 
2300
 
2301
   Temperature::isr();
2301
   Temperature::isr();

Loading…
Peruuta
Tallenna