uart_bridge.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef __UART_BRIDGE_H
  2. #define __UART_BRIDGE_H
  3. typedef enum
  4. {
  5. m_stop = 0,
  6. m_forward,
  7. m_back,
  8. } move_t;
  9. //
  10. void init_usart(void);
  11. //
  12. void ub_init_os(void);
  13. //
  14. uint32_t get_uint_param(char* buf, uint8_t index);
  15. //
  16. void usart_bridge_rx_cb(void);
  17. // -------------------------------------------------------------------------- //
  18. // Расчет параметров
  19. // На вход поступают сырые данные из протокола
  20. void calculation(uint32_t forward, uint32_t back,
  21. uint32_t forward_old, uint32_t back_old, uint32_t dir);
  22. //
  23. void calc_move(void);
  24. // -------------------------------------------------------------------------- //
  25. // API
  26. //
  27. void reset_distance(void);
  28. //
  29. void get_raw_params(uint32_t *f_turns, uint32_t *b_turns, uint32_t *dir);
  30. //
  31. void get_total(int *val);
  32. //
  33. double get_distance(void);
  34. //
  35. move_t get_move(void);
  36. //
  37. void set_raw_params(uint32_t f_turns, uint32_t b_turns, uint32_t dir);
  38. //
  39. void set_raw_counters(uint32_t f_turns, uint32_t b_turns, int tot);
  40. //
  41. void inc_raw_counters(void);
  42. #endif // __UART_BRIDGE_H