 efded63bcb
			
		
	
	
		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);
 |