diff --git a/src/main/io/vtx_smartaudio.c b/src/main/io/vtx_smartaudio.c index 803801ab0..08b0b3681 100644 --- a/src/main/io/vtx_smartaudio.c +++ b/src/main/io/vtx_smartaudio.c @@ -450,14 +450,7 @@ static void saReceiveFrame(uint8_t c) static void saSendFrame(uint8_t *buf, int len) { if (!IS_RC_MODE_ACTIVE(BOXVTXCONTROLDISABLE)) { - switch (smartAudioSerialPort->identifier) { - case SERIAL_PORT_SOFTSERIAL1: - case SERIAL_PORT_SOFTSERIAL2: - break; - default: - serialWrite(smartAudioSerialPort, 0x00); // Generate 1st start bit - break; - } + serialWrite(smartAudioSerialPort, 0x00); // Ensure line is low regardless of hardware pull-down capabilities. for (int i = 0 ; i < len ; i++) { serialWrite(smartAudioSerialPort, buf[i]); @@ -468,6 +461,7 @@ static void saSendFrame(uint8_t *buf, int len) sa_outstanding = SA_CMD_NONE; } + serialWrite(smartAudioSerialPort, 0x00); // Pull the line low again after sending frame. sa_lastTransmissionMs = millis(); }