summaryrefslogtreecommitdiff
path: root/altoslib/AltosLink.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-07-04 20:25:58 -0700
committerKeith Packard <keithp@keithp.com>2018-07-04 20:25:58 -0700
commit08e7fdb9f2db4b54279c0c5b18735aa1d5abc19e (patch)
tree226e99dee7a2db9254f9812faa51682038df1d1a /altoslib/AltosLink.java
parent323a79e6ed3dfdd2afadfc2a464bb0610380b03b (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>
Diffstat (limited to 'altoslib/AltosLink.java')
-rw-r--r--altoslib/AltosLink.java19
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);
}