summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-06-11 22:34:11 -0700
committerKeith Packard <keithp@keithp.com>2017-06-11 22:54:22 -0700
commit2a05849c3bf8c1617409237be48802dd6fc6255b (patch)
treea8b5d2273f9f15a6dcbd5637a1a8707588856931
parentfed48732828c85ae56106cd72c5aeaaad47c552f (diff)
altos: HMC5883 output order is X Z Y
Re-label everything to have the correct names. This doesn't actually change the code at all, so the eeprom and telemetry is all compatible. Matching changes on the host side will be required to actually process the data correctly, of course. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/drivers/ao_hmc5883.c6
-rw-r--r--src/drivers/ao_hmc5883.h2
-rw-r--r--src/kernel/ao_log.h4
-rw-r--r--src/kernel/ao_log_mega.c2
-rw-r--r--src/kernel/ao_telemetry.c2
-rw-r--r--src/kernel/ao_telemetry.h4
6 files changed, 9 insertions, 11 deletions
diff --git a/src/drivers/ao_hmc5883.c b/src/drivers/ao_hmc5883.c
index 9f1131d6..c33aa536 100644
--- a/src/drivers/ao_hmc5883.c
+++ b/src/drivers/ao_hmc5883.c
@@ -143,10 +143,8 @@ static struct ao_task ao_hmc5883_task;
static void
ao_hmc5883_show(void)
{
- struct ao_data sample;
- ao_data_get(&sample);
- printf ("X: %d Y: %d Z: %d missed irq: %lu\n",
- sample.hmc5883.x, sample.hmc5883.y, sample.hmc5883.z, ao_hmc5883_missed_irq);
+ printf ("X: %d Z: %d Y: %d missed irq: %lu\n",
+ ao_hmc5883_current.x, ao_hmc5883_current.z, ao_hmc5883_current.y, ao_hmc5883_missed_irq);
}
static const struct ao_cmds ao_hmc5883_cmds[] = {
diff --git a/src/drivers/ao_hmc5883.h b/src/drivers/ao_hmc5883.h
index 78637b02..b90733df 100644
--- a/src/drivers/ao_hmc5883.h
+++ b/src/drivers/ao_hmc5883.h
@@ -77,7 +77,7 @@
#define HMC5883_ID_C 12
struct ao_hmc5883_sample {
- int16_t x, y, z;
+ int16_t x, z, y;
};
extern struct ao_hmc5883_sample ao_hmc5883_current;
diff --git a/src/kernel/ao_log.h b/src/kernel/ao_log.h
index 5c568c99..241ba7d7 100644
--- a/src/kernel/ao_log.h
+++ b/src/kernel/ao_log.h
@@ -252,8 +252,8 @@ struct ao_log_mega {
int16_t gyro_y; /* 20 */
int16_t gyro_z; /* 22 */
int16_t mag_x; /* 24 */
- int16_t mag_y; /* 26 */
- int16_t mag_z; /* 28 */
+ int16_t mag_z; /* 26 */
+ int16_t mag_y; /* 28 */
int16_t accel; /* 30 */
} sensor; /* 32 */
/* AO_LOG_TEMP_VOLT */
diff --git a/src/kernel/ao_log_mega.c b/src/kernel/ao_log_mega.c
index a0212198..b86abe7a 100644
--- a/src/kernel/ao_log_mega.c
+++ b/src/kernel/ao_log_mega.c
@@ -135,8 +135,8 @@ ao_log(void)
#endif
#if HAS_HMC5883
log.u.sensor.mag_x = ao_data_ring[ao_log_data_pos].hmc5883.x;
- log.u.sensor.mag_y = ao_data_ring[ao_log_data_pos].hmc5883.y;
log.u.sensor.mag_z = ao_data_ring[ao_log_data_pos].hmc5883.z;
+ log.u.sensor.mag_y = ao_data_ring[ao_log_data_pos].hmc5883.y;
#endif
log.u.sensor.accel = ao_data_accel(&ao_data_ring[ao_log_data_pos]);
ao_log_mega(&log);
diff --git a/src/kernel/ao_telemetry.c b/src/kernel/ao_telemetry.c
index a4c73a86..2ae1e41b 100644
--- a/src/kernel/ao_telemetry.c
+++ b/src/kernel/ao_telemetry.c
@@ -160,8 +160,8 @@ ao_send_mega_sensor(void)
#if HAS_HMC5883
telemetry.mega_sensor.mag_x = packet->hmc5883.x;
- telemetry.mega_sensor.mag_y = packet->hmc5883.y;
telemetry.mega_sensor.mag_z = packet->hmc5883.z;
+ telemetry.mega_sensor.mag_y = packet->hmc5883.y;
#endif
ao_telemetry_send();
diff --git a/src/kernel/ao_telemetry.h b/src/kernel/ao_telemetry.h
index 45aaeb07..23e3ed7d 100644
--- a/src/kernel/ao_telemetry.h
+++ b/src/kernel/ao_telemetry.h
@@ -198,8 +198,8 @@ struct ao_telemetry_mega_sensor {
int16_t gyro_z; /* 24 */
int16_t mag_x; /* 26 */
- int16_t mag_y; /* 28 */
- int16_t mag_z; /* 30 */
+ int16_t mag_z; /* 28 */
+ int16_t mag_y; /* 30 */
/* 32 */
};