cdc_uart: add RTS and DTR pins

This commit is contained in:
marble
2023-04-03 16:15:17 +02:00
parent 156a33fa01
commit cfbf3b2d93
2 changed files with 12 additions and 0 deletions

View File

@@ -43,6 +43,13 @@ void cdc_uart_init(void) {
gpio_set_pulls(PICOPROBE_UART_TX, 1, 0);
gpio_set_pulls(PICOPROBE_UART_RX, 1, 0);
uart_init(PICOPROBE_UART_INTERFACE, PICOPROBE_UART_BAUDRATE);
gpio_init(PICOPROBE_UART_DTR);
gpio_init(PICOPROBE_UART_RTS);
gpio_set_dir(PICOPROBE_UART_DTR, GPIO_OUT);
gpio_set_dir(PICOPROBE_UART_RTS, GPIO_OUT);
gpio_put(PICOPROBE_UART_DTR, 1);
gpio_put(PICOPROBE_UART_RTS, 1);
}
void cdc_task(void)
@@ -117,6 +124,9 @@ void tud_cdc_line_coding_cb(uint8_t itf, cdc_line_coding_t const* line_coding)
void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts)
{
gpio_put(PICOPROBE_UART_DTR, !dtr);
gpio_put(PICOPROBE_UART_RTS, !rts);
/* CDC drivers use linestate as a bodge to activate/deactivate the interface.
* Resume our UART polling on activate, stop on deactivate */
if (!dtr && !rts)

View File

@@ -58,6 +58,8 @@
// UART config
#define PICOPROBE_UART_TX 4
#define PICOPROBE_UART_RX 5
#define PICOPROBE_UART_RTS 7
#define PICOPROBE_UART_DTR 8
#define PICOPROBE_UART_INTERFACE uart1
#define PICOPROBE_UART_BAUDRATE 115200