drv_emu.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. #ifndef __DRV_EMU_H__
  12. #define __DRV_EMU_H__
  13. /* Includes ------------------------------------------------------------------*/
  14. /* Exported defines ----------------------------------------------------------*/
  15. #define EMU_TASK_STACK_SIZE (256)
  16. #define EMU_TASK_EM2_TOKEN_NUMBER (255)
  17. #define EMU_TASK_EM3_TOKEN_NUMBER (255)
  18. #define EMU_TASK_EM4_TOKEN_NUMBER (255)
  19. #define EMU_RX_MESSAGE_SIZE (4)
  20. #define EMU_RX_MESSAGE_QUEUE_SIZE (1)
  21. /* Exported types ------------------------------------------------------------*/
  22. struct efm32_emu_task
  23. {
  24. struct rt_thread thread;
  25. struct rt_semaphore em2;
  26. struct rt_semaphore em3;
  27. struct rt_semaphore em4;
  28. rt_uint8_t stack[EMU_TASK_STACK_SIZE];
  29. };
  30. /* Exported constants --------------------------------------------------------*/
  31. /* Exported macro ------------------------------------------------------------*/
  32. /* Exported functions ------------------------------------------------------- */
  33. void emu_all_disable(void);
  34. void emu_em2_disable(void);
  35. void emu_em2_enable(void);
  36. void emu_em3_disable(void);
  37. void emu_em3_enable(void);
  38. void emu_em4_disable(void);
  39. void emu_em4_enable(void);
  40. void efm32_emu_init(void);
  41. #endif /*__DRV_EMU_H__ */