mirror of
https://gitee.com/dlmu-cone/tronone-h7-scaffold
synced 2026-07-24 03:27:45 +08:00
代码规范
This commit is contained in:
@@ -266,7 +266,9 @@ void Kalman_Filter_Measure(KalmanFilter_t *kf)
|
||||
// 矩阵H K R根据量测情况自动调整
|
||||
// matrix H K R auto adjustment
|
||||
if (kf->UseAutoAdjustment != 0)
|
||||
{
|
||||
H_K_R_Adjustment(kf);
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(kf->z_data, kf->MeasuredVector, sizeof_float * kf->zSize);
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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] +
|
||||
|
||||
@@ -38,11 +38,11 @@ void PowerMeterDecode(FDCANInstance *instance)
|
||||
measure->dt = DWT_GetDeltaT(&power_meter_instance->feed_cnt);
|
||||
|
||||
// 解析电流数据 (放大100倍,需要除以100)
|
||||
int16_t current_raw = (int16_t) ((rxbuff[1] << 8) | rxbuff[0]);
|
||||
auto current_raw = (int16_t) ((rxbuff[1] << 8) | rxbuff[0]);
|
||||
measure->current = (float) current_raw / 100.0f;
|
||||
|
||||
// 解析电压数据 (放大100倍,需要除以100)
|
||||
int16_t voltage_raw = (int16_t) ((rxbuff[3] << 8) | rxbuff[2]);
|
||||
auto voltage_raw = (int16_t) ((rxbuff[3] << 8) | rxbuff[2]);
|
||||
measure->voltage = (float) voltage_raw / 100.0f;
|
||||
|
||||
// 计算功率
|
||||
|
||||
Reference in New Issue
Block a user