efded63bcb
* USB-UART: new gui * Furi: use furi_console for logging instead of printf. * CDC: calling open/close callbacks on interface change * fix vcp_tx block on disconnect * USB mode set by struct pointer * FuriHal: proper event sequence on vcp reconnect * disable debug prints * HAL: add context to UART IRQ's * Context usage in UART IRQ and CDC callbacks * USB-UART: geting rid of baudrate limitations * FuriHal: remove struct pollutant in usb api. Co-authored-by: あく <alleteam@gmail.com> Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
30 lines
646 B
C
30 lines
646 B
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct UsbUartBridge UsbUartBridge;
|
|
|
|
typedef struct {
|
|
uint8_t vcp_ch;
|
|
uint8_t uart_ch;
|
|
uint8_t flow_pins;
|
|
uint8_t baudrate_mode;
|
|
uint32_t baudrate;
|
|
} UsbUartConfig;
|
|
|
|
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);
|
|
|
|
void usb_uart_get_state(UsbUartBridge* usb_uart, UsbUartState* st);
|