aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/l3gd20
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2013-12-11 14:14:33 +1100
committerLorenz Meier <lm@inf.ethz.ch>2013-12-13 11:19:18 +0100
commit8f90efa312b4bccbacb9e9173e2cba7d7b4bc193 (patch)
treeb714c3e8af200b864b44f7d3e6bc3c6c4841a057 /src/drivers/l3gd20
parente808e015dd84c234f9689daf90aedf0162d7d2f2 (diff)
downloadpx4-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/l3gd20')
-rw-r--r--src/drivers/l3gd20/l3gd20.cpp12
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");
}