io.h 955 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef _IO_H
  2. #define _IO_H
  3. #include "esp_common.h"
  4. #include "driver/gpio16.h"
  5. #define STATUS_LED 0
  6. #define SWITCH_A 5
  7. #define SWITCH_B 2
  8. #define LDO_SHUTDOWN 4
  9. #define STATUS_LED_MUX PERIPHS_IO_MUX_GPIO0_U
  10. #define SWITCH_A_MUX PERIPHS_IO_MUX_GPIO5_U
  11. #define SWITCH_B_MUX PERIPHS_IO_MUX_GPIO2_U
  12. #define LDO_SHUTDOWN_MUX PERIPHS_IO_MUX_GPIO4_U
  13. #define STATUS_LED_FUNC FUNC_GPIO0
  14. #define SWITCH_A_FUNC FUNC_GPIO5
  15. #define SWITCH_B_FUNC FUNC_GPIO2
  16. #define LDO_SHUTDOWN_FUNC FUNC_GPIO4
  17. typedef void (* switch_function_t)(void);
  18. typedef struct {
  19. os_timer_t switch_a;
  20. os_timer_t switch_b;
  21. switch_function_t switch_a_cb;
  22. switch_function_t switch_b_cb;
  23. switch_function_t imu_cb;
  24. uint32_t debounce_delay;
  25. } Encoder_Timer_t;
  26. void ICACHE_FLASH_ATTR Encoder_InitIO(void);
  27. void ICACHE_FLASH_ATTR Encoder_ShutDown(void);
  28. void ICACHE_FLASH_ATTR Encoder_Restart(void);
  29. #endif