|
@@ -36,6 +36,15 @@
|
36
|
36
|
#define TEMP_TIMER_IRQ_PRIO 14 // 14 = after hardware ISRs
|
37
|
37
|
#endif
|
38
|
38
|
|
|
39
|
+// Ensure the default timer priority is somewhere between the STEP and TEMP priorities.
|
|
40
|
+// The STM32 framework defaults to interrupt 14 for all timers. This should be increased so that
|
|
41
|
+// timing-sensitive operations such as speaker output are note impacted by the long-running
|
|
42
|
+// temperature ISR. This must be defined in the platformio.ini file or the board's variant.h,
|
|
43
|
+// so that it will be consumed by framework code.
|
|
44
|
+#if !(TIM_IRQ_PRIO > STEP_TIMER_IRQ_PRIO && TIM_IRQ_PRIO < TEMP_TIMER_IRQ_PRIO)
|
|
45
|
+ #error "Default timer interrupt priority is unspecified or set to a value which may degrade performance."
|
|
46
|
+#endif
|
|
47
|
+
|
39
|
48
|
#if HAS_TMC_SW_SERIAL
|
40
|
49
|
#include <SoftwareSerial.h>
|
41
|
50
|
#ifndef SWSERIAL_TIMER_IRQ_PRIO
|