From a88f10419993c7adddb7a2395c29f3df183caafe Mon Sep 17 00:00:00 2001 From: Markus Kalkbrenner Date: Tue, 28 Jan 2025 01:16:37 +0100 Subject: [PATCH] fixed UART? --- src/ZeDMDComm.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/ZeDMDComm.cpp b/src/ZeDMDComm.cpp index c2d141b..0e127d4 100644 --- a/src/ZeDMDComm.cpp +++ b/src/ZeDMDComm.cpp @@ -701,12 +701,26 @@ bool ZeDMDComm::SendChunks(uint8_t* pData, uint16_t size) uint8_t* padded = (uint8_t*)malloc(m_writeAtOnce); memset(padded, 0, m_writeAtOnce); memcpy(padded, &pData[sent], toSend); - status = sp_blocking_write(m_pSerialPort, padded, m_writeAtOnce, ZEDMD_COMM_SERIAL_WRITE_TIMEOUT); + if (m_cdc) + { + status = sp_blocking_write(m_pSerialPort, padded, m_writeAtOnce, ZEDMD_COMM_SERIAL_WRITE_TIMEOUT); + } + else + { + status = sp_nonblocking_write(m_pSerialPort, padded, m_writeAtOnce); + } free(padded); } else { - status = sp_blocking_write(m_pSerialPort, &pData[sent], toSend, ZEDMD_COMM_SERIAL_WRITE_TIMEOUT); + if (m_cdc) + { + status = sp_blocking_write(m_pSerialPort, &pData[sent], toSend, ZEDMD_COMM_SERIAL_WRITE_TIMEOUT); + } + else + { + status = sp_nonblocking_write(m_pSerialPort, &pData[sent], toSend); + } } if (status < toSend)