cun
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
#include "SC7U22.h"
|
||||
#include "math.h"
|
||||
#include "os/os_api.h"
|
||||
|
||||
#include "../xtell.h"
|
||||
|
||||
// #define ENABLE_XLOG 1
|
||||
#ifdef xlog
|
||||
@ -129,7 +129,8 @@ unsigned char SL_SC7U22_Config(void)
|
||||
SL_SC7U22_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0xBC);//ACC_CON 高性能模式,1600Hz -- lmx
|
||||
// SL_SC7U22_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0xBB);//ACC_CON 高性能模式,800Hz -- lmx
|
||||
|
||||
SL_SC7U22_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x01);//ACC_RANGE 10:±8G 01:±4G
|
||||
// SL_SC7U22_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x01);//ACC_RANGE 01:±4G
|
||||
SL_SC7U22_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x03);//ACC_RANGE 03:±16G
|
||||
|
||||
// SL_SC7U22_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x42, 0x86);//GYR_CONF 0x87=50Hz 0x86=25Hz
|
||||
// SL_SC7U22_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x42, 0x8C);//GYR_CONF 1600Hz -- lmx
|
||||
@ -810,9 +811,19 @@ unsigned char SL_SC7U22_Angle_Output(unsigned char calibration_en, signed short
|
||||
#endif
|
||||
// --- 2.2 使用加速度计计算姿态角 ---
|
||||
// 将加速度原始值转换为归一化的重力分量
|
||||
#if ACC_RANGE==4
|
||||
//4g:
|
||||
angle_acc[0] = (float)Temp_Accgyro[0] / 8192; //ax
|
||||
angle_acc[1] = (float)Temp_Accgyro[1] / 8192; //ay
|
||||
angle_acc[2] = (float)Temp_Accgyro[2] / 8192; //az
|
||||
#endif
|
||||
|
||||
#if ACC_RANGE==16
|
||||
//±16g 2048
|
||||
angle_acc[0] = (float)Temp_Accgyro[0] / 2048; //ax
|
||||
angle_acc[1] = (float)Temp_Accgyro[1] / 2048; //ay
|
||||
angle_acc[2] = (float)Temp_Accgyro[2] / 2048; //az
|
||||
#endif
|
||||
|
||||
// 限制范围,防止asinf/atanf计算错误
|
||||
if (angle_acc[0] > 1.0) angle_acc[0] = 1.0;
|
||||
|
||||
Reference in New Issue
Block a user