Index: firmware/App/Drivers/PressureSensor.c =================================================================== diff -u -r61456322255a686365146e88f79ffc61d00edb6c -rdb56d5a680ef1137cbeaad239e558f04e0be5b8d --- firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision 61456322255a686365146e88f79ffc61d00edb6c) +++ firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision db56d5a680ef1137cbeaad239e558f04e0be5b8d) @@ -15,7 +15,8 @@ * ***************************************************************************/ -#include "FpgaTD.h" +#include "FpgaTD.h" +#include "PressureCommon.h" #include "PressureSensor.h" /** @@ -25,21 +26,7 @@ // ********** private definitions ********** -#define KPA_TO_MMHG ( 7.50062F ) ///< Conversion factor for converting kPa to mmHg. -#define PRESSURE_FS ( 80.0F ) ///< Pressure sensor full scale percentage. -#define PRESSURE_ZERO ( 0.0F ) ///< Pressure sensor zero value. -#define PRESSURE_FS_RATIO ( 0.9F ) ///< Pressure sensor full scale ratio. -#define PRESSURE_ZERO_RATIO ( 0.1F ) ///< Pressure sensor zero ratio. -#define PRESSURE_DIVIDER ( 8388608.0F ) ///< Pressure sensor divider. - -/// Scaler value for converting pressure readings to kPa. -#define PRESSURE_SCALER ( ( PRESSURE_FS - PRESSURE_ZERO ) / \ - ( PRESSURE_FS_RATIO - PRESSURE_ZERO_RATIO ) ) - -#define PRESSURE_TEMP_DIVIDER ( 65536.0F ) ///< Pressure sensor temperature divider. -#define PRESSURE_TEMP_OFFSET ( 25.0F ) ///< Pressure sensor temperature offset. - // ********** private data ********** static OVERRIDE_F32_T currentPressureReadings[ NUM_OF_PRESSURE_SENSORS ]; ///< Current pressure sensor pressure readings (overrideable). @@ -81,18 +68,13 @@ *************************************************************************/ void readPressureSensors( void ) { - F32 pressure_kPa; + // Convert raw pressures to mmHg + currentPressureReadings[ PRESSURE_SENSOR_ARTERIAL ].data = convertPressureReading2mmHg( getPBAPressure() );; + currentPressureReadings[ PRESSURE_SENSOR_VENOUS ].data = convertPressureReading2mmHg( getPBOPressure() ); - // Convert raw pressures to kPa and then to mmHg - pressure_kPa = ( ( (F32)getPBAPressure() / PRESSURE_DIVIDER ) - PRESSURE_ZERO_RATIO ) * PRESSURE_SCALER; - currentPressureReadings[ PRESSURE_SENSOR_ARTERIAL ].data = pressure_kPa * KPA_TO_MMHG; - - pressure_kPa = ( ( (F32)getPBOPressure() / PRESSURE_DIVIDER ) - PRESSURE_ZERO_RATIO ) * PRESSURE_SCALER; - currentPressureReadings[ PRESSURE_SENSOR_VENOUS ].data = pressure_kPa * KPA_TO_MMHG; - // Convert raw pressure sensor temperatures to deg C - currentPresTempReadings[ PRESSURE_SENSOR_ARTERIAL ].data = ( (F32)getPBATemperature() / PRESSURE_TEMP_DIVIDER ) + PRESSURE_TEMP_OFFSET; - currentPresTempReadings[ PRESSURE_SENSOR_VENOUS ].data = ( (F32)getPBOTemperature() / PRESSURE_TEMP_DIVIDER ) + PRESSURE_TEMP_OFFSET; + currentPresTempReadings[ PRESSURE_SENSOR_ARTERIAL ].data = convertPressureTempReading2DegC( getPBATemperature() ); + currentPresTempReadings[ PRESSURE_SENSOR_VENOUS ].data = convertPressureTempReading2DegC( getPBOTemperature() ); // Monitor pressure sensor health checkPressureSensors();