Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r9a53a029929eb0fc6dadc155fdb1e855331b5b0e -r2e21405574597474db0ebae86cdd7fa2d517f71c --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 9a53a029929eb0fc6dadc155fdb1e855331b5b0e) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 2e21405574597474db0ebae86cdd7fa2d517f71c) @@ -8,7 +8,7 @@ * @file Pressures.c * * @author (last) Dara Navaei -* @date (last) 06-Jul-2022 +* @date (last) 21-Sep-2022 * * @author (original) Sean * @date (original) 04-Apr-2020 @@ -435,12 +435,12 @@ static F32 calculateBaroPressure( U32 adcSum ) { S32 tempDiff = getBaroSensorTemperatureDiff(); - U64 tempOffset = ( baroConvConsts.pressureOffsetTempCoeff * tempDiff ) / TWO_TO_POWER_OF_6; - U64 presOffset = baroConvConsts.pressureOffset * TWO_TO_POWER_OF_17; - U64 offset = presOffset + tempOffset; - U64 tempSensitivity = ( baroConvConsts.pressureSensitivityTempCoeff * tempDiff ) / TWO_TO_POWER_OF_7; - U64 presSensitivity = baroConvConsts.pressureSensitivity * TWO_TO_POWER_OF_16; - U64 sensitivity = tempSensitivity + presSensitivity; + S64 tempOffset = ( baroConvConsts.pressureOffsetTempCoeff * tempDiff ) / TWO_TO_POWER_OF_6; + S64 presOffset = baroConvConsts.pressureOffset * TWO_TO_POWER_OF_17; + S64 offset = presOffset + tempOffset; + S64 tempSensitivity = ( baroConvConsts.pressureSensitivityTempCoeff * tempDiff ) / TWO_TO_POWER_OF_7; + S64 presSensitivity = baroConvConsts.pressureSensitivity * TWO_TO_POWER_OF_16; + S64 sensitivity = tempSensitivity + presSensitivity; S32 pres = (S32)( ( ( adcSum * sensitivity ) / TWO_TO_POWER_OF_21 ) - offset ) / TWO_TO_POWER_OF_15; F32 presPSI = ( (F32)pres / (F32)( COUNTS_TO_MILLI_BAR * ONE_BAR_TO_MILLI_BAR ) ) * ONE_BAR_TO_PSI_CONVERSION;