2 * Copyright © 2011 Keith Packard <keithp@keithp.com>
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; version 2 of the License.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21 import java.awt.event.*;
23 import javax.swing.filechooser.FileNameExtensionFilter;
24 import javax.swing.table.*;
28 import java.util.prefs.*;
29 import java.util.concurrent.*;
30 import java.lang.reflect.Array;
34 public class AltosEepromBlock extends ArrayList<AltosEepromRecord> {
42 public AltosEepromBlock (AltosSerial serial_line, int block) throws TimeoutException, InterruptedException {
49 serial_line.printf("e %x\n", block);
50 for (addr = 0; !done && addr < 0x100;) {
52 AltosEepromRecord r = new AltosEepromRecord(serial_line, block * 256 + addr);
54 if (r.cmd == Altos.AO_LOG_FLIGHT) {
59 /* Monitor state transitions to update display */
60 if (r.cmd == Altos.AO_LOG_STATE && r.a <= Altos.ao_flight_landed) {
61 if (!has_state || r.a > state) {
67 if (r.cmd == Altos.AO_LOG_GPS_DATE) {
68 year = 2000 + (r.a & 0xff);
69 month = (r.a >> 8) & 0xff;
74 if (r.cmd == Altos.AO_LOG_STATE && r.a == Altos.ao_flight_landed)
77 } catch (ParseException pe) {