projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Add sdcard read/write tracing
[fw/altos]
/
src
/
drivers
/
ao_hmc5883.c
diff --git
a/src/drivers/ao_hmc5883.c
b/src/drivers/ao_hmc5883.c
index ade6c263d84236823d7d366cdb1c42b8b18348c8..782d03f447e7a79a619b0e79b4814c0fcb4c9ae2 100644
(file)
--- a/
src/drivers/ao_hmc5883.c
+++ b/
src/drivers/ao_hmc5883.c
@@
-77,11
+77,11
@@
ao_hmc5883_sample(struct ao_hmc5883_sample *sample)
ao_hmc5883_reg_write(HMC5883_MODE, HMC5883_MODE_SINGLE);
ao_alarm(AO_MS_TO_TICKS(10));
ao_hmc5883_reg_write(HMC5883_MODE, HMC5883_MODE_SINGLE);
ao_alarm(AO_MS_TO_TICKS(10));
-
cli
();
+
ao_arch_block_interrupts
();
while (!ao_hmc5883_done)
if (ao_sleep(&ao_hmc5883_done))
++ao_hmc5883_missed_irq;
while (!ao_hmc5883_done)
if (ao_sleep(&ao_hmc5883_done))
++ao_hmc5883_missed_irq;
-
sei
();
+
ao_arch_release_interrupts
();
ao_clear_alarm();
ao_hmc5883_read(HMC5883_X_MSB, (uint8_t *) sample, sizeof (struct ao_hmc5883_sample));
ao_clear_alarm();
ao_hmc5883_read(HMC5883_X_MSB, (uint8_t *) sample, sizeof (struct ao_hmc5883_sample));
@@
-109,7
+109,7
@@
ao_hmc5883_setup(void)
ao_i2c_put(AO_HMC5883_I2C_INDEX);
if (!present)
ao_i2c_put(AO_HMC5883_I2C_INDEX);
if (!present)
- ao_panic(AO_PANIC_SELF_TEST);
+ ao_panic(AO_PANIC_SELF_TEST
_HMC5883
);
ao_hmc5883_reg_write(HMC5883_CONFIG_A,
(HMC5883_CONFIG_A_MA_8 << HMC5883_CONFIG_A_MA) |
ao_hmc5883_reg_write(HMC5883_CONFIG_A,
(HMC5883_CONFIG_A_MA_8 << HMC5883_CONFIG_A_MA) |
@@
-123,12
+123,14
@@
ao_hmc5883_setup(void)
return 1;
}
return 1;
}
+struct ao_hmc5883_sample ao_hmc5883_current;
+
static void
ao_hmc5883(void)
{
ao_hmc5883_setup();
for (;;) {
static void
ao_hmc5883(void)
{
ao_hmc5883_setup();
for (;;) {
- ao_hmc5883_sample(
(struct ao_hmc5883_sample *) &ao_data_ring[ao_data_head].hmc5883
);
+ ao_hmc5883_sample(
&ao_hmc5883_current
);
ao_arch_critical(
AO_DATA_PRESENT(AO_DATA_HMC5883);
AO_DATA_WAIT();
ao_arch_critical(
AO_DATA_PRESENT(AO_DATA_HMC5883);
AO_DATA_WAIT();