代码规范

This commit is contained in:
TuxMonkey
2025-11-20 19:26:42 +08:00
parent d49c023f3c
commit 1ff64dea82
7 changed files with 19 additions and 5 deletions

View File

@@ -205,7 +205,9 @@ void Calibrate_MPU_Offset(IMU_Data_t *bmi088)
gNormDiff = gNormMax - gNormMin;
for (uint8_t j = 0; j < 3; ++j)
{
gyroDiff[j] = gyroMax[j] - gyroMin[j];
}
if (gNormDiff > 0.5f ||
gyroDiff[0] > 0.5f || //0.15
gyroDiff[1] > 0.5f || //0.15
@@ -220,7 +222,9 @@ void Calibrate_MPU_Offset(IMU_Data_t *bmi088)
bmi088->gNorm /= (float) CaliTimes;
for (uint8_t i = 0; i < 3; ++i)
{
bmi088->GyroOffset[i] /= (float) CaliTimes;
}
BMI088_accel_read_muli_reg(BMI088_TEMP_M, buf, 2);
bmi088_raw_temp = (int16_t) ((buf[0] << 3) | (buf[1] >> 5));

View File

@@ -67,7 +67,9 @@ static void InitQuaternion(float *init_q4)
DWT_Delay(0.001);
}
for (uint8_t i = 0; i < 3; ++i)
{
acc_init[i] /= 100;
}
Norm3d(acc_init);
// 计算原始加速度矢量和导航系重力加速度矢量的夹角
float angle = acosf(Dot3d(acc_init, gravity_norm));
@@ -75,7 +77,9 @@ static void InitQuaternion(float *init_q4)
Norm3d(axis_rot);
init_q4[0] = cosf(angle / 2.0f);
for (uint8_t i = 0; i < 2; ++i)
{
init_q4[i + 1] = axis_rot[i] * sinf(angle / 2.0f); // 轴角公式,第三轴为0(没有z轴分量)
}
}
attitude_t *INS_Init(void)
@@ -265,7 +269,9 @@ static void IMU_Param_Correction(IMU_Param_t *param, float gyro[3], float accel[
}
float gyro_temp[3];
for (uint8_t i = 0; i < 3; ++i)
{
gyro_temp[i] = gyro[i] * param->scale[i];
}
gyro[X] = c_11 * gyro_temp[X] +
c_12 * gyro_temp[Y] +
@@ -279,7 +285,9 @@ static void IMU_Param_Correction(IMU_Param_t *param, float gyro[3], float accel[
float accel_temp[3];
for (uint8_t i = 0; i < 3; ++i)
{
accel_temp[i] = accel[i];
}
accel[X] = c_11 * accel_temp[X] +
c_12 * accel_temp[Y] +