fxos8700.h¶
Interface definition for the FXOS8700 sensor driver.
-
FXOS8700_USE_ACC_RAW_VALUES¶ Default raw value mode for accelerator.
1
(0)
If set to 0, measurements will be converted to mg. If set to 1, raw adc readings will be returned.
-
enum
@121¶ - FXOS8700_OK
= 0 - everything went as expected
- FXOS8700_ADDRERR
= -1 - no FXOS8700 device found on the bus
- FXOS8700_NOBUS
= -2 - errors while initializing the I2C bus
- FXOS8700_NODEV
= -3 - no FXOS8700 device found on the bus
- FXOS8700_BUSERR
= -4 - error during I2C communication
- FXOS8700_OK
-
int
fxos8700_init(fxos8700_t * dev, const fxos8700_params_t * params)¶ Initialize an FXOS8700 device.
Parameters
dev: device descriptor params: parameters for device Return values
- FXOS8700_OK on success
- FXOS8700_NOBUS on I2C initialization error
- FXOS8700_BUSERR on I2C communication error
- FXOS8700_ADDRERR on invalid address
- FXOS8700_NODEV if no FXOS8700 device found on bus
-
int
fxos8700_set_active(const fxos8700_t * dev)¶ Convenience function for turning on the FXOS8700.
This function will trigger a new conversion, wait for the conversion to be finished and the get the results from the device.
Parameters
dev: device descriptor of sensor Return values
- FXOS8700_OK on success
- FXOS8700_BUSERR on I2C communication failures
-
int
fxos8700_set_idle(const fxos8700_t * dev)¶ Convenience function for turning off the FXOS8700.
This function will trigger a new conversion, wait for the conversion to be finished and the get the results from the device.
Parameters
dev: device descriptor of sensor Return values
- FXOS8700_OK on success
- FXOS8700_BUSERR on I2C communication failures
-
int
fxos8700_read(const fxos8700_t * dev, fxos8700_measurement_t * acc, fxos8700_measurement_t * mag)¶ Convenience function for reading acceleration and magnetic field.
This function will trigger a new conversion, wait for the conversion to be finished and the get the results from the device.
Parameters
dev: device descriptor of sensor acc: 3-axis acceleration [in milli grativy acceleration (mg) ] mag: 3-axis magnetic field [in degree milli Gauss (mGs) ] Return values
- FXOS8700_OK on success
- FXOS8700_BUSERR on I2C communication failures
-
int
fxos8700_read_cached(const void * dev, fxos8700_measurement_t * acc, fxos8700_measurement_t * mag)¶ Extended read function including caching capability.
This function will return cached values if they are within the sampling period (FXOS8700_RENEW_INTERVAL), or will trigger a new conversion, wait for the conversion to be finished and the get the results from the device.
Parameters
dev: device descriptor of sensor acc: 3-axis acceleration [in milli grativy acceleration (mg) ] mag: 3-axis magnetic field [in degree milli Gauss (mGs) ] Return values
- FXOS8700_OK on success
- FXOS8700_BUSERR on I2C communication failures
-
struct
fxos8700_params_t¶ Parameters needed for device initialization.
-
i2c.h::i2c_ti2c¶ I2C device that sensor is connected to.
-
uint8_t
addr¶ I2C address of this particular sensor.
-
uint8_t
acc_range¶ Accelerator full-scale range.
-
uint32_t
renew_interval¶ Interval for cache renewal.
-
-
struct
fxos8700_measurement_t¶ Individual 3-axis measurement.
-
int16_t
x¶ x axis of 3-axis measurement
-
int16_t
y¶ y axis of 3-axis measurement
-
int16_t
z¶ z axis of 3-axis measurement
-
int16_t
-
struct
fxos8700_t¶ Device descriptor for a FXOS8700 device.
-
uint8_t
config¶ sensor configuration including active mode
-
fxos8700_measurement_t
acc_cached¶ cached 3-axis acceleration
-
fxos8700_measurement_t
mag_cached¶ cached 3-axis magnetic field
-
uint32_t
last_read_time¶ last time when cached data was refreshed
-
fxos8700_params_t
p¶ configuration parameters
-
uint8_t