From e6cfbe24915c82a965509b7e539584ece716e660 Mon Sep 17 00:00:00 2001 From: Riccardo Rizzo Date: Mon, 27 Jan 2020 16:09:32 +0100 Subject: [PATCH] added check to correct i2C reading Added wait for ONE_SHOT bit to be cleared by the hardware for correct read of measurement --- src/BARO.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BARO.cpp b/src/BARO.cpp index e3eb610..f344cc3 100644 --- a/src/BARO.cpp +++ b/src/BARO.cpp @@ -57,8 +57,8 @@ float LPS22HBClass::readPressure(int units) // trigger one shot i2cWrite(LPS22HB_CTRL2_REG, 0x01); - // wait for completion - while ((i2cRead(LPS22HB_STATUS_REG) & 0x02) == 0) { + // wait for ONE_SHOT bit to be cleared by the hardware + while ((i2cRead(LPS22HB_CTRL2_REG) & 0x01) != 0) { yield(); }