/*
- * Copyright © 2011 Keith Packard <keithp@keithp.com>
- * Copyright © 2012 Mike Beattie <mike@ethernal.org>
+ * Copyright © 2011 Keith Packard <keithp@keithp.com>
+ * Copyright © 2012 Mike Beattie <mike@ethernal.org>
*
* 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
//import android.os.Message;
import android.util.Log;
-import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altoslib_1.*;
public class AltosBluetooth extends AltosLink {
connect_thread = new ConnectThread(device);
connect_thread.start();
- input_thread = new Thread(this);
- input_thread.start();
}
private class ConnectThread extends Thread {
return;
}
+ input_thread = new Thread(AltosBluetooth.this);
+ input_thread.start();
+
// Configure the newly connected device for telemetry
print("~\nE 0\n");
set_monitor(false);
- // Reset the ConnectThread because we're done
- connect_thread = null;
-
- // Send the device name back to the Telemetry Service
- name = device.getName();
+ // Let TelemetryService know we're connected
handler.obtainMessage(TelemetryService.MSG_CONNECTED).sendToTarget();
// Notify other waiting threads, now that we're connected
AltosBluetooth.this.notifyAll();
+ // Reset the ConnectThread because we're done
+ connect_thread = null;
+
if (D) Log.d(TAG, "ConnectThread: Connect completed");
}
}
}
}
- private void connection_failed() {
+ private void connection_lost() {
if (D) Log.e(TAG, "Connection lost during I/O");
handler.obtainMessage(TelemetryService.MSG_DISCONNECTED).sendToTarget();
}
output.write(bytes);
if (D) Log.d(TAG, "print(): Wrote bytes: '" + data.replace('\n', '\\') + "'");
} catch (IOException e) {
- connection_failed();
+ connection_lost();
} catch (InterruptedException e) {
- connection_failed();
+ connection_lost();
}
}
wait_connected();
return input.read();
} catch (IOException e) {
- connection_failed();
+ connection_lost();
} catch (java.lang.InterruptedException e) {
- connection_failed();
+ connection_lost();
}
return AltosLink.ERROR;
}
}
+ // We override this method so that we can add some debugging. Not 100% elegant, but more useful
+ // than debugging one char at a time above in getchar()!
+ public void add_reply(AltosLine line) throws InterruptedException {
+ if (D) Log.d(TAG, String.format("Got REPLY: %s", line.line));
+ super.add_reply(line);
+ }
+
//public void flush_output() { super.flush_output(); }
// Stubs of required methods when extending AltosLink