aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohan Jansen <jnsn.johan@gmail.com>2015-02-10 16:50:45 +0100
committerLorenz Meier <lm@inf.ethz.ch>2015-02-10 17:46:56 +0100
commitc7d0cb6bd72deef810cfe1a16ac7b78810f8036b (patch)
tree77183fea8188501a32b0de05ed1be9248c840896 /src
parent5fae142bbc1dfd5074a7832bb4ec1b14d96b8008 (diff)
downloadpx4-firmware-c7d0cb6bd72deef810cfe1a16ac7b78810f8036b.tar.gz
px4-firmware-c7d0cb6bd72deef810cfe1a16ac7b78810f8036b.tar.bz2
px4-firmware-c7d0cb6bd72deef810cfe1a16ac7b78810f8036b.zip
lsm303d: Fix memory initialization and error_count not set
Diffstat (limited to 'src')
-rw-r--r--src/drivers/lsm303d/lsm303d.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/drivers/lsm303d/lsm303d.cpp b/src/drivers/lsm303d/lsm303d.cpp
index 736ecaa32..f42b31cdf 100644
--- a/src/drivers/lsm303d/lsm303d.cpp
+++ b/src/drivers/lsm303d/lsm303d.cpp
@@ -1589,6 +1589,7 @@ LSM303D::mag_measure()
#pragma pack(pop)
mag_report mag_report;
+ memset(&mag_report, 0, sizeof(mag_report));
/* start the performance counter */
perf_begin(_mag_sample_perf);
@@ -1624,6 +1625,7 @@ LSM303D::mag_measure()
mag_report.z = ((mag_report.z_raw * _mag_range_scale) - _mag_scale.z_offset) * _mag_scale.z_scale;
mag_report.scaling = _mag_range_scale;
mag_report.range_ga = (float)_mag_range_ga;
+ mag_report.error_count = perf_event_count(_bad_registers) + perf_event_count(_bad_values);
// apply user specified rotation
rotate_3f(_rotation, mag_report.x, mag_report.y, mag_report.z);