#include "rca_app.h" /* * Max number of task */ #define RCA_NUM_TASK_MAX 5 /* * Check number of task */ #if RCA_NUM_TASK > RCA_NUM_TASK_MAX #error The number of Task is over! #endif /* RCA_NUM_TASK > RCA_NUM_TASK_MAX */ /* * Idle task loop count per 10ms at idle state */ #define IDLE_TASK_IDLE_LOOP_10MS 42178 /* * Default Macro */ /* * Priotiry */ #ifndef RCA_MAINTASK_SETUP_PRI #define RCA_MAINTASK_SETUP_PRI 5 #endif /* RCA_MAINTASK_SETUP_PRI */ #ifndef RCA_MAINTASK_LOOP_PRI #define RCA_MAINTASK_LOOP_PRI 5 #endif /* RCA_MAINTASK_SETUP_PRI */ #ifndef RCA_TASK1_SETUP_PRI #define RCA_TASK1_SETUP_PRI 5 #endif /* RCA_TASK1_SETUP_PRI */ #ifndef RCA_TASK1_LOOP_PRI #define RCA_TASK1_LOOP_PRI 5 #endif /* RCA_TASK1_SETUP_PRI */ #ifndef RCA_TASK2_SETUP_PRI #define RCA_TASK2_SETUP_PRI 5 #endif /* RCA_TASK2_SETUP_PRI */ #ifndef RCA_TASK2_LOOP_PRI #define RCA_TASK2_LOOP_PRI 5 #endif /* RCA_TASK2_SETUP_PRI */ #ifndef RCA_TASK3_SETUP_PRI #define RCA_TASK3_SETUP_PRI 5 #endif /* RCA_TASK3_SETUP_PRI */ #ifndef RCA_TASK3_LOOP_PRI #define RCA_TASK3_LOOP_PRI 5 #endif /* RCA_TASK3_SETUP_PRI */ #ifndef RCA_TASK4_SETUP_PRI #define RCA_TASK4_SETUP_PRI 5 #endif /* RCA_TASK4_SETUP_PRI */ #ifndef RCA_TASK4_LOOP_PRI #define RCA_TASK4_LOOP_PRI 5 #endif /* RCA_TASK4_SETUP_PRI */ #ifndef RCA_TASK5_SETUP_PRI #define RCA_TASK5_SETUP_PRI 5 #endif /* RCA_TASK5_SETUP_PRI */ #ifndef RCA_TASK5_LOOP_PRI #define RCA_TASK5_LOOP_PRI 5 #endif /* RCA_TASK3_SETUP_PRI */ /* * Stack Size */ #ifndef RCA_MAINTASK_STACK_SIZE #define RCA_MAINTASK_STACK_SIZE 2048 #endif /* RCA_MAINTASK_STACK_SIZE */ #ifndef RCA_TASK1_STACK_SIZE #define RCA_TASK1_STACK_SIZE 1024 #endif /* RCA_TASK1_STACK_SIZE */ #ifndef RCA_TASK2_STACK_SIZE #define RCA_TASK2_STACK_SIZE 1024 #endif /* RCA_TASK2_STACK_SIZE */ #ifndef RCA_TASK3_STACK_SIZE #define RCA_TASK3_STACK_SIZE 1024 #endif /* RCA_TASK3_STACK_SIZE */ #ifndef RCA_TASK4_STACK_SIZE #define RCA_TASK4_STACK_SIZE 1024 #endif /* RCA_TASK4_STACK_SIZE */ #ifndef RCA_TASK5_STACK_SIZE #define RCA_TASK5_STACK_SIZE 1024 #endif /* RCA_TASK5_STACK_SIZE */ #ifdef __cplusplus extern "C" { #endif extern void rca_init(intptr_t exinf); extern void rca_maintask(intptr_t exinf); extern void rca_task1(intptr_t exinf); extern void rca_task2(intptr_t exinf); extern void rca_task3(intptr_t exinf); extern void rca_task4(intptr_t exinf); extern void rca_task5(intptr_t exinf); extern void rca_CycHandler(intptr_t exinf); extern void rca_USB_Handler(void); extern void rca_SERCOM0_Handler(void); extern void rca_SERCOM2_Handler(void); extern void rca_SERCOM3_Handler(void); extern void rca_SERCOM4_Handler(void); extern void rca_SERCOM5_Handler(void); extern void rca_EIC_Handler(void); extern void rca_TC5_Handler(void); extern void rca_RTC_Handler(void); #ifdef RCA_ENABLE_PROFILING extern void rca_idle_task(intptr_t exinf); extern volatile uint32_t rca_idle_result; extern volatile uint32_t rca_isr_result; extern volatile uint32_t rca_dispatch_result; extern volatile uint32_t rca_timer_isr_result; extern volatile uint32_t rca_usb_isr_result; extern volatile uint32_t rca_sercom0_isr_result; extern volatile uint32_t rca_sercom4_isr_result; extern volatile uint32_t rca_sercom5_isr_result; extern volatile uint32_t rca_eic_isr_result; extern volatile uint32_t rca_tc5_isr_result; extern volatile uint32_t rca_rtc_isr_result; #ifdef RCA_USE_SERIAL3 extern volatile uint32_t rca_sercom3_isr_result; #endif /* RCA_USE_SERIAL3 */ #endif /* RCA_ENABLE_PROFILING */ #ifdef __cplusplus } #endif