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 7a4ee52d10680e1e61c3289bb029a12e079b444c..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); }
@@
-115,19
+117,19
@@
public class AltosEepromMega extends AltosEeprom {
state.set_ms5607(pres(), temp());
AltosIMU imu = new AltosIMU();
state.set_ms5607(pres(), temp());
AltosIMU imu = new AltosIMU();
- imu.accel_x =
accel_x(
);
- imu.accel_y =
accel_y(
);
- imu.accel_z =
accel_z(
);
+ imu.accel_x =
AltosIMU.convert_accel(accel_x()
);
+ imu.accel_y =
AltosIMU.convert_accel(accel_y()
);
+ imu.accel_z =
AltosIMU.convert_accel(accel_z()
);
- imu.gyro_x =
gyro_x(
);
- imu.gyro_y =
gyro_y(
);
- imu.gyro_z =
gyro_z(
);
+ imu.gyro_x =
AltosIMU.convert_gyro(gyro_x()
);
+ imu.gyro_y =
AltosIMU.convert_gyro(gyro_y()
);
+ imu.gyro_z =
AltosIMU.convert_gyro(gyro_z()
);
state.imu = imu;
AltosMag mag = new AltosMag();
state.imu = imu;
AltosMag mag = new AltosMag();
- mag.x =
mag_x(
);
- mag.y =
mag_y(
);
- mag.z =
mag_z(
);
+ mag.x =
AltosMag.convert_gauss(mag_x()
);
+ mag.y =
AltosMag.convert_gauss(mag_y()
);
+ mag.z =
AltosMag.convert_gauss(mag_z()
);
state.mag = mag;
state.mag = mag;
@@
-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;