Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
ist8310.h File Reference
#include "std.h"
#include "mcu_periph/i2c.h"
#include "math/pprz_algebra_int.h"
#include "peripherals/ist8310_regs.h"
+ Include dependency graph for ist8310.h:
+ This graph shows which files directly or indirectly include this file:

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.
 
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
 

Data Structure Documentation

◆ IST8310

struct IST8310

Default IST8310 structure.

Definition at line 55 of file ist8310.h.

+ Collaboration diagram for IST8310:
Data Fields
union IST8310.data 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

◆ IST8310.data

union IST8310.data

Definition at line 64 of file ist8310.h.

Data Fields
int16_t value[3] data values accessible by channel index
struct Int16Vect3 vect data vector in mag coordinate system

Enumeration Type Documentation

◆ IST8310ConfStatus

Config status states.

Enumerator
IST_CONF_UNINIT 
IST_CONF_CNTL1 
IST_CONF_CNTL3 
IST_CONF_CNTL4 
IST_CONF_DONE 

Definition at line 39 of file ist8310.h.

◆ IST8310Status

Normal status states.

Enumerator
IST_STATUS_IDLE 
IST_STATUS_READ 
IST_STATUS_DONE 

Definition at line 48 of file ist8310.h.

Function Documentation

◆ ist8310_configure()

void ist8310_configure ( struct IST8310 ist)
extern

Definition at line 46 of file ist8310.c.

References foo, i2c_transmit(), I2CTransDone, I2CTransFailed, I2CTransSuccess, 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, and IST_CONF_UNINIT.

Referenced by ist8310_periodic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ist8310_event()

void ist8310_event ( struct IST8310 ist)
extern

Definition at line 111 of file ist8310.c.

References foo, i2c_transceive(), I2CTransDone, I2CTransFailed, I2CTransSuccess, Int16FromBuf, IST8310_REG_DATA_XL, IST_STATUS_IDLE, and IST_STATUS_READ.

Referenced by mag_ist8310_module_event().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ist8310_init()

void ist8310_init ( struct IST8310 ist,
struct i2c_periph i2c_p,
uint8_t  addr 
)
extern

Initialize IST8310 struct.

Definition at line 34 of file ist8310.c.

References foo, I2CTransDone, IST_CONF_UNINIT, and i2c_periph::status.

Referenced by mag_ist8310_module_init().

+ Here is the caller graph for this function:

◆ ist8310_periodic()

static void ist8310_periodic ( struct IST8310 ist)
inlinestatic

convenience function: read or start configuration if not already initialized

Definition at line 77 of file ist8310.h.

References foo, ist8310_configure(), and ist8310_read().

Referenced by mag_ist8310_module_periodic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ist8310_read()

void ist8310_read ( struct IST8310 ist)
extern

Definition at line 98 of file ist8310.c.

References foo, i2c_transceive(), IST8310_CNTL1_ODR_SINGLE, IST8310_REG_CNTL1, and IST_STATUS_IDLE.

Referenced by ist8310_periodic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: