38 lines
867 B
C
38 lines
867 B
C
|
|
#ifndef __ADXL355_H
|
||
|
|
#define __ADXL355_H
|
||
|
|
|
||
|
|
#include "SPIDevice.h"
|
||
|
|
#include "GPIO_EXTI.h"
|
||
|
|
|
||
|
|
typedef struct Acc_ADXL355{
|
||
|
|
const char *name;
|
||
|
|
SPI_DEV_t *_dev;
|
||
|
|
GPIO_EXIT_t *exti;
|
||
|
|
|
||
|
|
int32_t Ax; //累加从ADXL355读出来的Ax
|
||
|
|
int32_t Ay; //累加从ADXL355读出来的Ay
|
||
|
|
int32_t Az; //累加从ADXL355读出来的Az
|
||
|
|
int32_t At; //累加从ADXL355读出来的温度
|
||
|
|
int read_cnt;
|
||
|
|
|
||
|
|
float lsb_per_g;
|
||
|
|
|
||
|
|
// statics
|
||
|
|
int cnt;
|
||
|
|
int last_cnt;
|
||
|
|
int pps;
|
||
|
|
} Acc_ADXL355_t;
|
||
|
|
|
||
|
|
int Acc_ADXL355_init(Acc_ADXL355_t *Acc, const char *name, SPI_DEV_t *dev, GPIO_EXIT_t *exti);
|
||
|
|
bool Acc_ADXL355_Standby(Acc_ADXL355_t *Acc);
|
||
|
|
bool Acc_ADXL355_Awake(Acc_ADXL355_t *Acc);
|
||
|
|
|
||
|
|
bool Acc_ADXL355_update(Acc_ADXL355_t *Acc);
|
||
|
|
|
||
|
|
int Acc_ADXL355_read(Acc_ADXL355_t *Acc, float N[3], float Temp[1]);
|
||
|
|
|
||
|
|
void Acc_ADXL355_stats(Acc_ADXL355_t *Acc);
|
||
|
|
|
||
|
|
|
||
|
|
#endif
|