usb_serial: Fixed where the debug serial callbacks were so ENABLE_DEBUG=0 builds work

This commit is contained in:
dragonmux 2022-08-21 16:35:41 +01:00 committed by Piotr Esden-Tempski
parent 1a7af52edc
commit 40ee8c3f37
1 changed files with 31 additions and 31 deletions

View File

@ -269,37 +269,6 @@ void debug_serial_run(void)
nvic_enable_irq(USB_IRQ);
}
#ifdef ENABLE_DEBUG
static void debug_serial_append_char(const char c)
{
debug_serial_debug_buffer[debug_serial_debug_write_index] = c;
++debug_serial_debug_write_index;
debug_serial_debug_write_index %= AUX_UART_BUFFER_SIZE;
}
size_t debug_serial_debug_write(const char *buf, const size_t len)
{
if (nvic_get_active_irq(USB_IRQ) || nvic_get_active_irq(USBUSART_IRQ) || nvic_get_active_irq(USBUSART_DMA_RX_IRQ))
return 0;
CM_ATOMIC_CONTEXT();
size_t offset = 0;
for (; offset < len && (debug_serial_debug_write_index + 1) % AUX_UART_BUFFER_SIZE != debug_serial_debug_read_index;
++offset) {
if (buf[offset] == '\n') {
debug_serial_append_char('\r');
if ((debug_serial_debug_write_index + 1) % AUX_UART_BUFFER_SIZE == debug_serial_debug_read_index)
break;
}
debug_serial_append_char(buf[offset]);
}
debug_serial_run();
return offset;
}
static void debug_serial_send_callback(usbd_device *dev, uint8_t ep)
{
(void) ep;
@ -333,6 +302,37 @@ static void debug_serial_receive_callback(usbd_device *dev, uint8_t ep)
}
#endif
#ifdef ENABLE_DEBUG
static void debug_serial_append_char(const char c)
{
debug_serial_debug_buffer[debug_serial_debug_write_index] = c;
++debug_serial_debug_write_index;
debug_serial_debug_write_index %= AUX_UART_BUFFER_SIZE;
}
size_t debug_serial_debug_write(const char *buf, const size_t len)
{
if (nvic_get_active_irq(USB_IRQ) || nvic_get_active_irq(USBUSART_IRQ) || nvic_get_active_irq(USBUSART_DMA_RX_IRQ))
return 0;
CM_ATOMIC_CONTEXT();
size_t offset = 0;
for (; offset < len && (debug_serial_debug_write_index + 1) % AUX_UART_BUFFER_SIZE != debug_serial_debug_read_index;
++offset) {
if (buf[offset] == '\n') {
debug_serial_append_char('\r');
if ((debug_serial_debug_write_index + 1) % AUX_UART_BUFFER_SIZE == debug_serial_debug_read_index)
break;
}
debug_serial_append_char(buf[offset]);
}
debug_serial_run();
return offset;
}
/*
* newlib defines _write as a weak link'd function for user code to override.
*