From 6cdee8c8301e1535c7e2a5d0f2ed04c30c533600 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Thu, 21 May 2020 15:18:59 +1000 Subject: [PATCH] AP_BLHeli: read more efficiently from telemetry UART --- libraries/AP_BLHeli/AP_BLHeli.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libraries/AP_BLHeli/AP_BLHeli.cpp b/libraries/AP_BLHeli/AP_BLHeli.cpp index 3efe653369..3684fcd8ff 100644 --- a/libraries/AP_BLHeli/AP_BLHeli.cpp +++ b/libraries/AP_BLHeli/AP_BLHeli.cpp @@ -1368,17 +1368,13 @@ uint8_t AP_BLHeli::telem_crc8(uint8_t crc, uint8_t crc_seed) const void AP_BLHeli::read_telemetry_packet(void) { uint8_t buf[telem_packet_size]; - uint8_t crc = 0; - for (uint8_t i=0; iread(); - if (v < 0) { - // short read, we should have 10 bytes ready when this function is called - return; - } - buf[i] = uint8_t(v); + if (telem_uart->read(buf, telem_packet_size) < telem_packet_size) { + // short read, we should have 10 bytes ready when this function is called + return; } // calculate crc + uint8_t crc = 0; for (uint8_t i=0; i