shark_xl.h 895 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "shark_types.h"
  3. #include "drv_io.h"
  4. #define CONFIG_XL_MIN 50
  5. #define CONFIG_XL_MAX 100
  6. #define CONFIG_XL_TICKS 200
  7. #define GPIO_RCU_XL RCU_GPIOB
  8. #define GPIO_PORT_XL GPIOB
  9. #define GPIO_PIN_XL GPIO_PIN_7
  10. #define EXTI_PORT_XL GPIO_PORT_SOURCE_GPIOB
  11. #define EXTI_PIN_XL GPIO_PIN_SOURCE_7
  12. #define EXTI_XL EXTI_7
  13. #define SHARK_XL_DEBOUNCE 10
  14. extern shark_u16 shark_xl_ticks;
  15. extern shark_u8 shark_xl_skip;
  16. extern shark_u16 shark_xl_speed_max;
  17. extern shark_u16 shark_xl_speed_tmp;
  18. extern shark_u16 shark_xl_speed;
  19. extern shark_u8 shark_xl_detected;
  20. void shark_xl_init(void);
  21. void shark_xl_tick(void);
  22. void shark_xl_isr(void);
  23. static inline shark_bool shark_xl_check(void)
  24. {
  25. return shark_xl_speed > CONFIG_XL_MIN;
  26. }
  27. static inline shark_bool shark_xl_check_with_qd(void)
  28. {
  29. return shark_xl_check() && QD_Dect();
  30. }