projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
restore Releasing to upstream version
[fw/altos]
/
altoslib
/
AltosConfigData.java
diff --git
a/altoslib/AltosConfigData.java
b/altoslib/AltosConfigData.java
index 758953e24d588c938d50ea4d40dee379505df608..2ca5a7a56f74093227285d72176f62b51307e304 100644
(file)
--- a/
altoslib/AltosConfigData.java
+++ b/
altoslib/AltosConfigData.java
@@
-15,7
+15,7
@@
* 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.util.*;
import java.text.*;
import java.util.*;
import java.text.*;
@@
-67,6
+67,9
@@
public class AltosConfigData implements Iterable<String> {
public int npyro;
public int pyro;
public int npyro;
public int pyro;
+ /* HAS_APRS */
+ public int aprs_interval;
+
/* Storage info replies */
public int storage_size;
public int storage_erase_unit;
/* Storage info replies */
public int storage_size;
public int storage_erase_unit;
@@
-113,15
+116,31
@@
public class AltosConfigData implements Iterable<String> {
default:
if (flight_log_max <= 0)
return 1;
default:
if (flight_log_max <= 0)
return 1;
+ int log_max = flight_log_max * 1024;
int log_space = storage_size - storage_erase_unit;
int log_space = storage_size - storage_erase_unit;
- int log_used = stored_flight * flight_log_max;
+ int log_used;
+
+ if (stored_flight <= 0)
+ log_used = 0;
+ else
+ log_used = stored_flight * log_max;
+ int log_avail;
if (log_used >= log_space)
if (log_used >= log_space)
- return 0;
- return (log_space - log_used) / flight_log_max;
+ log_avail = 0;
+ else
+ log_avail = (log_space - log_used) / log_max;
+
+ return log_avail;
}
}
}
}
+ public boolean has_monitor_battery() {
+ if (product.startsWith("TeleBT"))
+ return true;
+ return false;
+ }
+
int[] parse_version(String v) {
String[] parts = v.split("\\.");
int r[] = new int[parts.length];
int[] parse_version(String v) {
String[] parts = v.split("\\.");
int r[] = new int[parts.length];
@@
-189,9
+208,11
@@
public class AltosConfigData implements Iterable<String> {
npyro = 0;
pyros = null;
npyro = 0;
pyros = null;
+ aprs_interval = -1;
+
storage_size = -1;
storage_erase_unit = -1;
storage_size = -1;
storage_erase_unit = -1;
- stored_flight =
-1
;
+ stored_flight =
0
;
}
public void parse_line(String line) {
}
public void parse_line(String line) {
@@
-262,9
+283,12
@@
public class AltosConfigData implements Iterable<String> {
} catch (Exception e) {}
}
} catch (Exception e) {}
}
+ /* HAS_APRS */
+ try { aprs_interval = get_int(line, "APRS interval:"); } catch (Exception e) {}
+
/* Storage info replies */
try { storage_size = get_int(line, "Storage size:"); } catch (Exception e) {}
/* Storage info replies */
try { storage_size = get_int(line, "Storage size:"); } catch (Exception e) {}
- try { storage_erase_unit = get_int(line, "Storage erase unit"); } catch (Exception e) {}
+ try { storage_erase_unit = get_int(line, "Storage erase unit
:
"); } catch (Exception e) {}
/* Log listing replies */
try { get_int(line, "flight"); stored_flight++; } catch (Exception e) {}
/* Log listing replies */
try { get_int(line, "flight"); stored_flight++; } catch (Exception e) {}
@@
-367,6
+391,9
@@
public class AltosConfigData implements Iterable<String> {
/* AO_PYRO_NUM */
if (npyro > 0)
pyros = source.pyros();
/* AO_PYRO_NUM */
if (npyro > 0)
pyros = source.pyros();
+
+ if (aprs_interval >= 0)
+ aprs_interval = source.aprs_interval();
}
public void set_values(AltosConfigValues dest) {
}
public void set_values(AltosConfigValues dest) {
@@
-399,6
+426,7
@@
public class AltosConfigData implements Iterable<String> {
dest.set_pyros(pyros);
else
dest.set_pyros(null);
dest.set_pyros(pyros);
else
dest.set_pyros(null);
+ dest.set_aprs_interval(aprs_interval);
}
public void save(AltosLink link, boolean remote) throws InterruptedException, TimeoutException {
}
public void save(AltosLink link, boolean remote) throws InterruptedException, TimeoutException {
@@
-454,13
+482,17
@@
public class AltosConfigData implements Iterable<String> {
/* UI doesn't support AES key config */
/* AO_PYRO_NUM */
/* UI doesn't support AES key config */
/* AO_PYRO_NUM */
- if (
pyros.length
> 0) {
+ if (
npyro
> 0) {
for (int p = 0; p < pyros.length; p++) {
link.printf("c P %s\n",
pyros[p].toString());
}
}
for (int p = 0; p < pyros.length; p++) {
link.printf("c P %s\n",
pyros[p].toString());
}
}
+ /* HAS_APRS */
+ if (aprs_interval >= 0)
+ link.printf("c A %d\n", aprs_interval);
+
link.printf("c w\n");
link.flush_output();
}
link.printf("c w\n");
link.flush_output();
}
@@
-469,11
+501,10
@@
public class AltosConfigData implements Iterable<String> {
reset();
link.printf("c s\nf\nv\n");
read_link(link, "software-version");
reset();
link.printf("c s\nf\nv\n");
read_link(link, "software-version");
- System.out.printf("Log format %d\n", log_format);
switch (log_format) {
case AltosLib.AO_LOG_FORMAT_FULL:
case AltosLib.AO_LOG_FORMAT_TINY:
switch (log_format) {
case AltosLib.AO_LOG_FORMAT_FULL:
case AltosLib.AO_LOG_FORMAT_TINY:
- case AltosLib.AO_LOG_FORMAT_
MEGAMETRUM
:
+ case AltosLib.AO_LOG_FORMAT_
TELEMEGA
:
link.printf("l\n");
read_link(link, "done");
default:
link.printf("l\n");
read_link(link, "done");
default:
@@
-481,4
+512,4
@@
public class AltosConfigData implements Iterable<String> {
}
}
}
}
-}
\ No newline at end of file
+}