summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Towns <aj@erisian.com.au>2010-09-11 15:15:14 +1000
committerAnthony Towns <aj@erisian.com.au>2010-09-11 15:15:14 +1000
commit3d64f5a6511529ca53699190f4d54de1ba62a9bd (patch)
treeef99ee573f9ba4c1e842a41c57d4ec2a3f46ce3c
parentec6da0824474e46de842845d7b53fe1a1dde33ed (diff)
parentb9623f8ef26491e9fa14e2478295fe6f5cbbd87f (diff)
Merge branch 'master' of git://git.gag.com/fw/altos
-rw-r--r--ao-tools/altosui/AltosCSV.java16
-rw-r--r--ao-tools/altosui/AltosCSVUI.java1
-rw-r--r--ao-tools/altosui/AltosFlashUI.java7
-rw-r--r--ao-tools/altosui/AltosPreferences.java25
4 files changed, 41 insertions, 8 deletions
diff --git a/ao-tools/altosui/AltosCSV.java b/ao-tools/altosui/AltosCSV.java
index 4ce8e30e..07fa371f 100644
--- a/ao-tools/altosui/AltosCSV.java
+++ b/ao-tools/altosui/AltosCSV.java
@@ -86,7 +86,7 @@ public class AltosCSV {
*/
void write_general_header() {
- out.printf("version serial flight call time rssi");
+ out.printf("version,serial,flight,call,time,rssi");
}
void write_general(AltosRecord record) {
@@ -97,7 +97,7 @@ public class AltosCSV {
}
void write_flight_header() {
- out.printf("state state_name");
+ out.printf("state,state_name");
}
void write_flight(AltosRecord record) {
@@ -105,7 +105,7 @@ public class AltosCSV {
}
void write_basic_header() {
- out.printf("acceleration pressure altitude height accel_speed baro_speed temperature battery_voltage drogue_voltage main_voltage");
+ out.printf("acceleration,pressure,altitude,height,accel_speed,baro_speed,temperature,battery_voltage,drogue_voltage,main_voltage");
}
void write_basic(AltosRecord record) {
@@ -123,7 +123,7 @@ public class AltosCSV {
}
void write_gps_header() {
- out.printf("connected locked nsat latitude longitude altitude year month day hour minute second pad_dist pad_range pad_az pad_el");
+ out.printf("connected,locked,nsat,latitude,longitude,altitude,year,month,day,hour,minute,second,pad_dist,pad_range,pad_az,pad_el");
}
void write_gps(AltosRecord record) {
@@ -155,10 +155,10 @@ public class AltosCSV {
}
void write_header() {
- out.printf("# "); write_general_header();
- out.printf(" "); write_flight_header();
- out.printf(" "); write_basic_header();
- out.printf(" "); write_gps_header();
+ out.printf("#"); write_general_header();
+ out.printf(","); write_flight_header();
+ out.printf(","); write_basic_header();
+ out.printf(","); write_gps_header();
out.printf ("\n");
}
diff --git a/ao-tools/altosui/AltosCSVUI.java b/ao-tools/altosui/AltosCSVUI.java
index 2d812361..643d4112 100644
--- a/ao-tools/altosui/AltosCSVUI.java
+++ b/ao-tools/altosui/AltosCSVUI.java
@@ -56,6 +56,7 @@ public class AltosCSVUI
path = path.substring(0,dot);
path = path.concat(".csv");
csv_chooser = new JFileChooser(path);
+ csv_chooser.setSelectedFile(new File(path));
int ret = csv_chooser.showSaveDialog(frame);
if (ret == JFileChooser.APPROVE_OPTION) {
try {
diff --git a/ao-tools/altosui/AltosFlashUI.java b/ao-tools/altosui/AltosFlashUI.java
index 5ed417da..86f57a5f 100644
--- a/ao-tools/altosui/AltosFlashUI.java
+++ b/ao-tools/altosui/AltosFlashUI.java
@@ -194,6 +194,10 @@ public class AltosFlashUI
JFileChooser hexfile_chooser = new JFileChooser();
+ File firmwaredir = AltosPreferences.firmwaredir();
+ if (firmwaredir != null)
+ hexfile_chooser.setCurrentDirectory(firmwaredir);
+
hexfile_chooser.setDialogTitle("Select Flash Image");
hexfile_chooser.setFileFilter(new FileNameExtensionFilter("Flash Image", "ihx"));
int returnVal = hexfile_chooser.showOpenDialog(frame);
@@ -203,6 +207,9 @@ public class AltosFlashUI
file = hexfile_chooser.getSelectedFile();
+ if (file != null)
+ AltosPreferences.set_firmwaredir(file.getParentFile());
+
thread = new Thread(this);
thread.start();
}
diff --git a/ao-tools/altosui/AltosPreferences.java b/ao-tools/altosui/AltosPreferences.java
index 690f8f1e..52627563 100644
--- a/ao-tools/altosui/AltosPreferences.java
+++ b/ao-tools/altosui/AltosPreferences.java
@@ -40,6 +40,9 @@ class AltosPreferences {
/* callsign preference name */
final static String callsignPreference = "CALLSIGN";
+ /* firmware directory preference name */
+ final static String firmwaredirPreference = "FIRMWARE";
+
/* Default logdir is ~/TeleMetrum */
final static String logdirName = "TeleMetrum";
@@ -55,8 +58,12 @@ class AltosPreferences {
/* Voice preference */
static boolean voice;
+ /* Callsign preference */
static String callsign;
+ /* Firmware directory */
+ static File firmwaredir;
+
public static void init(Component ui) {
preferences = Preferences.userRoot().node("/org/altusmetrum/altosui");
@@ -78,6 +85,12 @@ class AltosPreferences {
voice = preferences.getBoolean(voicePreference, true);
callsign = preferences.get(callsignPreference,"N0CALL");
+
+ String firmwaredir_string = preferences.get(firmwaredirPreference, null);
+ if (firmwaredir_string != null)
+ firmwaredir = new File(firmwaredir_string);
+ else
+ firmwaredir = null;
}
static void flush_preferences() {
@@ -173,4 +186,16 @@ class AltosPreferences {
public static String callsign() {
return callsign;
}
+
+ public static void set_firmwaredir(File new_firmwaredir) {
+ firmwaredir = new_firmwaredir;
+ synchronized (preferences) {
+ preferences.put(firmwaredirPreference, firmwaredir.getPath());
+ flush_preferences();
+ }
+ }
+
+ public static File firmwaredir() {
+ return firmwaredir;
+ }
}