YAHAL
Yet Another Hardware Abstraction Library
Loading...
Searching...
No Matches
irq_dispatcher.cpp
1#include <msp.h>
2#include "irq_dispatcher.h"
3
4void irq_dispatcher::link_in() { }
5
6extern "C" {
7
8 void Default_EUSCI_Handler(void) {
9 while(1) ;
10 }
11
12 void EUSCIA0_UART_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
13 void EUSCIA1_UART_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
14 void EUSCIA2_UART_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
15 void EUSCIA3_UART_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
16 void EUSCIB0_I2C_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
17 void EUSCIB1_I2C_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
18 void EUSCIB2_I2C_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
19 void EUSCIB3_I2C_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
20 void EUSCIA0_SPI_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
21 void EUSCIA1_SPI_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
22 void EUSCIA2_SPI_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
23 void EUSCIA3_SPI_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
24 void EUSCIB0_SPI_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
25 void EUSCIB1_SPI_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
26 void EUSCIB2_SPI_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
27 void EUSCIB3_SPI_IRQHandler(void) __attribute__((weak,alias("Default_EUSCI_Handler")));
28
29 void EUSCIA0_IRQHandler(void) {
30 if (EUSCI_A0->CTLW0 & EUSCI_A_CTLW0_SYNC) {
31 EUSCIA0_SPI_IRQHandler();
32 } else {
33 EUSCIA0_UART_IRQHandler();
34 }
35 }
36
37 void EUSCIA1_IRQHandler(void) {
38 if (EUSCI_A1->CTLW0 & EUSCI_A_CTLW0_SYNC) {
39 EUSCIA1_SPI_IRQHandler();
40 } else {
41 EUSCIA1_UART_IRQHandler();
42 }
43 }
44
45 void EUSCIA2_IRQHandler(void) {
46 if (EUSCI_A2->CTLW0 & EUSCI_A_CTLW0_SYNC) {
47 EUSCIA2_SPI_IRQHandler();
48 } else {
49 EUSCIA2_UART_IRQHandler();
50 }
51 }
52
53 void EUSCIA3_IRQHandler(void){
54 if (EUSCI_A3->CTLW0 & EUSCI_A_CTLW0_SYNC) {
55 EUSCIA3_SPI_IRQHandler();
56 } else {
57 EUSCIA3_UART_IRQHandler();
58 }
59 }
60
61 void EUSCIB0_IRQHandler(void) {
62 if ((EUSCI_B0->CTLW0 & EUSCI_A_CTLW0_MODE_MASK) == EUSCI_A_CTLW0_MODE_3) {
63 EUSCIB0_I2C_IRQHandler();
64 } else {
65 EUSCIB0_SPI_IRQHandler();
66 }
67 }
68
69 void EUSCIB1_IRQHandler(void) {
70 if ((EUSCI_B1->CTLW0 & EUSCI_A_CTLW0_MODE_MASK) == EUSCI_A_CTLW0_MODE_3) {
71 EUSCIB1_I2C_IRQHandler();
72 } else {
73 EUSCIB1_SPI_IRQHandler();
74 }
75 }
76
77 void EUSCIB2_IRQHandler(void) {
78 if ((EUSCI_B2->CTLW0 & EUSCI_A_CTLW0_MODE_MASK) == EUSCI_A_CTLW0_MODE_3) {
79 EUSCIB2_I2C_IRQHandler();
80 } else {
81 EUSCIB2_SPI_IRQHandler();
82 }
83 }
84
85 void EUSCIB3_IRQHandler(void) {
86 if ((EUSCI_B3->CTLW0 & EUSCI_A_CTLW0_MODE_MASK) == EUSCI_A_CTLW0_MODE_3) {
87 EUSCIB3_I2C_IRQHandler();
88 } else {
89 EUSCIB3_SPI_IRQHandler();
90 }
91 }
92
93}
#define EUSCI_A_CTLW0_MODE_3
#define EUSCI_A_CTLW0_SYNC
#define EUSCI_A_CTLW0_MODE_MASK
void __attribute__((noreturn))(*rom_reset_usb_boot_fn)(uint32_t
Reboot the device into BOOTSEL mode.
Definition bootrom.h:66