diff options
author | Andrew Tridgell <tridge@samba.org> | 2013-12-11 14:14:33 +1100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-12-13 11:19:18 +0100 |
commit | 8f90efa312b4bccbacb9e9173e2cba7d7b4bc193 (patch) | |
tree | b714c3e8af200b864b44f7d3e6bc3c6c4841a057 /src/drivers | |
parent | e808e015dd84c234f9689daf90aedf0162d7d2f2 (diff) | |
download | px4-firmware-8f90efa312b4bccbacb9e9173e2cba7d7b4bc193.tar.gz px4-firmware-8f90efa312b4bccbacb9e9173e2cba7d7b4bc193.tar.bz2 px4-firmware-8f90efa312b4bccbacb9e9173e2cba7d7b4bc193.zip |
l3gd20: print more perf counters and make DRDY usage clearer
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/l3gd20/l3gd20.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/drivers/l3gd20/l3gd20.cpp b/src/drivers/l3gd20/l3gd20.cpp index 1d437df2b..d639acba1 100644 --- a/src/drivers/l3gd20/l3gd20.cpp +++ b/src/drivers/l3gd20/l3gd20.cpp @@ -779,10 +779,16 @@ L3GD20::measure_trampoline(void *arg) dev->measure(); } +#ifdef GPIO_EXTI_GYRO_DRDY +# define L3GD20_USE_DRDY 1 +#else +# define L3GD20_USE_DRDY 0 +#endif + void L3GD20::measure() { -#ifdef GPIO_EXTI_GYRO_DRDY +#if L3GD20_USE_DRDY // if the gyro doesn't have any data ready then re-schedule // for 100 microseconds later. This ensures we don't double // read a value and then miss the next value @@ -815,7 +821,7 @@ L3GD20::measure() raw_report.cmd = ADDR_OUT_TEMP | DIR_READ | ADDR_INCREMENT; transfer((uint8_t *)&raw_report, (uint8_t *)&raw_report, sizeof(raw_report)); -#ifdef GPIO_EXTI_GYRO_DRDY +#if L3GD20_USE_DRDY if ((raw_report.status & 0xF) != 0xF) { /* we waited for DRDY, but did not see DRDY on all axes @@ -902,6 +908,8 @@ L3GD20::print_info() { printf("gyro reads: %u\n", _read); perf_print_counter(_sample_perf); + perf_print_counter(_reschedules); + perf_print_counter(_errors); _reports->print_info("report queue"); } |