55     if ((pSensorHandle == NULL) || (pBus == NULL))
    66     if ((ARM_DRIVER_OK != status) || (whoAmi != reg))
    92     if ((pSensorHandle == NULL) || (pRegWriteList == NULL))
   106     if (ARM_DRIVER_OK != status)
   114     if (ARM_DRIVER_OK != status)
   122     if (ARM_DRIVER_OK != status)
   137     if ((pSensorHandle == NULL) || (pReadList == NULL) || (pBuffer == NULL))
   151     if (ARM_DRIVER_OK != status)
   163     if (pSensorHandle == NULL)
   177     if (ARM_DRIVER_OK != status)
   192     static int16_t xOffsetMax = 0x8000, yOffsetMax = 0x8000, zOffsetMax = 0x8000,
   193                    xOffsetMin = 0x7FFF, yOffsetMin = 0x7FFF, zOffsetMin = 0x7FFF;
   195     xOffsetMax = (*xValue > xOffsetMax)?(*xValue):(xOffsetMax);
   196     xOffsetMin = (*xValue < xOffsetMin)?(*xValue):(xOffsetMin);
   198     yOffsetMax = (*yValue > yOffsetMax)?(*yValue):(yOffsetMax);
   199     yOffsetMin = (*yValue < yOffsetMin)?(*yValue):(yOffsetMin);
   201     zOffsetMax = (*zValue > zOffsetMax)?(*zValue):(zOffsetMax);
   202     zOffsetMin = (*zValue < zOffsetMin)?(*zValue):(zOffsetMin);
   204     *xValue -= (xOffsetMax+xOffsetMin)/2;
   205     *yValue -= (yOffsetMax+yOffsetMin)/2;
   206     *zValue -= (zOffsetMax+zOffsetMin)/2;
 int32_t MAG3110_I2C_Initialize(mag3110_i2c_sensorhandle_t *pSensorHandle, ARM_DRIVER_I2C *pBus, uint8_t index, uint16_t sAddress, uint8_t whoAmi)
The interface function to initialize the sensor. 
 
registeridlefunction_t idleFunction
 
#define MAG3110_CTRL_REG1_AC_STANDBY
 
#define MAG3110_CTRL_REG2_MAG_RST_EN
 
int32_t MAG3110_I2C_Configure(mag3110_i2c_sensorhandle_t *pSensorHandle, const registerwritelist_t *pRegWriteList)
The interface function to configure he sensor. 
 
The mag3110_drv.h file describes the MAG3110 driver interface and structures. 
 
This defines the sensor specific information. 
 
#define MAG3110_CTRL_REG1_AC_ACTIVE
 
ARM_DRIVER_I2C * pCommDrv
 
int32_t Sensor_I2C_Read(ARM_DRIVER_I2C *pCommDrv, registerDeviceInfo_t *devInfo, uint16_t slaveAddress, const registerreadlist_t *pReadList, uint8_t *pOutBuffer)
Read register data from a sensor. 
 
void(* registeridlefunction_t)(void *userParam)
This is the register idle function type. 
 
#define MAG3110_CTRL_REG1_AC_MASK
 
void MAG3110_I2C_SetIdleTask(mag3110_i2c_sensorhandle_t *pSensorHandle, registeridlefunction_t idleTask, void *userParam)
: The interface function to set the I2C Idle Task. 
 
void MAG3110_CalibrateHardIronOffset(int16_t *xValue, int16_t *yValue, int16_t *zValue)
Calibrates the magnetometer reading by determining the current hard iron offset. 
 
#define MAG3110_CTRL_REG2_MAG_RST_MASK
 
registerDeviceInfo_t deviceInfo
 
int32_t Register_I2C_Read(ARM_DRIVER_I2C *pCommDrv, registerDeviceInfo_t *devInfo, uint16_t slaveAddress, uint8_t offset, uint8_t length, uint8_t *pOutBuffer)
The interface function to read a sensor register. 
 
int32_t Register_I2C_Write(ARM_DRIVER_I2C *pCommDrv, registerDeviceInfo_t *devInfo, uint16_t slaveAddress, uint8_t offset, uint8_t value, uint8_t mask, bool repeatedStart)
The interface function to write a sensor register. 
 
This structure defines the Write command List. 
 
This structure defines the Read command List. 
 
int32_t MAG3110_I2C_ReadData(mag3110_i2c_sensorhandle_t *pSensorHandle, const registerreadlist_t *pReadList, uint8_t *pBuffer)
The interface function to read the sensor data. 
 
int32_t MAG3110_I2C_DeInit(mag3110_i2c_sensorhandle_t *pSensorHandle)
The interface function to De Initialize sensor.. 
 
int32_t Sensor_I2C_Write(ARM_DRIVER_I2C *pCommDrv, registerDeviceInfo_t *devInfo, uint16_t slaveAddress, const registerwritelist_t *pRegWriteList)
Write register data to a sensor.