*/
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) {
}
void write_flight_header() {
- out.printf("state state_name");
+ out.printf("state,state_name");
}
void write_flight(AltosRecord record) {
}
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) {
}
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) {
}
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");
}
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 {
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);
file = hexfile_chooser.getSelectedFile();
+ if (file != null)
+ AltosPreferences.set_firmwaredir(file.getParentFile());
+
thread = new Thread(this);
thread.start();
}
/* 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";
/* 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");
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() {
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;
+ }
}