From 194029d0109b9a53f70dfd6997f67e4557f50e3c Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Thu, 9 Jul 2020 10:12:37 -0400 Subject: [PATCH] drivers/imu: Invensense & Bosch remove transfer perf counters - we already have nearly equivalent data in every sensor publication with the (publication) timestamp and timestamp_sample --- src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp | 7 ------- src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.hpp | 1 - src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp | 7 ------- src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.hpp | 1 - src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp | 6 ------ src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.hpp | 1 - src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp | 7 ------- src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.hpp | 1 - src/drivers/imu/invensense/icm20602/ICM20602.cpp | 5 ----- src/drivers/imu/invensense/icm20602/ICM20602.hpp | 1 - src/drivers/imu/invensense/icm20608g/ICM20608G.cpp | 5 ----- src/drivers/imu/invensense/icm20608g/ICM20608G.hpp | 1 - src/drivers/imu/invensense/icm20649/ICM20649.cpp | 5 ----- src/drivers/imu/invensense/icm20649/ICM20649.hpp | 1 - src/drivers/imu/invensense/icm20689/ICM20689.cpp | 5 ----- src/drivers/imu/invensense/icm20689/ICM20689.hpp | 1 - src/drivers/imu/invensense/icm20948/ICM20948.cpp | 5 ----- src/drivers/imu/invensense/icm20948/ICM20948.hpp | 1 - src/drivers/imu/invensense/icm20948/ICM20948_AK09916.cpp | 4 ---- src/drivers/imu/invensense/icm20948/ICM20948_AK09916.hpp | 1 - src/drivers/imu/invensense/icm40609d/ICM40609D.cpp | 5 ----- src/drivers/imu/invensense/icm40609d/ICM40609D.hpp | 1 - src/drivers/imu/invensense/icm42688p/ICM42688P.cpp | 5 ----- src/drivers/imu/invensense/icm42688p/ICM42688P.hpp | 1 - src/drivers/imu/invensense/mpu6000/MPU6000.cpp | 5 ----- src/drivers/imu/invensense/mpu6000/MPU6000.hpp | 1 - src/drivers/imu/invensense/mpu6500/MPU6500.cpp | 5 ----- src/drivers/imu/invensense/mpu6500/MPU6500.hpp | 1 - src/drivers/imu/invensense/mpu9250/MPU9250.cpp | 5 ----- src/drivers/imu/invensense/mpu9250/MPU9250.hpp | 1 - src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.cpp | 4 ---- src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.hpp | 1 - 32 files changed, 101 deletions(-) diff --git a/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp b/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp index 90fede65f4..c26c2cf829 100644 --- a/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp +++ b/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp @@ -54,7 +54,6 @@ BMI055_Accelerometer::BMI055_Accelerometer(I2CSPIBusOption bus_option, int bus, BMI055_Accelerometer::~BMI055_Accelerometer() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -75,7 +74,6 @@ void BMI055_Accelerometer::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -392,16 +390,11 @@ bool BMI055_Accelerometer::FIFORead(const hrt_abstime ×tamp_sample, uint8_t FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); - perf_begin(_transfer_perf); - if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); - sensor_accel_fifo_s accel{}; accel.timestamp_sample = timestamp_sample; accel.samples = samples; diff --git a/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.hpp b/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.hpp index 360c8e55bf..f7c9de4050 100644 --- a/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.hpp +++ b/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.hpp @@ -100,7 +100,6 @@ private: PX4Accelerometer _px4_accel; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME"_accel: transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME"_accel: bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME"_accel: bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME"_accel: FIFO empty")}; diff --git a/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp b/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp index bb1ebb1b4d..b8495fb1e5 100644 --- a/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp +++ b/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp @@ -54,7 +54,6 @@ BMI055_Gyroscope::BMI055_Gyroscope(I2CSPIBusOption bus_option, int bus, uint32_t BMI055_Gyroscope::~BMI055_Gyroscope() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -75,7 +74,6 @@ void BMI055_Gyroscope::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -397,16 +395,11 @@ bool BMI055_Gyroscope::FIFORead(const hrt_abstime ×tamp_sample, uint8_t sam FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); - perf_begin(_transfer_perf); - if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); - sensor_gyro_fifo_s gyro{}; gyro.timestamp_sample = timestamp_sample; gyro.samples = samples; diff --git a/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.hpp b/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.hpp index a9cb009aa9..55c3e3a582 100644 --- a/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.hpp +++ b/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.hpp @@ -98,7 +98,6 @@ private: PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME"_gyro: transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME"_gyro: bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME"_gyro: bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME"_gyro: FIFO empty")}; diff --git a/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp b/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp index ce0a8d9b2f..8cca81b7fd 100644 --- a/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp +++ b/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp @@ -54,7 +54,6 @@ BMI088_Accelerometer::BMI088_Accelerometer(I2CSPIBusOption bus_option, int bus, BMI088_Accelerometer::~BMI088_Accelerometer() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -75,7 +74,6 @@ void BMI088_Accelerometer::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -454,15 +452,11 @@ bool BMI088_Accelerometer::FIFORead(const hrt_abstime ×tamp_sample, uint8_t FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 4, FIFO::SIZE); - perf_begin(_transfer_perf); - if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); sensor_accel_fifo_s accel{}; accel.timestamp_sample = timestamp_sample; diff --git a/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.hpp b/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.hpp index 82b5788f0f..dbb121c773 100644 --- a/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.hpp +++ b/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.hpp @@ -104,7 +104,6 @@ private: PX4Accelerometer _px4_accel; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME"_accel: transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME"_accel: bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME"_accel: bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME"_accel: FIFO empty")}; diff --git a/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp b/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp index ee3598d64e..d5c3004eb5 100644 --- a/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp +++ b/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp @@ -54,7 +54,6 @@ BMI088_Gyroscope::BMI088_Gyroscope(I2CSPIBusOption bus_option, int bus, uint32_t BMI088_Gyroscope::~BMI088_Gyroscope() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -75,7 +74,6 @@ void BMI088_Gyroscope::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -398,16 +396,11 @@ bool BMI088_Gyroscope::FIFORead(const hrt_abstime ×tamp_sample, uint8_t sam FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); - perf_begin(_transfer_perf); - if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); - sensor_gyro_fifo_s gyro{}; gyro.timestamp_sample = timestamp_sample; gyro.samples = samples; diff --git a/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.hpp b/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.hpp index ad0e6ebf9f..811556893b 100644 --- a/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.hpp +++ b/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.hpp @@ -98,7 +98,6 @@ private: PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME"_gyro: transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME"_gyro: bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME"_gyro: bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME"_gyro: FIFO empty")}; diff --git a/src/drivers/imu/invensense/icm20602/ICM20602.cpp b/src/drivers/imu/invensense/icm20602/ICM20602.cpp index 430c02f811..6b0467e5ac 100644 --- a/src/drivers/imu/invensense/icm20602/ICM20602.cpp +++ b/src/drivers/imu/invensense/icm20602/ICM20602.cpp @@ -53,7 +53,6 @@ ICM20602::ICM20602(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Ro ICM20602::~ICM20602() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -94,7 +93,6 @@ void ICM20602::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, static_cast(1000000 / _fifo_empty_interval_us)); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -457,17 +455,14 @@ uint16_t ICM20602::FIFOReadCount() bool ICM20602::FIFORead(const hrt_abstime ×tamp_sample, uint16_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); bool bad_data = false; diff --git a/src/drivers/imu/invensense/icm20602/ICM20602.hpp b/src/drivers/imu/invensense/icm20602/ICM20602.hpp index 02b7ea3986..2fec260d6d 100644 --- a/src/drivers/imu/invensense/icm20602/ICM20602.hpp +++ b/src/drivers/imu/invensense/icm20602/ICM20602.hpp @@ -131,7 +131,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/icm20608g/ICM20608G.cpp b/src/drivers/imu/invensense/icm20608g/ICM20608G.cpp index 2bc9beec72..d01ed6fa0c 100644 --- a/src/drivers/imu/invensense/icm20608g/ICM20608G.cpp +++ b/src/drivers/imu/invensense/icm20608g/ICM20608G.cpp @@ -57,7 +57,6 @@ ICM20608G::ICM20608G(I2CSPIBusOption bus_option, int bus, uint32_t device, enum ICM20608G::~ICM20608G() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -99,7 +98,6 @@ void ICM20608G::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -467,17 +465,14 @@ uint16_t ICM20608G::FIFOReadCount() bool ICM20608G::FIFORead(const hrt_abstime ×tamp_sample, uint8_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); ProcessGyro(timestamp_sample, buffer.f, samples); return ProcessAccel(timestamp_sample, buffer.f, samples); diff --git a/src/drivers/imu/invensense/icm20608g/ICM20608G.hpp b/src/drivers/imu/invensense/icm20608g/ICM20608G.hpp index c2018c3e17..09b2625a00 100644 --- a/src/drivers/imu/invensense/icm20608g/ICM20608G.hpp +++ b/src/drivers/imu/invensense/icm20608g/ICM20608G.hpp @@ -128,7 +128,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/icm20649/ICM20649.cpp b/src/drivers/imu/invensense/icm20649/ICM20649.cpp index 7c4240c541..ccb948cef0 100644 --- a/src/drivers/imu/invensense/icm20649/ICM20649.cpp +++ b/src/drivers/imu/invensense/icm20649/ICM20649.cpp @@ -57,7 +57,6 @@ ICM20649::ICM20649(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Ro ICM20649::~ICM20649() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -99,7 +98,6 @@ void ICM20649::print_status() PX4_INFO("FIFO empty interval: %d us (%.1f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -507,18 +505,15 @@ uint16_t ICM20649::FIFOReadCount() bool ICM20649::FIFORead(const hrt_abstime ×tamp_sample, uint8_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 3, FIFO::SIZE); SelectRegisterBank(REG_BANK_SEL_BIT::USER_BANK_0); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); const uint16_t fifo_count_bytes = combine(buffer.FIFO_COUNTH, buffer.FIFO_COUNTL); diff --git a/src/drivers/imu/invensense/icm20649/ICM20649.hpp b/src/drivers/imu/invensense/icm20649/ICM20649.hpp index a242770751..331f97e01d 100644 --- a/src/drivers/imu/invensense/icm20649/ICM20649.hpp +++ b/src/drivers/imu/invensense/icm20649/ICM20649.hpp @@ -141,7 +141,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/icm20689/ICM20689.cpp b/src/drivers/imu/invensense/icm20689/ICM20689.cpp index 2536218564..7cba8581fd 100644 --- a/src/drivers/imu/invensense/icm20689/ICM20689.cpp +++ b/src/drivers/imu/invensense/icm20689/ICM20689.cpp @@ -57,7 +57,6 @@ ICM20689::ICM20689(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Ro ICM20689::~ICM20689() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -99,7 +98,6 @@ void ICM20689::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -466,17 +464,14 @@ uint16_t ICM20689::FIFOReadCount() bool ICM20689::FIFORead(const hrt_abstime ×tamp_sample, uint8_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); ProcessGyro(timestamp_sample, buffer.f, samples); return ProcessAccel(timestamp_sample, buffer.f, samples); diff --git a/src/drivers/imu/invensense/icm20689/ICM20689.hpp b/src/drivers/imu/invensense/icm20689/ICM20689.hpp index 3d48d317f7..b84d05f1c4 100644 --- a/src/drivers/imu/invensense/icm20689/ICM20689.hpp +++ b/src/drivers/imu/invensense/icm20689/ICM20689.hpp @@ -128,7 +128,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/icm20948/ICM20948.cpp b/src/drivers/imu/invensense/icm20948/ICM20948.cpp index 964a177c1b..9bd89a7b71 100644 --- a/src/drivers/imu/invensense/icm20948/ICM20948.cpp +++ b/src/drivers/imu/invensense/icm20948/ICM20948.cpp @@ -77,7 +77,6 @@ ICM20948::ICM20948(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Ro ICM20948::~ICM20948() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -121,7 +120,6 @@ void ICM20948::print_status() PX4_INFO("FIFO empty interval: %d us (%.1f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -551,18 +549,15 @@ uint16_t ICM20948::FIFOReadCount() bool ICM20948::FIFORead(const hrt_abstime ×tamp_sample, uint8_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 3, FIFO::SIZE); SelectRegisterBank(REG_BANK_SEL_BIT::USER_BANK_0); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); const uint16_t fifo_count_bytes = combine(buffer.FIFO_COUNTH, buffer.FIFO_COUNTL); diff --git a/src/drivers/imu/invensense/icm20948/ICM20948.hpp b/src/drivers/imu/invensense/icm20948/ICM20948.hpp index d1e8e2ba6d..745c6fba68 100644 --- a/src/drivers/imu/invensense/icm20948/ICM20948.hpp +++ b/src/drivers/imu/invensense/icm20948/ICM20948.hpp @@ -158,7 +158,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/icm20948/ICM20948_AK09916.cpp b/src/drivers/imu/invensense/icm20948/ICM20948_AK09916.cpp index 020f7a66c5..4654453ab7 100644 --- a/src/drivers/imu/invensense/icm20948/ICM20948_AK09916.cpp +++ b/src/drivers/imu/invensense/icm20948/ICM20948_AK09916.cpp @@ -59,7 +59,6 @@ ICM20948_AK09916::ICM20948_AK09916(ICM20948 &icm20948, enum Rotation rotation) : ICM20948_AK09916::~ICM20948_AK09916() { - perf_free(_transfer_perf); perf_free(_bad_transfer_perf); perf_free(_magnetic_sensor_overflow_perf); } @@ -74,7 +73,6 @@ bool ICM20948_AK09916::Reset() void ICM20948_AK09916::PrintInfo() { - perf_print_counter(_transfer_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_magnetic_sensor_overflow_perf); @@ -128,11 +126,9 @@ void ICM20948_AK09916::Run() break; case STATE::READ: { - perf_begin(_transfer_perf); TransferBuffer buffer{}; const hrt_abstime timestamp_sample = hrt_absolute_time(); bool ret = _icm20948.I2CSlaveExternalSensorDataRead((uint8_t *)&buffer, sizeof(TransferBuffer)); - perf_end(_transfer_perf); bool success = false; diff --git a/src/drivers/imu/invensense/icm20948/ICM20948_AK09916.hpp b/src/drivers/imu/invensense/icm20948/ICM20948_AK09916.hpp index ef62b11dc6..3387b4462a 100644 --- a/src/drivers/imu/invensense/icm20948/ICM20948_AK09916.hpp +++ b/src/drivers/imu/invensense/icm20948/ICM20948_AK09916.hpp @@ -88,7 +88,6 @@ private: PX4Magnetometer _px4_mag; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME"_ak09916: transfer")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME"_ak09916: bad transfer")}; perf_counter_t _magnetic_sensor_overflow_perf{perf_alloc(PC_COUNT, MODULE_NAME"_ak09916: magnetic sensor overflow")}; diff --git a/src/drivers/imu/invensense/icm40609d/ICM40609D.cpp b/src/drivers/imu/invensense/icm40609d/ICM40609D.cpp index 2ad37b756f..242fa78937 100644 --- a/src/drivers/imu/invensense/icm40609d/ICM40609D.cpp +++ b/src/drivers/imu/invensense/icm40609d/ICM40609D.cpp @@ -53,7 +53,6 @@ ICM40609D::ICM40609D(I2CSPIBusOption bus_option, int bus, uint32_t device, enum ICM40609D::~ICM40609D() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -94,7 +93,6 @@ void ICM40609D::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, static_cast(1000000 / _fifo_empty_interval_us)); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -463,17 +461,14 @@ uint16_t ICM40609D::FIFOReadCount() bool ICM40609D::FIFORead(const hrt_abstime ×tamp_sample, uint16_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 4, FIFO::SIZE); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); if (buffer.INT_STATUS & INT_STATUS_BIT::FIFO_FULL_INT) { perf_count(_fifo_overflow_perf); diff --git a/src/drivers/imu/invensense/icm40609d/ICM40609D.hpp b/src/drivers/imu/invensense/icm40609d/ICM40609D.hpp index 19a4ed6c27..6df9ff686d 100644 --- a/src/drivers/imu/invensense/icm40609d/ICM40609D.hpp +++ b/src/drivers/imu/invensense/icm40609d/ICM40609D.hpp @@ -134,7 +134,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/icm42688p/ICM42688P.cpp b/src/drivers/imu/invensense/icm42688p/ICM42688P.cpp index 946f2edce3..fb61400456 100644 --- a/src/drivers/imu/invensense/icm42688p/ICM42688P.cpp +++ b/src/drivers/imu/invensense/icm42688p/ICM42688P.cpp @@ -53,7 +53,6 @@ ICM42688P::ICM42688P(I2CSPIBusOption bus_option, int bus, uint32_t device, enum ICM42688P::~ICM42688P() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -94,7 +93,6 @@ void ICM42688P::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, static_cast(1000000 / _fifo_empty_interval_us)); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -466,17 +464,14 @@ uint16_t ICM42688P::FIFOReadCount() bool ICM42688P::FIFORead(const hrt_abstime ×tamp_sample, uint16_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 4, FIFO::SIZE); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); if (buffer.INT_STATUS & INT_STATUS_BIT::FIFO_FULL_INT) { perf_count(_fifo_overflow_perf); diff --git a/src/drivers/imu/invensense/icm42688p/ICM42688P.hpp b/src/drivers/imu/invensense/icm42688p/ICM42688P.hpp index fed59bb0f5..4155a9b6d2 100644 --- a/src/drivers/imu/invensense/icm42688p/ICM42688P.hpp +++ b/src/drivers/imu/invensense/icm42688p/ICM42688P.hpp @@ -134,7 +134,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/mpu6000/MPU6000.cpp b/src/drivers/imu/invensense/mpu6000/MPU6000.cpp index 3c868daea1..187d07ec45 100644 --- a/src/drivers/imu/invensense/mpu6000/MPU6000.cpp +++ b/src/drivers/imu/invensense/mpu6000/MPU6000.cpp @@ -57,7 +57,6 @@ MPU6000::MPU6000(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Rota MPU6000::~MPU6000() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -99,7 +98,6 @@ void MPU6000::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -470,18 +468,15 @@ uint16_t MPU6000::FIFOReadCount() bool MPU6000::FIFORead(const hrt_abstime ×tamp_sample, uint8_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); set_frequency(SPI_SPEED_SENSOR); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); ProcessGyro(timestamp_sample, buffer.f, samples); return ProcessAccel(timestamp_sample, buffer.f, samples); diff --git a/src/drivers/imu/invensense/mpu6000/MPU6000.hpp b/src/drivers/imu/invensense/mpu6000/MPU6000.hpp index 89fe96c091..6d50896299 100644 --- a/src/drivers/imu/invensense/mpu6000/MPU6000.hpp +++ b/src/drivers/imu/invensense/mpu6000/MPU6000.hpp @@ -128,7 +128,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/mpu6500/MPU6500.cpp b/src/drivers/imu/invensense/mpu6500/MPU6500.cpp index 26d41f9288..303119558b 100644 --- a/src/drivers/imu/invensense/mpu6500/MPU6500.cpp +++ b/src/drivers/imu/invensense/mpu6500/MPU6500.cpp @@ -53,7 +53,6 @@ MPU6500::MPU6500(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Rota MPU6500::~MPU6500() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -94,7 +93,6 @@ void MPU6500::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, static_cast(1000000 / _fifo_empty_interval_us)); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -455,19 +453,16 @@ uint16_t MPU6500::FIFOReadCount() bool MPU6500::FIFORead(const hrt_abstime ×tamp_sample, uint16_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); set_frequency(SPI_SPEED_SENSOR); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); ProcessGyro(timestamp_sample, buffer, samples); return ProcessAccel(timestamp_sample, buffer, samples); diff --git a/src/drivers/imu/invensense/mpu6500/MPU6500.hpp b/src/drivers/imu/invensense/mpu6500/MPU6500.hpp index a3634b46e1..237b2fbc96 100644 --- a/src/drivers/imu/invensense/mpu6500/MPU6500.hpp +++ b/src/drivers/imu/invensense/mpu6500/MPU6500.hpp @@ -130,7 +130,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/mpu9250/MPU9250.cpp b/src/drivers/imu/invensense/mpu9250/MPU9250.cpp index 9938b148f7..28ebe6e936 100644 --- a/src/drivers/imu/invensense/mpu9250/MPU9250.cpp +++ b/src/drivers/imu/invensense/mpu9250/MPU9250.cpp @@ -77,7 +77,6 @@ MPU9250::MPU9250(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Rota MPU9250::~MPU9250() { - perf_free(_transfer_perf); perf_free(_bad_register_perf); perf_free(_bad_transfer_perf); perf_free(_fifo_empty_perf); @@ -121,7 +120,6 @@ void MPU9250::print_status() PX4_INFO("FIFO empty interval: %d us (%.3f Hz)", _fifo_empty_interval_us, 1e6 / _fifo_empty_interval_us); - perf_print_counter(_transfer_perf); perf_print_counter(_bad_register_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_fifo_empty_perf); @@ -501,18 +499,15 @@ uint16_t MPU9250::FIFOReadCount() bool MPU9250::FIFORead(const hrt_abstime ×tamp_sample, uint8_t samples) { - perf_begin(_transfer_perf); FIFOTransferBuffer buffer{}; const size_t transfer_size = math::min(samples * sizeof(FIFO::DATA) + 1, FIFO::SIZE); set_frequency(SPI_SPEED_SENSOR); if (transfer((uint8_t *)&buffer, (uint8_t *)&buffer, transfer_size) != PX4_OK) { - perf_end(_transfer_perf); perf_count(_bad_transfer_perf); return false; } - perf_end(_transfer_perf); ProcessGyro(timestamp_sample, buffer.f, samples); return ProcessAccel(timestamp_sample, buffer.f, samples); diff --git a/src/drivers/imu/invensense/mpu9250/MPU9250.hpp b/src/drivers/imu/invensense/mpu9250/MPU9250.hpp index 671da2a52b..053a49ad0a 100644 --- a/src/drivers/imu/invensense/mpu9250/MPU9250.hpp +++ b/src/drivers/imu/invensense/mpu9250/MPU9250.hpp @@ -140,7 +140,6 @@ private: PX4Accelerometer _px4_accel; PX4Gyroscope _px4_gyro; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME": bad transfer")}; perf_counter_t _fifo_empty_perf{perf_alloc(PC_COUNT, MODULE_NAME": FIFO empty")}; diff --git a/src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.cpp b/src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.cpp index 90d4020078..e69ba4c18f 100644 --- a/src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.cpp +++ b/src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.cpp @@ -59,7 +59,6 @@ MPU9250_AK8963::MPU9250_AK8963(MPU9250 &mpu9250, enum Rotation rotation) : MPU9250_AK8963::~MPU9250_AK8963() { - perf_free(_transfer_perf); perf_free(_bad_transfer_perf); perf_free(_magnetic_sensor_overflow_perf); } @@ -74,7 +73,6 @@ bool MPU9250_AK8963::Reset() void MPU9250_AK8963::PrintInfo() { - perf_print_counter(_transfer_perf); perf_print_counter(_bad_transfer_perf); perf_print_counter(_magnetic_sensor_overflow_perf); @@ -167,11 +165,9 @@ void MPU9250_AK8963::Run() break; case STATE::READ: { - perf_begin(_transfer_perf); TransferBuffer buffer{}; const hrt_abstime timestamp_sample = hrt_absolute_time(); bool ret = _mpu9250.I2CSlaveExternalSensorDataRead((uint8_t *)&buffer, sizeof(TransferBuffer)); - perf_end(_transfer_perf); bool success = false; diff --git a/src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.hpp b/src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.hpp index 4e3e7b1bba..4cb146d9ac 100644 --- a/src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.hpp +++ b/src/drivers/imu/invensense/mpu9250/MPU9250_AK8963.hpp @@ -87,7 +87,6 @@ private: PX4Magnetometer _px4_mag; - perf_counter_t _transfer_perf{perf_alloc(PC_ELAPSED, MODULE_NAME"_ak8963: transfer")}; perf_counter_t _bad_register_perf{perf_alloc(PC_COUNT, MODULE_NAME"_ak8963: bad register")}; perf_counter_t _bad_transfer_perf{perf_alloc(PC_COUNT, MODULE_NAME"_ak8963: bad transfer")}; perf_counter_t _magnetic_sensor_overflow_perf{perf_alloc(PC_COUNT, MODULE_NAME"_ak09916: magnetic sensor overflow")};