Index: firmware/App/Drivers/PressureSensor.c =================================================================== diff -u -ra014a5b7ce32af7396c85b4124d65a142f1786b2 -r3dc5ec51673ac89383872d7adec04ebae3ea5eb6 --- firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision a014a5b7ce32af7396c85b4124d65a142f1786b2) +++ firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision 3dc5ec51673ac89383872d7adec04ebae3ea5eb6) @@ -104,7 +104,6 @@ static F32 calculateBaroTemperatureC( U32 baroTempCount ); static void checkBaroSensorCoeffsCRC( void ); static F32 getCalibrationAppliedPressure( U08 sensorId, F32 pressure ); -static F32 convertPsiToMmhg( F32 psi ); /*********************************************************************//** * @brief @@ -225,15 +224,28 @@ *************************************************************************/ static F32 convertPressureRdg2mmHg( U16 counts ) { - S16 rdg = (S16)( counts & FPGA_PRESSURE_READING_BITS_MASK ); + S16 rdg = (S16)( counts & FPGA_PRESSURE_READING_BITS_MASK ); F32 presPSI; - F32 mmHg; + F32 minPsi; + F32 maxPsi; - // If the arterial pressure status is normal, convert the counts to pressure in mmHg - presPSI = ( ( (F32)rdg - PRES_SENSORS_ZERO_OFFSET ) *( PRESSURE_MAX_PSI - PRESSURE_MIN_PSI ) / PRES_SENSORS_DIVISOR ) + PRESSURE_MIN_PSI; - mmHg = presPSI * PSI_TO_MMHG; + if ( getTestConfigStatus( TEST_CONFIG_ENABLE_BETA_1_HW ) == TRUE ) + { + // Beta 1 Hardware: 30 PSI + minPsi = -30.0F; + maxPsi = 30.0F; + } + else + { + // Beta 1.9 Hardware: 15 PSI + minPsi = -15.0F; + maxPsi = 15.0F; + } - return mmHg; + presPSI = ( ( (F32)rdg - PRES_SENSORS_ZERO_OFFSET ) * ( maxPsi - minPsi ) / PRES_SENSORS_DIVISOR ) + minPsi; + + return ( presPSI * PSI_TO_MMHG ); + } /*********************************************************************//** @@ -521,33 +533,7 @@ return result; } -/*********************************************************************//** - * @brief - * The convertPsiToMmhg function handles the pressure sensor - * @details \b Inputs: none - * @details \b Outputs: none - * @param psi Pressure value (PSI). - * @return the pressure in mmHg - *************************************************************************/ -static F32 convertPsiToMmhg( F32 psi ) -{ - F32 psiToMmhgConversionFactor; - if ( getTestConfigStatus( TEST_CONFIG_ENABLE_BETA_1_0_HW ) == TRUE ) - { - // Beta 1: 30 PSI - psiToMmhgConversionFactor = ( PRESSURE_MAX_PSI / 30.0F ); - } - else - { - // Beta 1.9: 15 PSI - psiToMmhgConversionFactor = ( PRESSURE_MAX_PSI / 15.0F ); - } - - return ( psi * psiToMmhgConversionFactor ); -} - - /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/