usb_serial: Refactored debug_uart_send_stdout() and cleaned up
This commit is contained in:
parent
3af03c0778
commit
13209385f8
|
@ -172,16 +172,13 @@ void usb_serial_set_config(usbd_device *dev, uint16_t value)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void debug_uart_send_stdout(const uint8_t *data, size_t len)
|
void debug_uart_send_stdout(const uint8_t *const data, const size_t len)
|
||||||
{
|
{
|
||||||
while (len) {
|
for (size_t offset = 0; offset < len; offset += CDCACM_PACKET_SIZE) {
|
||||||
uint32_t cnt = CDCACM_PACKET_SIZE;
|
const size_t count = MIN(len - offset, CDCACM_PACKET_SIZE);
|
||||||
if (cnt > len)
|
|
||||||
cnt = len;
|
|
||||||
nvic_disable_irq(USB_IRQ);
|
nvic_disable_irq(USB_IRQ);
|
||||||
cnt = usbd_ep_write_packet(usbdev, CDCACM_UART_ENDPOINT, data, cnt);
|
/* XXX: Do we actually care if this fails? Possibly not.. */
|
||||||
|
usbd_ep_write_packet(usbdev, CDCACM_UART_ENDPOINT, data + offset, count);
|
||||||
nvic_enable_irq(USB_IRQ);
|
nvic_enable_irq(USB_IRQ);
|
||||||
data += cnt;
|
|
||||||
len -= cnt;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue