41 #include <mraa/gpio.h>
44 #define FLASH_CNT 0x00 //Flash memory write count
45 #define XGYRO_OUT 0x04 //X-axis gyroscope output
46 #define YGYRO_OUT 0x06 //Y-axis gyroscope output
47 #define ZGYRO_OUT 0x08 //Z-axis gyroscope output
48 #define XACCL_OUT 0x0A //X-axis accelerometer output
49 #define YACCL_OUT 0x0C //Y-axis accelerometer output
50 #define ZACCL_OUT 0x0E //Z-axis accelerometer output
51 #define XMAGN_OUT 0X10 //X-axis magnetometer output
52 #define YMAGN_OUT 0x12 //Y-axis magnetometer output
53 #define ZMAGN_OUT 0x14 //Z-axis magnetometer output
54 #define BARO_OUT 0x16 //Barometer pressure measurement, high word
55 #define TEMP_OUT 0x18 //Temperature output
56 #define XGYRO_OFF 0x1A //X-axis gyroscope bias offset factor
57 #define YGYRO_OFF 0x1C //Y-axis gyroscope bias offset factor
58 #define ZGYRO_OFF 0x1E //Z-axis gyroscope bias offset factor
59 #define XACCL_OFF 0x20 //X-axis acceleration bias offset factor
60 #define YACCL_OFF 0x22 //Y-axis acceleration bias offset factor
61 #define ZACCL_OFF 0x24 //Z-axis acceleration bias offset factor
62 #define XMAGN_HIC 0x26 //X-axis magnetometer, hard iron factor
63 #define YMAGN_HIC 0x28 //Y-axis magnetometer, hard iron factor
64 #define ZMAGN_HIC 0x2A //Z-axis magnetometer, hard iron factor
65 #define XMAGN_SIC 0x2C //X-axis magnetometer, soft iron factor
66 #define YMAGN_SIC 0x2E //Y-axis magnetometer, soft iron factor
67 #define ZMAGN_SIC 0x30 //Z-axis magnetometer, soft iron factor
68 #define GPIO_CTRL 0x32 //GPIO control
69 #define MSC_CTRL 0x34 //Misc. control
70 #define SMPL_PRD 0x36 //Sample clock/Decimation filter control
71 #define SENS_AVG 0x38 //Digital filter control
72 #define SEQ_CNT 0x3A //xMAGN_OUT and BARO_OUT counter
73 #define DIAG_STAT 0x3C //System status
74 #define GLOB_CMD 0x3E //System command
75 #define ALM_MAG1 0x40 //Alarm 1 amplitude threshold
76 #define ALM_MAG2 0x42 //Alarm 2 amplitude threshold
77 #define ALM_SMPL1 0x44 //Alarm 1 sample size
78 #define ALM_SMPL2 0x46 //Alarm 2 sample size
79 #define ALM_CTRL 0x48 //Alarm control
80 #define LOT_ID1 0x52 //Lot identification number
81 #define LOT_ID2 0x54 //Lot identification number
82 #define PROD_ID 0x56 //Product identifier
83 #define SERIAL_NUM 0x58 //Lot-specific serial number
134 int16_t
regRead(uint8_t regAddr);
139 void regWrite(uint8_t regAddr, uint16_t regData);
168 mraa_spi_context _spi;
169 mraa_gpio_context _rst;
float gyroScale(int16_t sensorData)
Definition: adis16448.cxx:208
float accelScale(int16_t sensorData)
Definition: adis16448.cxx:197
void resetDUT()
Definition: adis16448.cxx:102
float pressureScale(int16_t sensorData)
Definition: adis16448.cxx:231
void configSPI()
Definition: adis16448.cxx:114
int16_t regRead(uint8_t regAddr)
Definition: adis16448.cxx:139
void regWrite(uint8_t regAddr, uint16_t regData)
Definition: adis16448.cxx:164
float tempScale(int16_t sensorData)
Definition: adis16448.cxx:220
API for the Analog Devices ADIS16448 Accelerometer.
Definition: adis16448.h:107
float magnetometerScale(int16_t sensorData)
Definition: adis16448.cxx:243
~ADIS16448()
Definition: adis16448.cxx:82
ADIS16448(int bus, int rst)
Definition: adis16448.cxx:56