From 92bed3b1d740199165f0165ea0a5072556f1bdbb Mon Sep 17 00:00:00 2001 From: Harry Mander Date: Mon, 27 Mar 2023 15:11:12 +1300 Subject: [PATCH 1/3] usb_cdc: store TX ring buffer on stack --- usb_cdc/usb_cdc.c | 11 +---------- usb_cdc/usb_cdc.h | 6 ++++++ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/usb_cdc/usb_cdc.c b/usb_cdc/usb_cdc.c index f0cc61f..c31aeac 100644 --- a/usb_cdc/usb_cdc.c +++ b/usb_cdc/usb_cdc.c @@ -2,7 +2,6 @@ #include "usb_cdc.h" #include "usb_dsc.h" #include "usb.h" -#include /* CDC communication device class. @@ -22,10 +21,6 @@ #define USB_CURRENT_MA 100 #endif -#ifndef USB_CDC_TX_RING_SIZE -#define USB_CDC_TX_RING_SIZE 80 -#endif - #ifndef MIN #define MIN(a, b) (((a) < (b)) ? (a) : (b)) @@ -343,11 +338,7 @@ usb_cdc_init (const usb_cdc_cfg_t *cfg) dev->writing = 0; dev->connected = 0; - buffer = malloc (USB_CDC_TX_RING_SIZE); - if (!buffer) - return 0; - - ring_init (&dev->tx_ring, buffer, USB_CDC_TX_RING_SIZE); + ring_init (&dev->tx_ring, dev->tx_ring_buffer, USB_CDC_TX_RING_SIZE); dev->usb = usb_init (&usb_cdc_descriptors, (void *)usb_cdc_request_handler); diff --git a/usb_cdc/usb_cdc.h b/usb_cdc/usb_cdc.h index 0fa70e0..6e90fbb 100644 --- a/usb_cdc/usb_cdc.h +++ b/usb_cdc/usb_cdc.h @@ -11,10 +11,16 @@ extern "C" { #include "ring.h" +#ifndef USB_CDC_TX_RING_SIZE +#define USB_CDC_TX_RING_SIZE 80 +#endif + + typedef struct usb_cdc_struct { usb_t usb; ring_t tx_ring; + uint8_t tx_ring_buffer[USB_CDC_TX_RING_SIZE]; uint32_t read_timeout_us; uint32_t write_timeout_us; volatile bool writing; From 7f77c1b947f9738e48bb796d1659c8780c8522a1 Mon Sep 17 00:00:00 2001 From: Harry Mander Date: Thu, 6 Apr 2023 15:06:55 +1200 Subject: [PATCH 2/3] panic: fix undeclared symbol error due to undefined LED_ACTIVE macro --- panic/panic.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/panic/panic.c b/panic/panic.c index c0206b7..994ed8b 100644 --- a/panic/panic.c +++ b/panic/panic.c @@ -6,9 +6,10 @@ panic (pio_t led_error_pio, unsigned int error_code) { unsigned int i; - pio_config_set (led_error_pio, PIO_OUTPUT_LOW); -#ifndef LED_ACTIVE +#ifdef LED_ACTIVE pio_output_set (led_error_pio, LED_ACTIVE); +#else + pio_config_set (led_error_pio, PIO_OUTPUT_LOW); #endif while (1) From 63249e1f51bc7113cf0b0dd3a6616316ec2e651f Mon Sep 17 00:00:00 2001 From: Harry Mander Date: Wed, 8 May 2024 17:07:26 +1200 Subject: [PATCH 3/3] tty: remove unnecessary includes --- tty/tty.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/tty/tty.c b/tty/tty.c index c1fbcc4..d4e5dbf 100644 --- a/tty/tty.c +++ b/tty/tty.c @@ -15,11 +15,8 @@ #include "tty.h" #include "sys.h" #include "errno.h" -#include #include -#include #include -#include struct tty_struct