JTabbedPane pane;
AltosSiteMap sitemap;
+ TeleGPSInfo gps_info;
boolean has_map;
JMenuBar menu_bar;
/* Device menu */
final static String download_command = "download";
- final static String configure_command = "configure";
final static String export_command = "export";
final static String graph_command = "graph";
+ final static String configure_command = "configure";
+ final static String flash_command = "flash";
static final String[][] device_menu_entries = new String[][] {
{ "Download Data", download_command },
{ "Configure Device", configure_command },
{ "Export Data", export_command },
{ "Graph Data", graph_command },
+ { "Flash Device", flash_command },
};
-// private AltosInfoTable flightInfo;
-
- boolean exit_on_close = false;
-
void stop_display() {
if (thread != null && thread.isAlive()) {
thread.interrupt();
public void reset() {
sitemap.reset();
+ gps_info.reset();
}
public void set_font() {
sitemap.set_font();
+ gps_info.set_font();
}
public void font_size_changed(int font_size) {
state = new AltosState();
sitemap.show(state, listener_state);
+ gps_info.show(state, listener_state);
telegps_status.show(state, listener_state);
}
}
void preferences() {
+ new TeleGPSPreferences(this, voice());
}
void load_maps() {
new AltosSiteMapPreload(this);
}
- void monitor() {
- AltosDevice device = AltosDeviceUIDialog.show(this,
- AltosLib.product_basestation);
- if (device == null)
- return;
+ void disconnect() {
+ setTitle("TeleGPS");
+ stop_display();
+ remove_frequency_menu();
+ }
+
+ void connect(AltosDevice device) {
if (reader != null)
disconnect();
try {
}
}
- void disconnect() {
- setTitle("TeleGPS");
- stop_display();
- remove_frequency_menu();
+ void monitor() {
+ AltosDevice device = AltosDeviceUIDialog.show(this,
+ AltosLib.product_basestation);
+ if (device == null)
+ return;
+ connect(device);
+ }
+
+ public void scan_device_selected(AltosDevice device) {
+ connect(device);
}
void scan() {
+ new AltosScanUI(this, false);
}
void download(){
+ new AltosEepromManage(this, AltosLib.product_telegps);
}
void configure() {
+ new TeleGPSConfig(this);
}
void export() {
+ AltosDataChooser chooser;
+ chooser = new AltosDataChooser(this);
+ AltosStateIterable states = chooser.runDialog();
+ if (states == null)
+ return;
+ new AltosCSVUI(this, states, chooser.file());
}
void graph() {
}
+ void flash() {
+ AltosFlashUI.show(this);
+ }
+
public void actionPerformed(ActionEvent ev) {
/* File menu */
graph();
return;
}
+ if (flash_command.equals(ev.getActionCommand())) {
+ flash();
+ return;
+ }
}
void add_frequency_menu(int serial, final AltosFlightReader reader) {
sitemap = new AltosSiteMap();
pane.add("Site Map", sitemap);
+ gps_info = new TeleGPSInfo();
+ pane.add("Info", gps_info);
+
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
AltosUIPreferences.register_font_listener(this);
set_reader(reader);
}
+ public TeleGPS(AltosDevice device) {
+ this();
+ connect(device);
+ }
+
static AltosStateIterable record_iterable(File file) {
FileInputStream in;
try {
}
if (errors != 0)
System.exit(errors);
- if (!any_created)
- new TeleGPS();
+ if (!any_created) {
+ java.util.List<AltosDevice> devices = AltosUSBDevice.list(AltosLib.product_basestation);
+ if (devices != null)
+ for (AltosDevice device : devices) {
+ new TeleGPS(device);
+ any_created = true;
+ }
+ if (!any_created)
+ new TeleGPS();
+ }
}
}