From 9eaa6a7d7fbd0a70883695480aafeaee209f41d0 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Mon, 3 Dec 2018 13:48:10 +0100 Subject: [PATCH] nrf: set interrupt priorities The default priority is 0 (highest) which is reserved by the SoftDevice. For normal operation the exact priority level doesn't matter, only the relative priority matters. So this change makes the code compatible with the SoftDevice without actually changing the behavior. --- src/machine/machine_nrf.go | 1 + src/runtime/runtime_nrf.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/machine/machine_nrf.go b/src/machine/machine_nrf.go index d0a1a913..34bd78b2 100644 --- a/src/machine/machine_nrf.go +++ b/src/machine/machine_nrf.go @@ -78,6 +78,7 @@ func (uart UART) Configure(config UARTConfig) { nrf.UART0.INTENSET = nrf.UART_INTENSET_RXDRDY_Msk // Enable RX IRQ. + arm.SetPriority(nrf.IRQ_UART0, 0xc0) // low priority arm.EnableIRQ(nrf.IRQ_UART0) } diff --git a/src/runtime/runtime_nrf.go b/src/runtime/runtime_nrf.go index b914159b..41524ae0 100644 --- a/src/runtime/runtime_nrf.go +++ b/src/runtime/runtime_nrf.go @@ -42,7 +42,7 @@ func initLFCLK() { func initRTC() { nrf.RTC1.TASKS_START = 1 - // TODO: set priority + arm.SetPriority(nrf.IRQ_RTC1, 0xc0) // low priority arm.EnableIRQ(nrf.IRQ_RTC1) }