From 6510e8495fc5e8057b6092963def4d78978625a0 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 2 Jan 2012 16:09:29 -0800 Subject: [PATCH] altosui: Split out lots of the altosui code to a shared library To be shared with the Android application eventually Signed-off-by: Keith Packard --- altosui/Altos.java | 18 +----- altosui/altoslib/Makefile.am | 56 +++++++++++++++++++ .../AltosLib}/AltosCRCException.java | 0 .../altusmetrum/AltosLib}/AltosConvert.java | 0 .../AltosLib}/AltosFontListener.java | 0 .../altusmetrum/AltosLib}/AltosFrequency.java | 0 .../org/altusmetrum/AltosLib}/AltosGPS.java | 0 .../altusmetrum/AltosLib}/AltosGPSSat.java | 0 .../org/altusmetrum/AltosLib}/AltosLine.java | 0 .../org/altusmetrum/AltosLib}/AltosParse.java | 0 .../altusmetrum/AltosLib}/AltosRecord.java | 0 .../AltosLib}/AltosRecordCompanion.java | 0 .../AltosLib}/AltosRecordIterable.java | 0 .../altusmetrum/AltosLib}/AltosTelemetry.java | 0 .../AltosLib}/AltosTelemetryIterable.java | 0 .../AltosLib}/AltosTelemetryMap.java | 0 .../AltosLib}/AltosTelemetryReader.java | 0 .../AltosLib}/AltosTelemetryRecord.java | 0 .../AltosTelemetryRecordCompanion.java | 0 .../AltosTelemetryRecordConfiguration.java | 0 .../AltosLib/AltosTelemetryRecordGeneral.java | 43 ++++++++++++++ .../AltosLib}/AltosTelemetryRecordLegacy.java | 0 .../AltosTelemetryRecordLocation.java | 0 .../AltosLib}/AltosTelemetryRecordRaw.java | 0 .../AltosTelemetryRecordSatellite.java | 0 .../AltosLib}/AltosTelemetryRecordSensor.java | 0 configure.ac | 1 + 27 files changed, 103 insertions(+), 15 deletions(-) create mode 100644 altosui/altoslib/Makefile.am rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosCRCException.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosConvert.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosFontListener.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosFrequency.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosGPS.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosGPSSat.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosLine.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosParse.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosRecord.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosRecordCompanion.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosRecordIterable.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetry.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryIterable.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryMap.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryReader.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryRecord.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryRecordCompanion.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryRecordConfiguration.java (100%) create mode 100644 altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordGeneral.java rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryRecordLegacy.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryRecordLocation.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryRecordRaw.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryRecordSatellite.java (100%) rename altosui/{ => altoslib/src/org/altusmetrum/AltosLib}/AltosTelemetryRecordSensor.java (100%) diff --git a/altosui/Altos.java b/altosui/Altos.java index 1d393dbe..3e2a7a40 100644 --- a/altosui/Altos.java +++ b/altosui/Altos.java @@ -24,20 +24,9 @@ import java.nio.charset.Charset; import libaltosJNI.*; -public class Altos { - /* EEProm command letters */ - static final int AO_LOG_FLIGHT = 'F'; - static final int AO_LOG_SENSOR = 'A'; - static final int AO_LOG_TEMP_VOLT = 'T'; - static final int AO_LOG_DEPLOY = 'D'; - static final int AO_LOG_STATE = 'S'; - static final int AO_LOG_GPS_TIME = 'G'; - static final int AO_LOG_GPS_LAT = 'N'; - static final int AO_LOG_GPS_LON = 'W'; - static final int AO_LOG_GPS_ALT = 'H'; - static final int AO_LOG_GPS_SAT = 'V'; - static final int AO_LOG_GPS_DATE = 'Y'; - static final int AO_LOG_PRESSURE = 'P'; +import org.altusmetrum.AltosLib.*; + +public class Altos extends AltosLib { /* Added for header fields in eeprom files */ static final int AO_LOG_CONFIG_VERSION = 1000; @@ -107,7 +96,6 @@ public class Altos { static boolean map_initialized = false; static final int tab_elt_pad = 5; - static Font label_font; static Font value_font; static Font status_font; diff --git a/altosui/altoslib/Makefile.am b/altosui/altoslib/Makefile.am new file mode 100644 index 00000000..9c655131 --- /dev/null +++ b/altosui/altoslib/Makefile.am @@ -0,0 +1,56 @@ +AM_JAVACFLAGS=-encoding UTF-8 -Xlint:deprecation + +JAVAROOT=bin + +CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH="bin:$(FREETTS)/*:/usr/share/java/*" + +SRC=src/org/altusmetrum/AltosLib +BIN=bin/org/altusmetrum/AltosLib + +AltosLibdir = $(datadir)/java + +AltosLib_JAVA = \ + $(SRC)/AltosLib.java \ + $(SRC)/AltosConvert.java \ + $(SRC)/AltosCRCException.java \ + $(SRC)/AltosFrequency.java \ + $(SRC)/AltosGPS.java \ + $(SRC)/AltosGPSSat.java \ + $(SRC)/AltosLine.java \ + $(SRC)/AltosParse.java \ + $(SRC)/AltosRecordCompanion.java \ + $(SRC)/AltosRecordIterable.java \ + $(SRC)/AltosRecord.java \ + $(SRC)/AltosTelemetryIterable.java \ + $(SRC)/AltosTelemetry.java \ + $(SRC)/AltosTelemetryMap.java \ + $(SRC)/AltosTelemetryRecordCompanion.java \ + $(SRC)/AltosTelemetryRecordConfiguration.java \ + $(SRC)/AltosTelemetryRecordGeneral.java \ + $(SRC)/AltosTelemetryRecord.java \ + $(SRC)/AltosTelemetryRecordLegacy.java \ + $(SRC)/AltosTelemetryRecordLocation.java \ + $(SRC)/AltosTelemetryRecordRaw.java \ + $(SRC)/AltosTelemetryRecordSatellite.java \ + $(SRC)/AltosTelemetryRecordSensor.java + +JAR=AltosLib.jar + +all-local: $(JAR) + +clean-local: + -rm -rf bin $(JAR) + +altosuidir=$(datadir)/java + +install-altosuiJAVA: $(JAR) + @$(NORMAL_INSTALL) + test -z "$(altosuidir)" || $(MKDIR_P) "$(DESTDIR)$(altosuidir)" + echo " $(INSTALL_DATA)" "$<" "'$(DESTDIR)$(altosuidir)/$(JAR)"; \ + $(INSTALL_DATA) "$<" "$(DESTDIR)$(altosuidir)" + +bin: + mkdir -p bin + +$(JAR): classAltosLib.stamp + jar cf $@ -C bin org diff --git a/altosui/AltosCRCException.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosCRCException.java similarity index 100% rename from altosui/AltosCRCException.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosCRCException.java diff --git a/altosui/AltosConvert.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConvert.java similarity index 100% rename from altosui/AltosConvert.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConvert.java diff --git a/altosui/AltosFontListener.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFontListener.java similarity index 100% rename from altosui/AltosFontListener.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFontListener.java diff --git a/altosui/AltosFrequency.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFrequency.java similarity index 100% rename from altosui/AltosFrequency.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFrequency.java diff --git a/altosui/AltosGPS.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPS.java similarity index 100% rename from altosui/AltosGPS.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPS.java diff --git a/altosui/AltosGPSSat.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPSSat.java similarity index 100% rename from altosui/AltosGPSSat.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPSSat.java diff --git a/altosui/AltosLine.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLine.java similarity index 100% rename from altosui/AltosLine.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLine.java diff --git a/altosui/AltosParse.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosParse.java similarity index 100% rename from altosui/AltosParse.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosParse.java diff --git a/altosui/AltosRecord.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecord.java similarity index 100% rename from altosui/AltosRecord.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecord.java diff --git a/altosui/AltosRecordCompanion.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordCompanion.java similarity index 100% rename from altosui/AltosRecordCompanion.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordCompanion.java diff --git a/altosui/AltosRecordIterable.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordIterable.java similarity index 100% rename from altosui/AltosRecordIterable.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordIterable.java diff --git a/altosui/AltosTelemetry.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetry.java similarity index 100% rename from altosui/AltosTelemetry.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetry.java diff --git a/altosui/AltosTelemetryIterable.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryIterable.java similarity index 100% rename from altosui/AltosTelemetryIterable.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryIterable.java diff --git a/altosui/AltosTelemetryMap.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryMap.java similarity index 100% rename from altosui/AltosTelemetryMap.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryMap.java diff --git a/altosui/AltosTelemetryReader.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java similarity index 100% rename from altosui/AltosTelemetryReader.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java diff --git a/altosui/AltosTelemetryRecord.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecord.java similarity index 100% rename from altosui/AltosTelemetryRecord.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecord.java diff --git a/altosui/AltosTelemetryRecordCompanion.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordCompanion.java similarity index 100% rename from altosui/AltosTelemetryRecordCompanion.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordCompanion.java diff --git a/altosui/AltosTelemetryRecordConfiguration.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordConfiguration.java similarity index 100% rename from altosui/AltosTelemetryRecordConfiguration.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordConfiguration.java diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordGeneral.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordGeneral.java new file mode 100644 index 00000000..722baba3 --- /dev/null +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordGeneral.java @@ -0,0 +1,43 @@ +/* + * Copyright © 2011 Keith Packard + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +package altosui; + +import java.lang.*; +import java.text.*; +import java.util.HashMap; + +public class AltosTelemetryRecordGeneral { + + static AltosTelemetryRecord parse(String line) throws ParseException, AltosCRCException { + AltosTelemetryRecord r; + + String[] word = line.split("\\s+"); + int i =0; + if (word[i].equals("CRC") && word[i+1].equals("INVALID")) { + i += 2; + AltosParse.word(word[i++], "RSSI"); + throw new AltosCRCException(AltosParse.parse_int(word[i++])); + } + + if (word[i].equals("TELEM")) + r = AltosTelemetryRecordRaw.parse(word[i+1]); + else + r = new AltosTelemetryRecordLegacy(line); + return r; + } +} diff --git a/altosui/AltosTelemetryRecordLegacy.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLegacy.java similarity index 100% rename from altosui/AltosTelemetryRecordLegacy.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLegacy.java diff --git a/altosui/AltosTelemetryRecordLocation.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLocation.java similarity index 100% rename from altosui/AltosTelemetryRecordLocation.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLocation.java diff --git a/altosui/AltosTelemetryRecordRaw.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordRaw.java similarity index 100% rename from altosui/AltosTelemetryRecordRaw.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordRaw.java diff --git a/altosui/AltosTelemetryRecordSatellite.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSatellite.java similarity index 100% rename from altosui/AltosTelemetryRecordSatellite.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSatellite.java diff --git a/altosui/AltosTelemetryRecordSensor.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSensor.java similarity index 100% rename from altosui/AltosTelemetryRecordSensor.java rename to altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSensor.java diff --git a/configure.ac b/configure.ac index f84387d2..efccf714 100644 --- a/configure.ac +++ b/configure.ac @@ -113,6 +113,7 @@ AC_OUTPUT([ Makefile altosui/Makefile altosui/AltosVersion.java +altosui/altoslib/Makefile altosui/libaltos/Makefile ao-tools/Makefile ao-tools/lib/Makefile -- 2.30.2