projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Add bmx160 driver
[fw/altos]
/
src
/
kernel
/
ao_data.h
diff --git
a/src/kernel/ao_data.h
b/src/kernel/ao_data.h
index 5a340c3f3b4526f5700ba487063368dcb5602f9c..55d82e488c83252682d709d62aae7817ce540bbb 100644
(file)
--- a/
src/kernel/ao_data.h
+++ b/
src/kernel/ao_data.h
@@
-76,6
+76,13
@@
#define AO_DATA_MAX6691 0
#endif
#define AO_DATA_MAX6691 0
#endif
+#if HAS_BMX160
+#include <ao_bmx160.h>
+#define AO_DATA_BMX160 (1 << 2)
+#else
+#define AO_DATA_BMX160 0
+#endif
+
#ifndef HAS_SENSOR_ERRORS
#if HAS_IMU || HAS_MMA655X || HAS_MS5607 || HAS_MS5611
#define HAS_SENSOR_ERRORS 1
#ifndef HAS_SENSOR_ERRORS
#if HAS_IMU || HAS_MMA655X || HAS_MS5607 || HAS_MS5611
#define HAS_SENSOR_ERRORS 1
@@
-88,7
+95,7
@@
extern uint8_t ao_sensor_errors;
#ifdef AO_DATA_RING
#ifdef AO_DATA_RING
-#define AO_DATA_ALL (AO_DATA_ADC|AO_DATA_MS5607|AO_DATA_MPU6000|AO_DATA_HMC5883|AO_DATA_MMA655X|AO_DATA_MPU9250|AO_DATA_ADXL375)
+#define AO_DATA_ALL (AO_DATA_ADC|AO_DATA_MS5607|AO_DATA_MPU6000|AO_DATA_HMC5883|AO_DATA_MMA655X|AO_DATA_MPU9250|AO_DATA_ADXL375
|AO_DATA_BMX160
)
struct ao_data {
uint16_t tick;
struct ao_data {
uint16_t tick;
@@
-123,6
+130,9
@@
struct ao_data {
#if HAS_ADS131A0X
struct ao_ads131a0x_sample ads131a0x;
#endif
#if HAS_ADS131A0X
struct ao_ads131a0x_sample ads131a0x;
#endif
+#if HAS_BMX160
+ struct ao_bmx160_sample bmx160;
+#endif
};
#define ao_data_ring_next(n) (((n) + 1) & (AO_DATA_RING - 1))
};
#define ao_data_ring_next(n) (((n) + 1) & (AO_DATA_RING - 1))
@@
-142,6
+152,12
@@
extern volatile uint8_t ao_data_count;
*/
#define AO_DATA_PRESENT(bit) (ao_data_present |= (bit))
*/
#define AO_DATA_PRESENT(bit) (ao_data_present |= (bit))
+/*
+ * Mark sensor failed, and unblock the sample collection code by
+ * marking the data as present
+ */
+#define AO_SENSOR_ERROR(bit) (ao_data_present |= (ao_sensor_errors |= (bit)))
+
/*
* Wait until it is time to write a sensor sample; this is
* signaled by the timer tick
/*
* Wait until it is time to write a sensor sample; this is
* signaled by the timer tick