/*
- * 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_3.*;
public class AltosBluetooth extends AltosLink {
}
}
- 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();
}
}
+ public void putchar(byte c) {
+ byte[] bytes = { c };
+ if (D) Log.d(TAG, "print(): begin");
+ try {
+ wait_connected();
+ output.write(bytes);
+ if (D) Log.d(TAG, "print(): Wrote byte: '" + c + "'");
+ } catch (IOException e) {
+ connection_lost();
+ } catch (InterruptedException e) {
+ connection_lost();
+ }
+ }
+
public int getchar() {
try {
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