Browse Source

ms5611: check for all zero in the prom

when SPI CLK fails we get all zero data
sbg
Andrew Tridgell 11 years ago committed by Lorenz Meier
parent
commit
8744aa7536
  1. 7
      src/drivers/ms5611/ms5611_spi.cpp

7
src/drivers/ms5611/ms5611_spi.cpp

@ -236,9 +236,12 @@ MS5611_SPI::_read_prom() @@ -236,9 +236,12 @@ MS5611_SPI::_read_prom()
usleep(3000);
/* read and convert PROM words */
bool all_zero = true;
for (int i = 0; i < 8; i++) {
uint8_t cmd = (ADDR_PROM_SETUP + (i * 2));
_prom.c[i] = _reg16(cmd);
if (_prom.c[i] != 0)
all_zero = false;
//debug("prom[%u]=0x%x", (unsigned)i, (unsigned)_prom.c[i]);
}
@ -247,6 +250,10 @@ MS5611_SPI::_read_prom() @@ -247,6 +250,10 @@ MS5611_SPI::_read_prom()
if (ret != OK) {
debug("crc failed");
}
if (all_zero) {
debug("prom all zero");
ret = -EIO;
}
return ret;
}

Loading…
Cancel
Save