diff options
author | Keith Packard <keithp@keithp.com> | 2018-07-04 20:25:58 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2018-07-04 20:25:58 -0700 |
commit | 08e7fdb9f2db4b54279c0c5b18735aa1d5abc19e (patch) | |
tree | 226e99dee7a2db9254f9812faa51682038df1d1a | |
parent | 323a79e6ed3dfdd2afadfc2a464bb0610380b03b (diff) |
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 <keithp@keithp.com>
-rw-r--r-- | altoslib/AltosLink.java | 19 |
1 files 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); } |