aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/ms5611
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2013-12-06 20:55:10 +1100
committerLorenz Meier <lm@inf.ethz.ch>2013-12-10 11:01:20 +0100
commit3f0f34a4c786e7b8baccf57b2c22eddd6ee7c97f (patch)
tree5ac04979aa781b06aba1d40cf27367e178c70bc8 /src/drivers/ms5611
parent264ef47197432d2cc1372cabf93c3bd7a52df0aa (diff)
downloadpx4-firmware-3f0f34a4c786e7b8baccf57b2c22eddd6ee7c97f.tar.gz
px4-firmware-3f0f34a4c786e7b8baccf57b2c22eddd6ee7c97f.tar.bz2
px4-firmware-3f0f34a4c786e7b8baccf57b2c22eddd6ee7c97f.zip
ms5611: give cleaner SPI traces
this makes logic traces cleaner by zeroing extra bytes written
Diffstat (limited to 'src/drivers/ms5611')
-rw-r--r--src/drivers/ms5611/ms5611_spi.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/drivers/ms5611/ms5611_spi.cpp b/src/drivers/ms5611/ms5611_spi.cpp
index e547c913b..85504b0bd 100644
--- a/src/drivers/ms5611/ms5611_spi.cpp
+++ b/src/drivers/ms5611/ms5611_spi.cpp
@@ -167,10 +167,9 @@ MS5611_SPI::read(unsigned offset, void *data, unsigned count)
uint8_t b[4];
uint32_t w;
} *cvt = (_cvt *)data;
- uint8_t buf[4];
+ uint8_t buf[4] = { 0 | DIR_WRITE, 0, 0, 0 };
/* read the most recent measurement */
- buf[0] = 0 | DIR_WRITE;
int ret = _transfer(&buf[0], &buf[0], sizeof(buf));
if (ret == OK) {
@@ -241,18 +240,21 @@ MS5611_SPI::_read_prom()
for (int i = 0; i < 8; i++) {
uint8_t cmd = (ADDR_PROM_SETUP + (i * 2));
_prom.c[i] = _reg16(cmd);
+ //debug("prom[%u]=0x%x", (unsigned)i, (unsigned)_prom.c[i]);
}
/* calculate CRC and return success/failure accordingly */
- return ms5611::crc4(&_prom.c[0]) ? OK : -EIO;
+ int ret = ms5611::crc4(&_prom.c[0]) ? OK : -EIO;
+ if (ret != OK) {
+ debug("crc failed");
+ }
+ return ret;
}
uint16_t
MS5611_SPI::_reg16(unsigned reg)
{
- uint8_t cmd[3];
-
- cmd[0] = reg | DIR_READ;
+ uint8_t cmd[3] = { (uint8_t)(reg | DIR_READ), 0, 0 };
_transfer(cmd, cmd, sizeof(cmd));