From 98aa332fb3393233c5dc1f3f788cfac36946d964 Mon Sep 17 00:00:00 2001 From: "bernet.andre@gmail.com" Date: Tue, 26 Feb 2013 12:18:13 +0000 Subject: [PATCH] [all] Overflow when PPM frame length was at maximum with a 4-CH output --- src/pulses_arm.cpp | 1 + src/pulses_avr.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/pulses_arm.cpp b/src/pulses_arm.cpp index 1fbec9464..0f0a13dad 100644 --- a/src/pulses_arm.cpp +++ b/src/pulses_arm.cpp @@ -135,6 +135,7 @@ void setupPulsesPPM(PPM_PORT_PARAM) // Don't enable interrupts rest -= v; *ptr++ = v; /* as Pat MacKenzie suggests */ } + rest = (rest > 65535) ? 65535 : rest; *ptr = rest; *(ptr + 1) = 0; diff --git a/src/pulses_avr.cpp b/src/pulses_avr.cpp index 542ed198a..1e658024a 100644 --- a/src/pulses_avr.cpp +++ b/src/pulses_avr.cpp @@ -176,6 +176,7 @@ void setupPulsesPPM(uint8_t proto) } *ptr++ = q; + rest = (rest > 65535) ? 65535 : rest; *ptr++ = rest; if (proto == PROTO_PPM) {