projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
telegps: Get telegps application working again
[fw/altos]
/
altoslib
/
AltosIdleMonitor.java
diff --git
a/altoslib/AltosIdleMonitor.java
b/altoslib/AltosIdleMonitor.java
index fde8c101a5df382968d93099a97d60f91090ceed..3d73dce61bbfa2eda0158931314584b76712a5ad 100644
(file)
--- a/
altoslib/AltosIdleMonitor.java
+++ b/
altoslib/AltosIdleMonitor.java
@@
-3,7
+3,8
@@
*
* 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
*
* 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
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-51,20
+52,21
@@
public class AltosIdleMonitor extends Thread {
return link.reply_abort;
}
return link.reply_abort;
}
- boolean
update_state(AltosState state
) throws InterruptedException, TimeoutException, AltosUnknownProduct {
+ boolean
provide_data(AltosDataListener listener
) throws InterruptedException, TimeoutException, AltosUnknownProduct {
boolean worked = false;
boolean aborted = false;
boolean worked = false;
boolean aborted = false;
+ AltosCalData cal_data = new AltosCalData(link.config_data());
try {
start_link();
try {
start_link();
- fetch.
update_state(state
);
+ fetch.
provide_data(listener, cal_data
);
if (!link.has_error && !link.reply_abort)
worked = true;
} finally {
aborted = stop_link();
if (worked) {
if (remote)
if (!link.has_error && !link.reply_abort)
worked = true;
} finally {
aborted = stop_link();
if (worked) {
if (remote)
-
state
.set_rssi(link.rssi(), 0);
+
listener
.set_rssi(link.rssi(), 0);
listener_state.battery = link.monitor_battery();
}
}
listener_state.battery = link.monitor_battery();
}
}
@@
-91,12
+93,14
@@
public class AltosIdleMonitor extends Thread {
}
public void run() {
}
public void run() {
- AltosState state = n
ew AltosState()
;
+ AltosState state = n
ull
;
try {
for (;;) {
try {
link.config_data();
try {
for (;;) {
try {
link.config_data();
- update_state(state);
+ if (state == null)
+ state = new AltosState(new AltosCalData(link.config_data()));
+ provide_data(state);
listener.update(state, listener_state);
} catch (TimeoutException te) {
} catch (AltosUnknownProduct ae) {
listener.update(state, listener_state);
} catch (TimeoutException te) {
} catch (AltosUnknownProduct ae) {