digital_input.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef __DIGITAL_INPUT_H
  2. #define __DIGITAL_INPUT_H
  3. #include <stdbool.h>
  4. #include "io.h"
  5. //
  6. void di_init(void);
  7. //
  8. void di_base_init(din_t *input);
  9. //
  10. void di_exti_init(void);
  11. //
  12. void di_tim_init(void);
  13. //
  14. void di_load_sens_init(simple_gpio_t *sens);
  15. //
  16. void di_set(void);
  17. //
  18. uint8_t di_get(uint8_t channel);
  19. //
  20. void debounce(void);
  21. // Периодический опрос входов и датчиков обрыва нагрузки
  22. void di_task(void *params);
  23. extern uint32_t di_cnt[DI_NUMBER]; // счетчики входов
  24. extern uint16_t di_state[DI_NUMBER]; // состояние входа
  25. extern uint16_t di_state_bit; // битовое поле
  26. extern uint16_t di_load_state[DO_NUMBER]; // состояние датчиков нагрузки
  27. extern uint16_t di_load_state_bit;
  28. extern uint16_t di_credibility_state[DO_NUMBER]; // достоверность состояния датчиков нагрузки
  29. extern uint16_t di_credibility_state_bit; // достоверность состояния датчиков нагрузки
  30. #endif // __DIGITAL_INPUT_H