From 08e7fdb9f2db4b54279c0c5b18735aa1d5abc19e Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 4 Jul 2018 20:25:58 -0700 Subject: [PATCH] altoslib: Make stop_remote delay depend on the data rate It takes longer to flush commands at 2400 baud, so wait longer when disabling remote mode. Signed-off-by: Keith Packard --- altoslib/AltosLink.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/altoslib/AltosLink.java b/altoslib/AltosLink.java index 829a1a63..3ad34891 100644 --- a/altoslib/AltosLink.java +++ b/altoslib/AltosLink.java @@ -339,9 +339,22 @@ public abstract class AltosLink implements Runnable { public void flush_input() throws InterruptedException { - if (remote) - flush_input(500); - else + if (remote) { + int timeout = 500; + switch (telemetry_rate) { + case AltosLib.ao_telemetry_rate_38400: + default: + timeout = 500; + break; + case AltosLib.ao_telemetry_rate_9600: + timeout = 1000; + break; + case AltosLib.ao_telemetry_rate_2400: + timeout = 2000; + break; + } + flush_input(timeout); + } else flush_input(100); } -- 2.30.2