diff --git a/radio/src/pulses/dsm2_arm.cpp b/radio/src/pulses/dsm2_arm.cpp index 94224319c..176312cd8 100644 --- a/radio/src/pulses/dsm2_arm.cpp +++ b/radio/src/pulses/dsm2_arm.cpp @@ -64,7 +64,7 @@ void sendByteDsm2(uint8_t b) // max 10 changes 0 10 10 10 10 1 } b = (b>>1) | 0x80; // shift in stop bit } - _send_1(len+BITLEN_DSM2); // stop bit + _send_1(len); // stop bit (len is already BITLEN_DSM2) } void putDsm2Flush() @@ -118,7 +118,7 @@ void setupPulsesDSM2(uint8_t port) modulePulsesData[EXTERNAL_MODULE].dsm2.serialByte = 0 ; modulePulsesData[EXTERNAL_MODULE].dsm2.serialBitCount = 0 ; #else - modulePulsesData[EXTERNAL_MODULE].dsm2.index = 1; + modulePulsesData[EXTERNAL_MODULE].dsm2.index = 0; modulePulsesData[EXTERNAL_MODULE].dsm2.rest = 44000; #endif diff --git a/radio/src/pulses/multi_arm.cpp b/radio/src/pulses/multi_arm.cpp index 00d4cd125..454fde987 100644 --- a/radio/src/pulses/multi_arm.cpp +++ b/radio/src/pulses/multi_arm.cpp @@ -87,7 +87,7 @@ static void sendByteMulti(uint8_t b) //max 11 changes 0 10 10 10 10 P 1 if (i==7) b = b ^ parity; // lowest bit is one from previous line } - _send_level(len+2*BITLEN_MULTI); // 2Stop bits + _send_level(len+ BITLEN_MULTI); // enlarge the last bit to be two stop bits long } #endif @@ -106,7 +106,7 @@ void setupPulsesMultimodule(uint8_t port) modulePulsesData[EXTERNAL_MODULE].dsm2.serialBitCount = 0 ; #else modulePulsesData[EXTERNAL_MODULE].dsm2.rest = 18000; // 9ms refresh - modulePulsesData[EXTERNAL_MODULE].dsm2.index = 1; + modulePulsesData[EXTERNAL_MODULE].dsm2.index = 0; #endif modulePulsesData[EXTERNAL_MODULE].dsm2.ptr = modulePulsesData[EXTERNAL_MODULE].dsm2.pulses;