Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2021-06-06 12:42:54 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-06-06 12:42:54 +0300
commit01dd888364dbbbda1ef070da77fb4ef0c3d4a82d (patch)
treee555c6b18991039f7c3938c9c4641af37e61de64
parent18626db77266e1b5014736a4dce9317a5a7e8a63 (diff)
Adjusted interrupt priorities to fix MB6HC seris output
-rw-r--r--src/RepRapFirmware.h32
-rw-r--r--src/Version.h2
2 files changed, 17 insertions, 17 deletions
diff --git a/src/RepRapFirmware.h b/src/RepRapFirmware.h
index d0501f3b..475f9d6d 100644
--- a/src/RepRapFirmware.h
+++ b/src/RepRapFirmware.h
@@ -508,10 +508,10 @@ const FilePosition noFilePosition = 0xFFFFFFFF;
// ISRs with better (numerically lower) priorities than this value cannot make FreeRTOS calls, but those interrupts wont be disabled even in FreeRTOS critical sections.
#if __NVIC_PRIO_BITS == 3
-// We have only 8 interrupt priority levels on the SAME70
+// We have only 8 interrupt priority levels on the SAME70 and SAME5x
// Use priority 2 or lower for interrupts where low latency is critical and FreeRTOS calls are not needed.
-const uint32_t NvicPriorityWatchdog = 0; // the secondary watchdog has the highest priority
+const uint32_t NvicPriorityWatchdog = 0; // the secondary watchdog has the highest priority
#if SAME5x
const NvicPriority NvicPriorityAuxUartRx = 1; // UART used to receive data from PanelDue or other serial input
@@ -521,34 +521,34 @@ const NvicPriority NvicPriorityWiFiUartTx = 3; // the SAME5x driver makes FreeR
const NvicPriority NvicPriorityDriverDiag = 4;
const NvicPriority NvicPriorityAdc = 4;
#else
-const NvicPriority NvicPriorityAuxUart = 1; // UART is highest to avoid character loss (it has only a 1-character receive buffer)
-const NvicPriority NvicPriorityWiFiUart = 2; // UART used to receive debug data from the WiFi module
+const NvicPriority NvicPriorityAuxUart = 3; // UART is highest to avoid character loss (it has only a 1-character receive buffer)
+const NvicPriority NvicPriorityWiFiUart = 3; // UART used to receive debug data from the WiFi module
#endif
-const NvicPriority NvicPriorityCan = 3; // CAN interface
-const NvicPriority NvicPriorityPins = 3; // priority for GPIO pin interrupts - filament sensors must be higher than step
-const NvicPriority NvicPriorityDriversSerialTMC = 3; // USART or UART used to control and monitor the smart drivers
-const NvicPriority NvicPriorityStep = 4; // step interrupt is next highest, it can preempt most other interrupts
-const NvicPriority NvicPriorityUSB = 5; // USB interrupt
-const NvicPriority NvicPriorityHSMCI = 5; // HSMCI command complete interrupt
+const NvicPriority NvicPriorityCan = 4; // CAN interface
+const NvicPriority NvicPriorityPins = 4; // priority for GPIO pin interrupts - filament sensors must be higher than step
+const NvicPriority NvicPriorityDriversSerialTMC = 4; // USART or UART used to control and monitor the smart drivers
+const NvicPriority NvicPriorityStep = 5; // step interrupt is next highest, it can preempt most other interrupts
+const NvicPriority NvicPriorityUSB = 6; // USB interrupt
+const NvicPriority NvicPriorityHSMCI = 6; // HSMCI command complete interrupt
# if HAS_LWIP_NETWORKING
-const NvicPriority NvicPriorityNetworkTick = 6; // priority for network tick interrupt (to be replaced by a FreeRTOS task)
-const NvicPriority NvicPriorityEthernet = 6; // priority for Ethernet interface
+const NvicPriority NvicPriorityNetworkTick = 7; // priority for network tick interrupt (to be replaced by a FreeRTOS task)
+const NvicPriority NvicPriorityEthernet = 7; // priority for Ethernet interface
# endif
-const NvicPriority NvicPriorityDMA = 6; // end-of-DMA interrupt used by TMC drivers and HSMCI
-const NvicPriority NvicPrioritySpi = 6; // SPI is used for network transfers on Duet WiFi/Duet vEthernet
+const NvicPriority NvicPriorityDMA = 7; // end-of-DMA interrupt used by TMC drivers and HSMCI
+const NvicPriority NvicPrioritySpi = 7; // SPI is used for network transfers on Duet WiFi/Duet vEthernet
#elif __NVIC_PRIO_BITS >= 4
// We have at least 16 priority levels
-// Use priority 4 or lower for interrupts where low latency is critical and FreeRTOS calls are not needed.
+// Use priority 2 or lower for interrupts where low latency is critical and FreeRTOS calls are not needed.
# if SAM4E || defined(__LPC17xx__)
const NvicPriority NvicPriorityWatchdog = 0; // the secondary watchdog has the highest priority
# endif
-const NvicPriority NvicPriorityAuxUart = 1; // UART is highest to avoid character loss (it has only a 1-character receive buffer)
+const NvicPriority NvicPriorityAuxUart = 3; // UART is highest to avoid character loss (it has only a 1-character receive buffer)
# if defined(__LPC17xx__)
constexpr NvicPriority NvicPriorityTimerPWM = 4;
diff --git a/src/Version.h b/src/Version.h
index 9df2f34e..26ec3dda 100644
--- a/src/Version.h
+++ b/src/Version.h
@@ -9,7 +9,7 @@
#define SRC_VERSION_H_
#ifndef VERSION
-# define MAIN_VERSION "3.3RC3+3"
+# define MAIN_VERSION "3.3RC3+4"
# ifdef USE_CAN0
# define VERSION_SUFFIX " (CAN0)"
# else