summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-07-17 20:44:55 -0700
committerKeith Packard <keithp@keithp.com>2012-07-17 20:44:55 -0700
commitb4be63627e146c7c868b5b3468d34880a561cfba (patch)
tree5323d2b7882dcb8d1fced3a70fad61f84acaa1fb
parent97c1cfee929a35dd1596dc02ce519b80132f3c5c (diff)
altos: Megametrum ADC values are 12 bits, discard low 4 for telemetry
We've only got space for 8 bits for the ADC values for pyro channels, discard the low 4 bits instead of the low 8 bits. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/core/ao_telemetry.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/ao_telemetry.c b/src/core/ao_telemetry.c
index 583a6636..52ac9489 100644
--- a/src/core/ao_telemetry.c
+++ b/src/core/ao_telemetry.c
@@ -138,9 +138,9 @@ ao_send_mega_data(void)
telemetry.mega_data.v_batt = packet->adc.v_batt;
telemetry.mega_data.v_pyro = packet->adc.v_pbatt;
- /* XXX figure out right shift value; 4 might suffice */
+ /* ADC range is 0-4095, so shift by four to save the high 8 bits */
for (i = 0; i < AO_ADC_NUM_SENSE; i++)
- telemetry.mega_data.sense[i] = packet->adc.sense[i] >> 8;
+ telemetry.mega_data.sense[i] = packet->adc.sense[i] >> 4;
telemetry.mega_data.ground_pres = ao_ground_pres;
telemetry.mega_data.ground_accel = ao_ground_accel;