From 2e99ff2c99f5d4a2fa196507e794c690665ab39e Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 4 Jul 2014 23:20:51 -0700 Subject: [PATCH] altoslib: Preserve receiver_serial across state reset for new transmitter When the transmitter serial or flight number changes, we re-init the state information, but we want to preserve the receiver serial number so that the log file has that in the name Signed-off-by: Keith Packard --- altoslib/AltosState.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index e0c00602..5e7908af 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -1024,15 +1024,21 @@ public class AltosState implements Cloneable { firmware_version = version; } + private void re_init() { + int bt = boost_tick; + int rs = receiver_serial; + init(); + boost_tick = bt; + receiver_serial = rs; + } + public void set_flight(int flight) { /* When the flight changes, reset the state */ - if (flight != AltosLib.MISSING && flight != 0) { + if (flight != AltosLib.MISSING) { if (this.flight != AltosLib.MISSING && this.flight != flight) { - int bt = boost_tick; - init(); - boost_tick = bt; + re_init(); } this.flight = flight; } @@ -1043,9 +1049,7 @@ public class AltosState implements Cloneable { if (serial != AltosLib.MISSING) { if (this.serial != AltosLib.MISSING && this.serial != serial) { - int bt = boost_tick; - init(); - boost_tick = bt; + re_init(); } this.serial = serial; } -- 2.30.2