ets_sys.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. * copyright (c) 2008 - 2011 Espressif System
  3. *
  4. * Define user specified Event signals and Task priorities here
  5. *
  6. */
  7. #ifndef _ETS_SYS_H
  8. #define _ETS_SYS_H
  9. #include "c_types.h"
  10. #include "eagle_soc.h"
  11. typedef uint32_t ETSSignal;
  12. typedef uint32_t ETSParam;
  13. typedef struct ETSEventTag ETSEvent;
  14. struct ETSEventTag {
  15. ETSSignal sig;
  16. ETSParam par;
  17. };
  18. typedef void (*ETSTask)(ETSEvent *e);
  19. /* timer related */
  20. typedef uint32_t ETSHandle;
  21. typedef void ETSTimerFunc(void *timer_arg);
  22. typedef struct _ETSTIMER_ {
  23. struct _ETSTIMER_ *timer_next;
  24. uint32_t timer_expire;
  25. uint32_t timer_period;
  26. ETSTimerFunc *timer_func;
  27. void *timer_arg;
  28. } ETSTimer;
  29. /* interrupt related */
  30. #define ETS_SPI_INUM 2
  31. #define ETS_GPIO_INUM 4
  32. #define ETS_UART_INUM 5
  33. #define ETS_UART1_INUM 5
  34. #define ETS_FRC_TIMER1_INUM 9 /* use edge*/
  35. #define ETS_INTR_LOCK() \
  36. ets_intr_lock()
  37. #define ETS_INTR_UNLOCK() \
  38. ets_intr_unlock()
  39. #define ETS_FRC_TIMER1_INTR_ATTACH(func, arg) \
  40. ets_isr_attach(ETS_FRC_TIMER1_INUM, (func), (void *)(arg))
  41. #define ETS_GPIO_INTR_ATTACH(func, arg) \
  42. ets_isr_attach(ETS_GPIO_INUM, (func), (void *)(arg))
  43. #define ETS_UART_INTR_ATTACH(func, arg) \
  44. ets_isr_attach(ETS_UART_INUM, (func), (void *)(arg))
  45. #define ETS_SPI_INTR_ATTACH(func, arg) \
  46. ets_isr_attach(ETS_SPI_INUM, (func), (void *)(arg))
  47. #define ETS_INTR_ENABLE(inum) \
  48. ets_isr_unmask((1<<inum))
  49. #define ETS_INTR_DISABLE(inum) \
  50. ets_isr_mask((1<<inum))
  51. #define ETS_SPI_INTR_ENABLE() \
  52. ETS_INTR_ENABLE(ETS_SPI_INUM)
  53. #define ETS_UART_INTR_ENABLE() \
  54. ETS_INTR_ENABLE(ETS_UART_INUM)
  55. #define ETS_UART_INTR_DISABLE() \
  56. ETS_INTR_DISABLE(ETS_UART_INUM)
  57. #define ETS_FRC1_INTR_ENABLE() \
  58. ETS_INTR_ENABLE(ETS_FRC_TIMER1_INUM)
  59. #define ETS_FRC1_INTR_DISABLE() \
  60. ETS_INTR_DISABLE(ETS_FRC_TIMER1_INUM)
  61. #define ETS_GPIO_INTR_ENABLE() \
  62. ETS_INTR_ENABLE(ETS_GPIO_INUM)
  63. #define ETS_GPIO_INTR_DISABLE() \
  64. ETS_INTR_DISABLE(ETS_GPIO_INUM)
  65. #endif /* _ETS_SYS_H */