1 /* 2 * Copyright (c) 2006-2022, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2011-02-21 onelife Initial creation for EFM32 9 * 2011-07-14 onelife Add multiple channels support for scan mode 10 */ 11 12 #ifndef __DRV_EMU_H__ 13 #define __DRV_EMU_H__ 14 15 /* Includes ------------------------------------------------------------------*/ 16 /* Exported defines ----------------------------------------------------------*/ 17 #define EMU_TASK_STACK_SIZE (256) 18 #define EMU_TASK_EM2_TOKEN_NUMBER (255) 19 #define EMU_TASK_EM3_TOKEN_NUMBER (255) 20 #define EMU_TASK_EM4_TOKEN_NUMBER (255) 21 #define EMU_RX_MESSAGE_SIZE (4) 22 #define EMU_RX_MESSAGE_QUEUE_SIZE (1) 23 24 /* Exported types ------------------------------------------------------------*/ 25 struct efm32_emu_task 26 { 27 struct rt_thread thread; 28 struct rt_semaphore em2; 29 struct rt_semaphore em3; 30 struct rt_semaphore em4; 31 rt_uint8_t stack[EMU_TASK_STACK_SIZE]; 32 }; 33 34 /* Exported constants --------------------------------------------------------*/ 35 /* Exported macro ------------------------------------------------------------*/ 36 /* Exported functions ------------------------------------------------------- */ 37 void emu_all_disable(void); 38 void emu_em2_disable(void); 39 void emu_em2_enable(void); 40 void emu_em3_disable(void); 41 void emu_em3_enable(void); 42 void emu_em4_disable(void); 43 void emu_em4_enable(void); 44 void efm32_emu_init(void); 45 46 #endif /*__DRV_EMU_H__ */ 47