projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Export ao_fat_sync and ao_fat_full functions
[fw/altos]
/
altoslib
/
AltosLink.java
diff --git
a/altoslib/AltosLink.java
b/altoslib/AltosLink.java
index d59e73ba6eca2a690da98f0d46e9db7e6c870919..9eb25ce0ac47b53092e706606e88be0104d15f20 100644
(file)
--- a/
altoslib/AltosLink.java
+++ b/
altoslib/AltosLink.java
@@
-15,15
+15,13
@@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.
AltosLib
;
+package org.altusmetrum.
altoslib_1
;
-import java.lang.*;
import java.io.*;
import java.util.concurrent.*;
import java.util.*;
import java.io.*;
import java.util.concurrent.*;
import java.util.*;
-import java.text.*;
-public abstract class AltosLink {
+public abstract class AltosLink
implements Runnable
{
public final static int ERROR = -1;
public final static int TIMEOUT = -2;
public final static int ERROR = -1;
public final static int TIMEOUT = -2;
@@
-101,15
+99,23
@@
public abstract class AltosLink {
try {
for (;;) {
c = getchar();
try {
for (;;) {
c = getchar();
- if (Thread.interrupted())
+ if (Thread.interrupted()) {
+ if (debug)
+ System.out.printf("INTERRUPTED\n");
break;
break;
+ }
if (c == ERROR) {
if (c == ERROR) {
+ if (debug)
+ System.out.printf("ERROR\n");
add_telem (new AltosLine());
add_reply (new AltosLine());
break;
}
add_telem (new AltosLine());
add_reply (new AltosLine());
break;
}
- if (c == TIMEOUT)
+ if (c == TIMEOUT) {
+ if (debug)
+ System.out.printf("TIMEOUT\n");
continue;
continue;
+ }
if (c == '\r')
continue;
synchronized(this) {
if (c == '\r')
continue;
synchronized(this) {
@@
-180,6
+186,14
@@
public abstract class AltosLink {
reply_queue.put (line);
}
reply_queue.put (line);
}
+ public void abort_reply() {
+ try {
+ add_telem (new AltosLine());
+ add_reply (new AltosLine());
+ } catch (InterruptedException e) {
+ }
+ }
+
public void add_string(String line) throws InterruptedException {
if (line.startsWith("TELEM") || line.startsWith("VERSION") || line.startsWith("CRC")) {
add_telem(new AltosLine(line));
public void add_string(String line) throws InterruptedException {
if (line.startsWith("TELEM") || line.startsWith("VERSION") || line.startsWith("CRC")) {
add_telem(new AltosLine(line));
@@
-235,6
+249,7
@@
public abstract class AltosLink {
public boolean monitor_mode = false;
public int telemetry = AltosLib.ao_telemetry_standard;
public double frequency;
public boolean monitor_mode = false;
public int telemetry = AltosLib.ao_telemetry_standard;
public double frequency;
+ public String callsign;
AltosConfigData config_data;
private int telemetry_len() {
AltosConfigData config_data;
private int telemetry_len() {
@@
-270,8
+285,8
@@
public abstract class AltosLink {
frequency = in_frequency;
config_data();
set_radio_frequency(frequency,
frequency = in_frequency;
config_data();
set_radio_frequency(frequency,
- config_data.radio_frequency
!=
0,
- config_data.radio_setting
!=
0,
+ config_data.radio_frequency
>
0,
+ config_data.radio_setting
>
0,
config_data.radio_calibration);
}
config_data.radio_calibration);
}
@@
-316,6
+331,7
@@
public abstract class AltosLink {
}
public void set_callsign(String callsign) {
}
public void set_callsign(String callsign) {
+ this.callsign = callsign;
printf ("c c %s\n", callsign);
flush_output();
}
printf ("c c %s\n", callsign);
flush_output();
}
@@
-325,10
+341,10
@@
public abstract class AltosLink {
public String name;
public void start_remote() throws TimeoutException, InterruptedException {
public String name;
public void start_remote() throws TimeoutException, InterruptedException {
- if (debug)
- System.out.printf("start remote %7.3f\n", frequency);
if (frequency == 0.0)
frequency = AltosPreferences.frequency(serial);
if (frequency == 0.0)
frequency = AltosPreferences.frequency(serial);
+ if (debug)
+ System.out.printf("start remote %7.3f\n", frequency);
set_radio_frequency(frequency);
set_callsign(AltosPreferences.callsign());
printf("p\nE 0\n");
set_radio_frequency(frequency);
set_callsign(AltosPreferences.callsign());
printf("p\nE 0\n");
@@
-349,5
+365,6
@@
public abstract class AltosLink {
}
public AltosLink() {
}
public AltosLink() {
+ callsign = "";
}
}
}
}