Added Qurt platform Serial implementations for bytesAvailable() and flush(). (#25348)

This commit is contained in:
Eric Katzfey
2025-08-01 13:22:00 -08:00
committed by GitHub
parent 0cddd3dfb0
commit c5b8445ffc
2 changed files with 33 additions and 6 deletions
@@ -79,7 +79,12 @@
#define ASYNC_UART_READ_WAIT_US 2000
extern "C" { __EXPORT int dsp_hitl_main(int argc, char *argv[]); }
extern "C" {
__EXPORT int dsp_hitl_main(int argc, char *argv[]);
__EXPORT int fc_uart_rx_available(int fd, uint32_t *data);
__EXPORT int fc_uart_flush_rx(int fd);
}
namespace dsp_hitl
{
@@ -952,7 +957,17 @@ int readResponse(void *buf, size_t len)
return -1;
}
return qurt_uart_read(_uart_fd, (char *) buf, len, ASYNC_UART_READ_WAIT_US);
uint32_t rx_bytes_available = 0;
(void) fc_uart_rx_available(_uart_fd, &rx_bytes_available);
int bytes_read = 0;
if (rx_bytes_available) {
bytes_read = qurt_uart_read(_uart_fd, (char *) buf, len, ASYNC_UART_READ_WAIT_US);
}
// (void) fc_uart_flush_rx(_uart_fd);
return bytes_read;
}
int writeResponse(void *buf, size_t len)