From 5e2ebb6ef540872a28a24ddbf72352174606fc4e Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Mon, 20 Apr 2026 01:38:45 +0200 Subject: [PATCH] fix(afhds2): add missing txCompleted to prevent crash on NV14 (#7301) Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) --- radio/src/pulses/afhds2.cpp | 1 + radio/src/pulses/pulses.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/radio/src/pulses/afhds2.cpp b/radio/src/pulses/afhds2.cpp index a7ecd8029..f71dcd4a0 100644 --- a/radio/src/pulses/afhds2.cpp +++ b/radio/src/pulses/afhds2.cpp @@ -95,4 +95,5 @@ const etx_proto_driver_t Afhds2InternalDriver = { .processData = afhds2ProcessData, .processFrame = nullptr, .onConfigChange = nullptr, + .txCompleted = modulePortSerialTxCompleted, }; diff --git a/radio/src/pulses/pulses.cpp b/radio/src/pulses/pulses.cpp index b04528670..b7696a19d 100644 --- a/radio/src/pulses/pulses.cpp +++ b/radio/src/pulses/pulses.cpp @@ -565,7 +565,7 @@ void pulsesSendNextFrame(uint8_t module) } // if previous frame not completed, skip this one - if (!drv->txCompleted(ctx)) return; + if (drv->txCompleted && !drv->txCompleted(ctx)) return; uint8_t channelStart = g_model.moduleData[module].channelsStart; int16_t* channels = &channelOutputs[channelStart];