import java.text.*;
import java.util.prefs.*;
import java.util.concurrent.*;
+import org.altusmetrum.AltosLib.*;
import libaltosJNI.*;
private void DeleteLog (AltosEepromLog log)
throws IOException, InterruptedException, TimeoutException {
- if (flights.config_data.flight_log_max != 0) {
+ if (flights.config_data.flight_log_max != 0 || flights.config_data.log_format != 0) {
/* Devices with newer firmware can erase the
* flash blocks containing each flight
}
public void run () {
- if (remote)
- serial_line.start_remote();
-
success = false;
try {
+ if (remote)
+ serial_line.start_remote();
+
for (AltosEepromLog log : flights) {
- if (log.delete) {
+ if (log.selected) {
DeleteLog(log);
}
}
show_error (String.format("Connection to \"%s\" failed",
serial_line.device.toShortString()),
"Connection Failed");
+ } finally {
+ try {
+ if (remote)
+ serial_line.stop_remote();
+ } catch (InterruptedException ie) {
+ } finally {
+ serial_line.flush_output();
+ serial_line.close();
+ }
}
- if (remote)
- serial_line.stop_remote();
- serial_line.flush_output();
- serial_line.close();
if (listener != null) {
Runnable r = new Runnable() {
public void run() {