53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
|
|
#ifndef __MSA310_H__
|
|
#define __MSA310_H__
|
|
|
|
#if TCFG_MSA310_EN
|
|
#include "gSensor_manage.h"
|
|
|
|
//msa310 max fre:400Khz(iic)
|
|
#define MSA_REG_SOFT_RESET 0x00
|
|
#define MSA_REG_WHO_AM_I 0x01
|
|
#define MSA_REG_ACC_X_LSB 0x02
|
|
#define MSA_REG_ACC_X_MSB 0x03
|
|
#define MSA_REG_ACC_Y_LSB 0x04
|
|
#define MSA_REG_ACC_Y_MSB 0x05
|
|
#define MSA_REG_ACC_Z_LSB 0x06
|
|
#define MSA_REG_ACC_Z_MSB 0x07
|
|
|
|
#define MSA_REG_MOTION_FLAG 0x09
|
|
#define MSA_REG_DATA_INT_FLAG 0x0a
|
|
#define MSA_REG_FIFO_SAMPLE_CNT 0x0d
|
|
#define MSA_REG_G_RANGE 0x0f
|
|
#define MSA_REG_ODR_AXIS_DISABLE 0x10
|
|
#define MSA_REG_POWERMODE_BW 0x11
|
|
#define MSA_REG_SWAP_POLARITY 0x12
|
|
#define MSA_REG_FIFO_CTRL 0x14
|
|
#define MSA_REG_FIFO_CTRL1 0x15
|
|
#define MSA_REG_INTERRUPT_SETTINGS1 0x16
|
|
#define MSA_REG_INTERRUPT_SETTINGS2 0x17
|
|
#define MSA_REG_INTERRUPT_MAPPING1 0x19
|
|
#define MSA_REG_INTERRUPT_MAPPING2 0x1a
|
|
#define MSA_REG_INT_PIN_CONFIG 0x20
|
|
#define MSA_REG_INT_LATCH 0x21
|
|
#define MSA_REG_ACTIVE_DURATION 0x27
|
|
#define MSA_REG_ACTIVE_THRESHOLD 0x28
|
|
|
|
typedef unsigned char uint8_t;
|
|
typedef signed char int8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef signed short int16_t;
|
|
|
|
int32_t msa_read_data(int16_t *x, int16_t *y, int16_t *z);
|
|
int32_t msa_register_read_continuously(uint8_t addr, uint8_t count, uint8_t *data);
|
|
//int32_t i2c_write_byte_data( uint8_t addr, uint8_t data);
|
|
bool msa_WriteBytes(uint8_t RegAddr, uint8_t Data);
|
|
bool msa_ReadBytes(uint8_t *Data, uint8_t RegAddr);
|
|
// int32_t msa_read_fifo(int16_t *xBuf, int16_t *yBuf, int16_t *zBuf, int len);
|
|
int32_t msa_read_fifo(axis_info_t *raw_accel);
|
|
uint8_t msa_ReadBytes_ACKEND(uint8_t *Data, uint8_t RegAddr);
|
|
uint8_t msa310_init(void);
|
|
|
|
#endif
|
|
#endif
|