diff options
author | Andrew Tridgell <tridge@samba.org> | 2013-02-19 14:45:45 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2013-02-19 14:45:45 +1100 |
commit | e896944adcce3d0d5e333186a76b35850e5f9bc9 (patch) | |
tree | fd46243c7d023e30ffbe207536bfb5982a7d59fb /apps/drivers/ms5611/ms5611.cpp | |
parent | 4a15eef602528bb79a62838e033be989e5fa2b3f (diff) | |
download | px4-firmware-e896944adcce3d0d5e333186a76b35850e5f9bc9.tar.gz px4-firmware-e896944adcce3d0d5e333186a76b35850e5f9bc9.tar.bz2 px4-firmware-e896944adcce3d0d5e333186a76b35850e5f9bc9.zip |
ms5611: try to measure the performance cost of I2C timeouts
Diffstat (limited to 'apps/drivers/ms5611/ms5611.cpp')
-rw-r--r-- | apps/drivers/ms5611/ms5611.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/apps/drivers/ms5611/ms5611.cpp b/apps/drivers/ms5611/ms5611.cpp index 30166828a..44014d969 100644 --- a/apps/drivers/ms5611/ms5611.cpp +++ b/apps/drivers/ms5611/ms5611.cpp @@ -144,6 +144,7 @@ private: orb_advert_t _baro_topic; perf_counter_t _sample_perf; + perf_counter_t _measure_perf; perf_counter_t _comms_errors; perf_counter_t _buffer_overflows; @@ -274,6 +275,7 @@ MS5611::MS5611(int bus) : _msl_pressure(101325), _baro_topic(-1), _sample_perf(perf_alloc(PC_ELAPSED, "ms5611_read")), + _measure_perf(perf_alloc(PC_ELAPSED, "ms5611_measure")), _comms_errors(perf_alloc(PC_COUNT, "ms5611_comms_errors")), _buffer_overflows(perf_alloc(PC_COUNT, "ms5611_buffer_overflows")) { @@ -647,6 +649,8 @@ MS5611::measure() { int ret; + perf_begin(_measure_perf); + /* * In phase zero, request temperature; in other phases, request pressure. */ @@ -664,6 +668,8 @@ MS5611::measure() if (OK != ret) perf_count(_comms_errors); + perf_end(_measure_perf); + return ret; } @@ -689,6 +695,7 @@ MS5611::collect() ret = transfer(&cmd, 1, &data[0], 3); if (ret != OK) { perf_count(_comms_errors); + perf_end(_sample_perf); return ret; } |