From 3ffcc473748b6c7f14ec5ed55c12cc921c09703f Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Wed, 6 Feb 2019 14:11:49 +0200 Subject: [PATCH] fix logger --- targets/stm32l432/src/redirect.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/targets/stm32l432/src/redirect.c b/targets/stm32l432/src/redirect.c index d3d5e5d..ee587d0 100644 --- a/targets/stm32l432/src/redirect.c +++ b/targets/stm32l432/src/redirect.c @@ -43,11 +43,22 @@ static int NFC = 0; int _write (int fd, const void *buf, long int len) { uint8_t * data = (uint8_t *) buf; + static uint8_t logbuf[1000] = {0}; + static int logbuflen = 0; + if (logbuflen + len > 1000) { + int mlen = logbuflen + len - 1000; + memmove(logbuf, &logbuf[mlen], mlen); + logbuflen -= mlen; + } + memcpy(&logbuf[logbuflen], data, len); + logbuflen += len; if (!NFC) { // Send out USB serial - CDC_Transmit_FS(data, len); + uint8_t res = CDC_Transmit_FS(logbuf, logbuflen); + if (res == USBD_OK) + logbuflen = 0; } // Send out UART serial