projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altoslib: Track pyro firing state when reading mega eeprom files
[fw/altos]
/
altoslib
/
AltosEepromMega.java
diff --git
a/altoslib/AltosEepromMega.java
b/altoslib/AltosEepromMega.java
index 47013b5eaab0e8d2ce3701e78d14bc479f8e2485..da5f2a3ea09f076db6a4e6358feae1b4a52adec4 100644
(file)
--- a/
altoslib/AltosEepromMega.java
+++ b/
altoslib/AltosEepromMega.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_
2
;
+package org.altusmetrum.altoslib_
3
;
import java.io.*;
import java.util.*;
import java.io.*;
import java.util.*;
@@
-24,6
+24,8
@@
import java.text.*;
public class AltosEepromMega extends AltosEeprom {
public static final int record_length = 32;
public class AltosEepromMega extends AltosEeprom {
public static final int record_length = 32;
+ public static final int max_sat = 12;
+
public int record_length() { return record_length; }
/* AO_LOG_FLIGHT elements */
public int record_length() { return record_length; }
/* AO_LOG_FLIGHT elements */
@@
-68,7
+70,7
@@
public class AltosEepromMega extends AltosEeprom {
public int year() { return data8(14); }
public int month() { return data8(15); }
public int day() { return data8(16); }
public int year() { return data8(14); }
public int month() { return data8(15); }
public int day() { return data8(16); }
-
+
/* AO_LOG_GPS_SAT elements */
public int nsat() { return data16(0); }
public int svid(int n) { return data8(2 + n * 2); }
/* AO_LOG_GPS_SAT elements */
public int nsat() { return data16(0); }
public int svid(int n) { return data8(2 + n * 2); }
@@
-148,6
+150,7
@@
public class AltosEepromMega extends AltosEeprom {
voltages[i] = AltosConvert.mega_pyro_voltage(sense(i));
state.set_ignitor_voltage(voltages);
voltages[i] = AltosConvert.mega_pyro_voltage(sense(i));
state.set_ignitor_voltage(voltages);
+ state.set_pyro_fired(pyro());
break;
case AltosLib.AO_LOG_GPS_TIME:
state.set_tick(tick);
break;
case AltosLib.AO_LOG_GPS_TIME:
state.set_tick(tick);
@@
-176,6
+179,8
@@
public class AltosEepromMega extends AltosEeprom {
gps = state.make_temp_gps(true);
int n = nsat();
gps = state.make_temp_gps(true);
int n = nsat();
+ if (n > max_sat)
+ n = max_sat;
for (int i = 0; i < n; i++)
gps.add_sat(svid(i), c_n(i));
break;
for (int i = 0; i < n; i++)
gps.add_sat(svid(i), c_n(i));
break;