mirror of
https://gitee.com/xiaohuolufeihua/bizhang_-obav.git
synced 2026-05-22 01:12:31 +00:00
ekf2:Use inttypes and fix types
This commit is contained in:
committed by
Julian Oes
parent
ed474794cc
commit
9a423e222b
@@ -1562,14 +1562,14 @@ void EKF2::UpdateMagSample(ekf2_timestamps_s &ekf2_timestamps)
|
|||||||
// check if magnetometer has changed
|
// check if magnetometer has changed
|
||||||
if (magnetometer.device_id != _device_id_mag) {
|
if (magnetometer.device_id != _device_id_mag) {
|
||||||
if (_device_id_mag != 0) {
|
if (_device_id_mag != 0) {
|
||||||
PX4_WARN("%d - mag sensor ID changed %d -> %d", _instance, _device_id_mag, magnetometer.device_id);
|
PX4_WARN("%d - mag sensor ID changed %" PRIu32 " -> %" PRIu32, _instance, _device_id_mag, magnetometer.device_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
reset = true;
|
reset = true;
|
||||||
|
|
||||||
} else if (magnetometer.calibration_count > _mag_calibration_count) {
|
} else if (magnetometer.calibration_count > _mag_calibration_count) {
|
||||||
// existing calibration has changed, reset saved mag bias
|
// existing calibration has changed, reset saved mag bias
|
||||||
PX4_DEBUG("%d - mag %d calibration updated, resetting bias", _instance, _device_id_mag);
|
PX4_DEBUG("%d - mag %" PRIu32 " calibration updated, resetting bias", _instance, _device_id_mag);
|
||||||
reset = true;
|
reset = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1732,8 +1732,8 @@ int EKF2::task_spawn(int argc, char *argv[])
|
|||||||
param_get(param_find("EKF2_MULTI_IMU"), &imu_instances);
|
param_get(param_find("EKF2_MULTI_IMU"), &imu_instances);
|
||||||
|
|
||||||
if (imu_instances < 1 || imu_instances > 4) {
|
if (imu_instances < 1 || imu_instances > 4) {
|
||||||
const int32_t imu_instances_limited = math::constrain(imu_instances, 1, 4);
|
const int32_t imu_instances_limited = math::constrain(imu_instances, static_cast<int32_t>(1), static_cast<int32_t>(4));
|
||||||
PX4_WARN("EKF2_MULTI_IMU limited %d -> %d", imu_instances, imu_instances_limited);
|
PX4_WARN("EKF2_MULTI_IMU limited %" PRId32 " -> %" PRId32, imu_instances, imu_instances_limited);
|
||||||
param_set_no_notification(param_find("EKF2_MULTI_IMU"), &imu_instances_limited);
|
param_set_no_notification(param_find("EKF2_MULTI_IMU"), &imu_instances_limited);
|
||||||
imu_instances = imu_instances_limited;
|
imu_instances = imu_instances_limited;
|
||||||
}
|
}
|
||||||
@@ -1746,8 +1746,8 @@ int EKF2::task_spawn(int argc, char *argv[])
|
|||||||
|
|
||||||
// Mags (1 - 4 supported)
|
// Mags (1 - 4 supported)
|
||||||
if (mag_instances < 1 || mag_instances > 4) {
|
if (mag_instances < 1 || mag_instances > 4) {
|
||||||
const int32_t mag_instances_limited = math::constrain(mag_instances, 1, 4);
|
const int32_t mag_instances_limited = math::constrain(mag_instances, static_cast<int32_t>(1), static_cast<int32_t>(4));
|
||||||
PX4_WARN("EKF2_MULTI_MAG limited %d -> %d", mag_instances, mag_instances_limited);
|
PX4_WARN("EKF2_MULTI_MAG limited %" PRId32 " -> %" PRId32, mag_instances, mag_instances_limited);
|
||||||
param_set_no_notification(param_find("EKF2_MULTI_MAG"), &mag_instances_limited);
|
param_set_no_notification(param_find("EKF2_MULTI_MAG"), &mag_instances_limited);
|
||||||
mag_instances = mag_instances_limited;
|
mag_instances = mag_instances_limited;
|
||||||
}
|
}
|
||||||
@@ -1772,7 +1772,7 @@ int EKF2::task_spawn(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
const hrt_abstime time_started = hrt_absolute_time();
|
const hrt_abstime time_started = hrt_absolute_time();
|
||||||
const int multi_instances = math::min(imu_instances * mag_instances, (int)EKF2_MAX_INSTANCES);
|
const int multi_instances = math::min(imu_instances * mag_instances, static_cast<int32_t>(EKF2_MAX_INSTANCES));
|
||||||
int multi_instances_allocated = 0;
|
int multi_instances_allocated = 0;
|
||||||
|
|
||||||
// allocate EKF2 instances until all found or arming
|
// allocate EKF2 instances until all found or arming
|
||||||
@@ -1817,7 +1817,7 @@ int EKF2::task_spawn(int argc, char *argv[])
|
|||||||
_ekf2_selector.load()->ScheduleNow();
|
_ekf2_selector.load()->ScheduleNow();
|
||||||
}
|
}
|
||||||
|
|
||||||
PX4_INFO("starting instance %d, IMU:%d (%d), MAG:%d (%d)", actual_instance,
|
PX4_INFO("starting instance %d, IMU:%" PRIu8 " (%" PRIu32 "), MAG:%" PRIu8 " (%" PRIu32 ")", actual_instance,
|
||||||
imu, vehicle_imu_sub.get().accel_device_id,
|
imu, vehicle_imu_sub.get().accel_device_id,
|
||||||
mag, vehicle_mag_sub.get().device_id);
|
mag, vehicle_mag_sub.get().device_id);
|
||||||
|
|
||||||
@@ -1831,7 +1831,7 @@ int EKF2::task_spawn(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
PX4_ERR("alloc and init failed imu: %d mag:%d", imu, mag);
|
PX4_ERR("alloc and init failed imu: %" PRIu8 " mag:%" PRIu8, imu, mag);
|
||||||
px4_usleep(1000000);
|
px4_usleep(1000000);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (c) 2015-2020 PX4 Development Team. All rights reserved.
|
* Copyright (c) 2015-2021 PX4 Development Team. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ void EKF2Selector::PrintInstanceChange(const uint8_t old_instance, uint8_t new_i
|
|||||||
new_reason = "";
|
new_reason = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
PX4_WARN("primary EKF changed %d%s -> %d%s", old_instance, old_reason, new_instance, new_reason);
|
PX4_WARN("primary EKF changed %" PRIu8 "%s -> %" PRIu8 "%s", old_instance, old_reason, new_instance, new_reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -809,7 +809,7 @@ void EKF2Selector::PublishEstimatorSelectorStatus()
|
|||||||
|
|
||||||
void EKF2Selector::PrintStatus()
|
void EKF2Selector::PrintStatus()
|
||||||
{
|
{
|
||||||
PX4_INFO("available instances: %d", _available_instances);
|
PX4_INFO("available instances: %" PRIu8, _available_instances);
|
||||||
|
|
||||||
if (_selected_instance == INVALID_INSTANCE) {
|
if (_selected_instance == INVALID_INSTANCE) {
|
||||||
PX4_WARN("selected instance: None");
|
PX4_WARN("selected instance: None");
|
||||||
@@ -818,7 +818,7 @@ void EKF2Selector::PrintStatus()
|
|||||||
for (int i = 0; i < _available_instances; i++) {
|
for (int i = 0; i < _available_instances; i++) {
|
||||||
const EstimatorInstance &inst = _instance[i];
|
const EstimatorInstance &inst = _instance[i];
|
||||||
|
|
||||||
PX4_INFO("%d: ACC: %d, GYRO: %d, MAG: %d, %s, test ratio: %.7f (%.5f) %s",
|
PX4_INFO("%" PRIu8 ": ACC: %" PRIu32 ", GYRO: %" PRIu32 ", MAG: %" PRIu32 ", %s, test ratio: %.7f (%.5f) %s",
|
||||||
inst.instance, inst.accel_device_id, inst.gyro_device_id, inst.mag_device_id,
|
inst.instance, inst.accel_device_id, inst.gyro_device_id, inst.mag_device_id,
|
||||||
inst.healthy ? "healthy" : "unhealthy",
|
inst.healthy ? "healthy" : "unhealthy",
|
||||||
(double)inst.combined_test_ratio, (double)inst.relative_test_ratio,
|
(double)inst.combined_test_ratio, (double)inst.relative_test_ratio,
|
||||||
|
|||||||
Reference in New Issue
Block a user