Hi, we have designed a Linux-based Flight Controller and connected CRSFv2 telemetry to the UART port. When we connect to QGC, a warning appears: “CRSFv2: running on non-DMA serial port.”
Upon inspecting the source code (at libraries/AP_RCTelemetry/AP_CRSF_Telem.cpp
), we noticed that:
#if !defined(STM32H7) // warn the user if their setup is sub-optimal, H7 does not need DMA on // serial port if (_telem_bootstrap_msg_pending && !uart->is_dma_enabled()) { GCS_SEND_TEXT(MAV_SEVERITY_WARNING, "%s: running on non-DMA serial port", get_protocol_string()); }
This code block is responsible for the warning, but the functions used in this block are specific to ChibiOS. Should we add a condition to the first line, such as #if !defined(STM32H7) && CONFIG_HAL_BOARD == HAL_BOARD_CHIBIOS
?