usb_uart_bridge.h 667 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4. typedef struct UsbUartBridge UsbUartBridge;
  5. typedef struct {
  6. uint8_t vcp_ch;
  7. uint8_t uart_ch;
  8. uint8_t flow_pins;
  9. uint8_t baudrate_mode;
  10. uint32_t baudrate;
  11. } UsbUartConfig;
  12. typedef struct {
  13. uint32_t rx_cnt;
  14. uint32_t tx_cnt;
  15. uint32_t baudrate_cur;
  16. } UsbUartState;
  17. UsbUartBridge* usb_uart_enable(UsbUartConfig* cfg);
  18. void usb_uart_disable(UsbUartBridge* usb_uart);
  19. void usb_uart_set_config(UsbUartBridge* usb_uart, UsbUartConfig* cfg);
  20. void usb_uart_get_config(UsbUartBridge* usb_uart, UsbUartConfig* cfg);
  21. void usb_uart_get_state(UsbUartBridge* usb_uart, UsbUartState* st);