Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r00c9d70ee1398f0c6db39a011220f830db92cfd3 -r0c3720e7797f056a490cf8dd1880e34ac5ede37c --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 00c9d70ee1398f0c6db39a011220f830db92cfd3) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 0c3720e7797f056a490cf8dd1880e34ac5ede37c) @@ -35,7 +35,8 @@ #define PRESSURES_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) ///< interval (ms/task time) at which the pressures data is published on the CAN bus. #define PUMP_PRESSURE_ZERO 0x309 ///< ADC counts equivalent to 0 PSI for pump in/out pressure sensors. -#define PUMP_PRESSURE_PSI_PER_COUNT 0.06343 ///< PSI per ADC count conversion factor for pump in/out pressure sensors. +#define PUMP_PRESSURE_PSIA_PER_COUNT 0.06343 ///< PSIA per ADC count conversion factor for pump in/out pressure sensors. +#define PUMP_PRESSURE_PSIA_TO_PSI_OFFSET 14.7 ///< Subtract this offset to convert PSIA to PSI. /// Defined states for the pressures monitor state machine. typedef enum PresOccl_States @@ -158,10 +159,10 @@ S32 drainOut = (S32)getIntADCReading( INT_ADC_DRAIN_PUMP_INLET_PRESSURE ); // convert ADC counts to PSI for each sensor - pressures[ PRESSURE_SENSOR_RO_PUMP_INLET ].data = (F32)( roIn - PUMP_PRESSURE_ZERO ) * PUMP_PRESSURE_PSI_PER_COUNT; - pressures[ PRESSURE_SENSOR_RO_PUMP_OUTLET ].data = (F32)( roOut - PUMP_PRESSURE_ZERO ) * PUMP_PRESSURE_PSI_PER_COUNT; - pressures[ PRESSURE_SENSOR_DRAIN_PUMP_INLET ].data = (F32)( drainIn - PUMP_PRESSURE_ZERO ) * PUMP_PRESSURE_PSI_PER_COUNT; - pressures[ PRESSURE_SENSOR_DRAIN_PUMP_OUTLET ].data = (F32)( drainOut - PUMP_PRESSURE_ZERO ) * PUMP_PRESSURE_PSI_PER_COUNT; + pressures[ PRESSURE_SENSOR_RO_PUMP_INLET ].data = (F32)( roIn - PUMP_PRESSURE_ZERO ) * PUMP_PRESSURE_PSIA_PER_COUNT - PUMP_PRESSURE_PSIA_TO_PSI_OFFSET; + pressures[ PRESSURE_SENSOR_RO_PUMP_OUTLET ].data = (F32)( roOut - PUMP_PRESSURE_ZERO ) * PUMP_PRESSURE_PSIA_PER_COUNT - PUMP_PRESSURE_PSIA_TO_PSI_OFFSET; + pressures[ PRESSURE_SENSOR_DRAIN_PUMP_INLET ].data = (F32)( drainIn - PUMP_PRESSURE_ZERO ) * PUMP_PRESSURE_PSIA_PER_COUNT - PUMP_PRESSURE_PSIA_TO_PSI_OFFSET; + pressures[ PRESSURE_SENSOR_DRAIN_PUMP_OUTLET ].data = (F32)( drainOut - PUMP_PRESSURE_ZERO ) * PUMP_PRESSURE_PSIA_PER_COUNT - PUMP_PRESSURE_PSIA_TO_PSI_OFFSET; // TODO - any filtering required???