From 52409cb35af8c09a319386c2098bf02fb1b65fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr> Date: Wed, 18 Sep 2019 03:17:52 +0200 Subject: [PATCH] Use TMR3 instead of TMR5 for interrupts from epicardium Any reason to use TMR5 except preventing the use of PWM on the IR LED? TMR4 is used for the LCD backlight it seems. --- epicardium/api/control.c | 6 +++--- epicardium/api/interrupt-receiver.c | 4 ++-- epicardium/api/interrupt-sender.c | 2 +- l0dables/lib/crt.s | 2 +- l0dables/lib/hardware.c | 2 +- pycardium/mphalport.c | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/epicardium/api/control.c b/epicardium/api/control.c index deff43301..82f77074e 100644 --- a/epicardium/api/control.c +++ b/epicardium/api/control.c @@ -74,7 +74,7 @@ void __core1_init(void) /* * Clear any pending API interrupts. */ - TMR_IntClear(MXC_TMR5); + TMR_IntClear(MXC_TMR3); /* * Disable the SysTick @@ -181,8 +181,8 @@ void __core1_init(void) /* * Clear any pending API interrupts. */ - TMR_IntClear(MXC_TMR5); - NVIC_ClearPendingIRQ(TMR5_IRQn); + TMR_IntClear(MXC_TMR3); + NVIC_ClearPendingIRQ(TMR3_IRQn); /* * Jump to payload's reset handler diff --git a/epicardium/api/interrupt-receiver.c b/epicardium/api/interrupt-receiver.c index f9856423f..e11d591d5 100644 --- a/epicardium/api/interrupt-receiver.c +++ b/epicardium/api/interrupt-receiver.c @@ -6,9 +6,9 @@ void __dispatch_isr(api_int_id_t); /* Timer Interrupt used for control char notification */ -void TMR5_IRQHandler(void) +void TMR3_IRQHandler(void) { - TMR_IntClear(MXC_TMR5); + TMR_IntClear(MXC_TMR3); __dispatch_isr(API_CALL_MEM->int_id); API_CALL_MEM->int_id = (-1); } diff --git a/epicardium/api/interrupt-sender.c b/epicardium/api/interrupt-sender.c index fad7ed674..1d696fa87 100644 --- a/epicardium/api/interrupt-sender.c +++ b/epicardium/api/interrupt-sender.c @@ -18,5 +18,5 @@ void api_interrupt_trigger(api_int_id_t id) assert(API_CALL_MEM->int_id == (api_int_id_t)(-1)); API_CALL_MEM->int_id = id; - TMR_TO_Start(MXC_TMR5, 1, 0); + TMR_TO_Start(MXC_TMR3, 1, 0); } diff --git a/l0dables/lib/crt.s b/l0dables/lib/crt.s index 79e326515..12e4f798d 100644 --- a/l0dables/lib/crt.s +++ b/l0dables/lib/crt.s @@ -207,8 +207,8 @@ DefaultHandler: def_irq_handler TMR0_IRQHandler def_irq_handler TMR1_IRQHandler def_irq_handler TMR2_IRQHandler - def_irq_handler TMR3_IRQHandler def_irq_handler TMR4_IRQHandler + def_irq_handler TMR5_IRQHandler def_irq_handler RSV11_IRQHandler def_irq_handler RSV12_IRQHandler def_irq_handler I2C0_IRQHandler diff --git a/l0dables/lib/hardware.c b/l0dables/lib/hardware.c index 209ee97ad..ef92eef36 100644 --- a/l0dables/lib/hardware.c +++ b/l0dables/lib/hardware.c @@ -77,7 +77,7 @@ __weak void SystemInit() SystemCoreClockUpdate(); // Enable API interrupt. - NVIC_EnableIRQ(TMR5_IRQn); + NVIC_EnableIRQ(TMR3_IRQn); } // newlib syscall to allow printf to work. diff --git a/pycardium/mphalport.c b/pycardium/mphalport.c index 5ae9cee49..df7783e7e 100644 --- a/pycardium/mphalport.c +++ b/pycardium/mphalport.c @@ -23,8 +23,8 @@ /* Initialize everything for MicroPython */ void pycardium_hal_init(void) { - /* TMR5 is used for interrupts from Epicardium */ - NVIC_EnableIRQ(TMR5_IRQn); + /* TMR3 is used for interrupts from Epicardium */ + NVIC_EnableIRQ(TMR3_IRQn); /* * Enable UART RX Interrupt so Pycardium can sleep until -- GitLab