2021-10-26 21:41:56 +03:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2022-03-24 18:45:03 +03:00
|
|
|
#include <stdbool.h>
|
2021-10-26 21:41:56 +03:00
|
|
|
|
2021-11-21 18:17:43 +03:00
|
|
|
typedef struct UsbUartBridge UsbUartBridge;
|
|
|
|
|
2021-10-26 21:41:56 +03:00
|
|
|
typedef struct {
|
|
|
|
uint8_t vcp_ch;
|
|
|
|
uint8_t uart_ch;
|
2021-11-21 18:17:43 +03:00
|
|
|
uint8_t flow_pins;
|
|
|
|
uint8_t baudrate_mode;
|
2021-10-26 21:41:56 +03:00
|
|
|
uint32_t baudrate;
|
|
|
|
} UsbUartConfig;
|
|
|
|
|
2021-11-21 18:17:43 +03:00
|
|
|
typedef struct {
|
|
|
|
uint32_t rx_cnt;
|
|
|
|
uint32_t tx_cnt;
|
|
|
|
uint32_t baudrate_cur;
|
|
|
|
} UsbUartState;
|
|
|
|
|
|
|
|
UsbUartBridge* usb_uart_enable(UsbUartConfig* cfg);
|
|
|
|
|
|
|
|
void usb_uart_disable(UsbUartBridge* usb_uart);
|
|
|
|
|
|
|
|
void usb_uart_set_config(UsbUartBridge* usb_uart, UsbUartConfig* cfg);
|
|
|
|
|
|
|
|
void usb_uart_get_config(UsbUartBridge* usb_uart, UsbUartConfig* cfg);
|
2021-10-26 21:41:56 +03:00
|
|
|
|
2021-11-21 18:17:43 +03:00
|
|
|
void usb_uart_get_state(UsbUartBridge* usb_uart, UsbUartState* st);
|