aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/i2ccmds.h1
-rw-r--r--src/sensor_ldc1612.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/i2ccmds.h b/src/i2ccmds.h
index 5e54b454..55c97b6b 100644
--- a/src/i2ccmds.h
+++ b/src/i2ccmds.h
@@ -26,5 +26,6 @@ void i2cdev_set_software_bus(struct i2cdev_s *i2c, struct i2c_software *is);
int i2c_dev_read(struct i2cdev_s *i2c, uint8_t reg_len, uint8_t *reg
, uint8_t read_len, uint8_t *read);
int i2c_dev_write(struct i2cdev_s *i2c, uint8_t write_len, uint8_t *data);
+void i2c_shutdown_on_err(int ret);
#endif
diff --git a/src/sensor_ldc1612.c b/src/sensor_ldc1612.c
index 28c0bed5..8b67884f 100644
--- a/src/sensor_ldc1612.c
+++ b/src/sensor_ldc1612.c
@@ -146,7 +146,8 @@ check_home(struct ldc1612 *ld, uint32_t data)
static void
read_reg(struct ldc1612 *ld, uint8_t reg, uint8_t *res)
{
- i2c_dev_read(ld->i2c, sizeof(reg), &reg, 2, res);
+ int ret = i2c_dev_read(ld->i2c, sizeof(reg), &reg, 2, res);
+ i2c_shutdown_on_err(ret);
}
// Read the status register on the ldc1612