2 * Copyright © 2012 Mike Beattie <mike@ethernal.org>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
19 package org.altusmetrum.AltosDroid;
22 import org.altusmetrum.altoslib_14.*;
24 public class TelemetryState {
25 public static final int CONNECT_NONE = 0;
26 public static final int CONNECT_DISCONNECTED = 1;
27 public static final int CONNECT_CONNECTING = 2;
28 public static final int CONNECT_CONNECTED = 3;
31 DeviceAddress address;
32 AltosConfigData config;
34 double receiver_battery;
41 private HashMap<Integer,AltosState> states;
44 long latest_received_time;
46 public void put(int serial, AltosState state) {
47 long received_time = state.received_time;
48 if (received_time > latest_received_time || latest_serial == 0) {
49 latest_serial = serial;
50 latest_received_time = received_time;
52 states.put(serial, state);
55 public AltosState get(int serial) {
56 if (states.containsKey(serial))
57 return states.get(serial);
61 public void remove(int serial) {
62 states.remove((Integer) serial);
65 public Set<Integer> keySet() {
66 return states.keySet();
69 public Collection<AltosState> values() {
70 return states.values();
73 public boolean containsKey(int serial) {
74 return states.containsKey(serial);
77 public TelemetryState() {
78 connect = CONNECT_NONE;
80 states = new HashMap<Integer,AltosState>();
82 receiver_battery = AltosLib.MISSING;
83 frequency = AltosPreferences.frequency(0);
84 telemetry_rate = AltosPreferences.telemetry_rate(0);