Index: firmware/App/Drivers/PressureSensor.c =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -ra323cf979a9055accab7963a3402ae3e70edf4b6 --- firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision a323cf979a9055accab7963a3402ae3e70edf4b6) @@ -104,6 +104,7 @@ static F32 calculateBaroTemperatureC( U32 baroTempCount ); static void checkBaroSensorCoeffsCRC( void ); static F32 getCalibrationAppliedPressure( U08 sensorId, F32 pressure ); +static F32 convertPsiToMmhg( F32 psi ); /*********************************************************************//** * @brief @@ -520,7 +521,31 @@ return result; } +/*********************************************************************//** + * @brief + * The convertPsiToMmhg function handles the pressure sensor + * @details \b Inputs: flags + * @details \b Outputs: flags handled + * @return next state + *************************************************************************/ +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 *************************************************************************/