Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "std.h"
#include "mcu_periph/i2c.h"
#include "math/pprz_algebra_int.h"
#include "peripherals/ist8310_regs.h"
Go to the source code of this file.
Data Structures | |
struct | IST8310 |
Default IST8310 structure. More... | |
union | IST8310.data |
Enumerations | |
enum | IST8310ConfStatus { IST_CONF_UNINIT , IST_CONF_CNTL1 , IST_CONF_CNTL3 , IST_CONF_CNTL4 , IST_CONF_DONE } |
Config status states. More... | |
enum | IST8310Status { IST_STATUS_IDLE , IST_STATUS_READ , IST_STATUS_DONE } |
Normal status states. More... | |
Functions | |
void | ist8310_init (struct IST8310 *ist, struct i2c_periph *i2c_p, uint8_t addr) |
Initialize IST8310 struct. More... | |
void | ist8310_configure (struct IST8310 *ist) |
void | ist8310_event (struct IST8310 *ist) |
void | ist8310_read (struct IST8310 *ist) |
static void | ist8310_periodic (struct IST8310 *ist) |
convenience function: read or start configuration if not already initialized More... | |
struct IST8310 |
Data Fields | ||
---|---|---|
union IST8310 | data | |
volatile bool | data_available | data ready flag |
struct i2c_periph * | i2c_p | peripheral used for communcation |
struct i2c_transaction | i2c_trans | i2c transaction used for communication with the ist8310 |
enum IST8310ConfStatus | init_status | init status |
bool | initialized | config done flag |
enum IST8310Status | status | main status |
union IST8310.data |
Data Fields | ||
---|---|---|
int16_t | value[3] | data values accessible by channel index |
struct Int16Vect3 | vect | data vector in mag coordinate system |
enum IST8310ConfStatus |
enum IST8310Status |
void ist8310_configure | ( | struct IST8310 * | ist | ) |
Definition at line 46 of file ist8310.c.
References i2c_transaction::buf, IST8310::i2c_p, IST8310::i2c_trans, i2c_transmit(), I2CTransDone, I2CTransFailed, I2CTransSuccess, IST8310::init_status, IST8310::initialized, IST8310_CNTL1_ODR_SINGLE, IST8310_CNTL3_SAMPAVG_16, IST8310_CNTL4_SRPD, IST8310_REG_CNTL1, IST8310_REG_CNTL3, IST8310_REG_CNTL4, IST_CONF_CNTL1, IST_CONF_CNTL3, IST_CONF_CNTL4, IST_CONF_UNINIT, i2c_transaction::slave_addr, and i2c_transaction::status.
Referenced by ist8310_periodic().
void ist8310_event | ( | struct IST8310 * | ist | ) |
Definition at line 111 of file ist8310.c.
References i2c_transaction::buf, IST8310::data, IST8310::data_available, IST8310::i2c_p, IST8310::i2c_trans, i2c_transceive(), I2CTransDone, I2CTransFailed, I2CTransSuccess, IST8310::initialized, Int16FromBuf, IST8310_REG_DATA_XL, IST_STATUS_IDLE, IST_STATUS_READ, i2c_transaction::slave_addr, i2c_transaction::status, and IST8310::status.
Referenced by mag_ist8310_module_event().
void ist8310_init | ( | struct IST8310 * | ist, |
struct i2c_periph * | i2c_p, | ||
uint8_t | addr | ||
) |
Initialize IST8310 struct.
Definition at line 34 of file ist8310.c.
References IST8310::data_available, IST8310::i2c_p, IST8310::i2c_trans, I2CTransDone, IST8310::init_status, IST8310::initialized, IST_CONF_UNINIT, i2c_transaction::slave_addr, and i2c_transaction::status.
Referenced by mag_ist8310_module_init().
|
inlinestatic |
convenience function: read or start configuration if not already initialized
Definition at line 77 of file ist8310.h.
References IST8310::initialized, ist8310_configure(), and ist8310_read().
Referenced by mag_ist8310_module_periodic().
void ist8310_read | ( | struct IST8310 * | ist | ) |
Definition at line 98 of file ist8310.c.
References i2c_transaction::buf, IST8310::i2c_p, IST8310::i2c_trans, i2c_transceive(), IST8310_CNTL1_ODR_SINGLE, IST8310_REG_CNTL1, IST_STATUS_IDLE, i2c_transaction::slave_addr, and IST8310::status.
Referenced by ist8310_periodic().