Index: firmware/App/Drivers/PressureSensor.c =================================================================== diff -u -r72ae21d8343d3a2b07a47452ff48549e25f876df -r69e32c52c41cfc8073a7eb59408fb30e6ac40f86 --- firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision 72ae21d8343d3a2b07a47452ff48549e25f876df) +++ firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision 69e32c52c41cfc8073a7eb59408fb30e6ac40f86) @@ -109,14 +109,23 @@ currentPressureReadings[ P13_PRES ].data = convertPressureReading( getFPGAP13RawPressure(), PRES_MIN_PSI, PRES_MAX_PSI ); currentPressureReadings[ P17_PRES ].data = convertPressureReading( getFPGAP17RawPressure(), PRES_MIN_PSI, PRES_MAX_PSI ); currentPressureReadings[ X1_PRES ].data = convertPressureReading( getFPGAX1RawPressure(), PRES_MIN_PSI, PRES_MAX_PSI ); + currentPressureReadings[ X2_PRES ].data = convertPressureReading( getFPGAX2RawPressure(), PRES_MIN_PSI, PRES_MAX_PSI ); + currentPressureReadings[ X3_PRES ].data = convertPressureReading( getFPGAX3RawPressure(), PRES_MIN_PSI, PRES_MAX_PSI ); + currentPressureReadings[ X4_PRES ].data = convertPressureReading( getFPGAX4RawPressure(), PRES_MIN_PSI, PRES_MAX_PSI ); + currentPressureReadings[ X5_PRES ].data = convertPressureReading( getFPGAX5RawPressure(), PRES_MIN_PSI, PRES_MAX_PSI ); + // Update and convert raw pressure sensor temperatures to deg C currentPresTempReadings[ M1_PRES ].data = convertPressureTempReading2DegC( getFPGAM1RawTemperature() ); currentPresTempReadings[ M3_PRES ].data = convertPressureTempReading2DegC( getFPGAM3RawTemperature() ); currentPresTempReadings[ P8_PRES ].data = convertPressureTempReading2DegC( getFPGAP8RawTemperature() ); currentPresTempReadings[ P13_PRES ].data = convertPressureTempReading2DegC( getFPGAP13RawTemperature() ); currentPresTempReadings[ P17_PRES ].data = convertPressureTempReading2DegC( getFPGAP17RawTemperature() ); currentPresTempReadings[ X1_PRES ].data = convertPressureTempReading2DegC( getFPGAX1RawTemperature() ); + currentPresTempReadings[ X2_PRES ].data = convertPressureTempReading2DegC( getFPGAX2RawTemperature() ); + currentPresTempReadings[ X3_PRES ].data = convertPressureTempReading2DegC( getFPGAX3RawTemperature() ); + currentPresTempReadings[ X4_PRES ].data = convertPressureTempReading2DegC( getFPGAX4RawTemperature() ); + currentPresTempReadings[ X5_PRES ].data = convertPressureTempReading2DegC( getFPGAX5RawTemperature() ); // Update read and error counters for each pressure sensor lastPressureReadCounter[ M1_PRES ].data = (U32)getFPGAM1ReadCount(); @@ -125,13 +134,21 @@ lastPressureReadCounter[ P13_PRES ].data = (U32)getFPGAP13ReadCount(); lastPressureReadCounter[ P17_PRES ].data = (U32)getFPGAP17ReadCount(); lastPressureReadCounter[ X1_PRES ].data = (U32)getFPGAX1ReadCount(); + lastPressureReadCounter[ X2_PRES ].data = (U32)getFPGAX2ReadCount(); + lastPressureReadCounter[ X3_PRES ].data = (U32)getFPGAX3ReadCount(); + lastPressureReadCounter[ X4_PRES ].data = (U32)getFPGAX4ReadCount(); + lastPressureReadCounter[ X5_PRES ].data = (U32)getFPGAX5ReadCount(); lastPressureErrorCounter[ M1_PRES ].data = (U32)getFPGAM1ErrorCount(); lastPressureErrorCounter[ M3_PRES ].data = (U32)getFPGAM3ErrorCount(); lastPressureErrorCounter[ P8_PRES ].data = (U32)getFPGAP8ErrorCount(); lastPressureErrorCounter[ P13_PRES ].data = (U32)getFPGAP13ErrorCount(); lastPressureErrorCounter[ P17_PRES ].data = (U32)getFPGAP17ErrorCount(); lastPressureErrorCounter[ X1_PRES ].data = (U32)getFPGAX1ErrorCount(); + lastPressureErrorCounter[ X2_PRES ].data = (U32)getFPGAX2ErrorCount(); + lastPressureErrorCounter[ X3_PRES ].data = (U32)getFPGAX3ErrorCount(); + lastPressureErrorCounter[ X4_PRES ].data = (U32)getFPGAX4ErrorCount(); + lastPressureErrorCounter[ X5_PRES ].data = (U32)getFPGAX5ErrorCount(); // // Monitor pressure sensor health // checkPressureSensors(); Index: firmware/App/Drivers/PressureSensor.h =================================================================== diff -u -r3241c6b7f66889b6443e377ab1f5ecf2cedd2602 -r69e32c52c41cfc8073a7eb59408fb30e6ac40f86 --- firmware/App/Drivers/PressureSensor.h (.../PressureSensor.h) (revision 3241c6b7f66889b6443e377ab1f5ecf2cedd2602) +++ firmware/App/Drivers/PressureSensor.h (.../PressureSensor.h) (revision 69e32c52c41cfc8073a7eb59408fb30e6ac40f86) @@ -42,6 +42,10 @@ P13_PRES, ///< Pressure before RO filter P17_PRES, ///< Pressure after RO filter X1_PRES, ///< Pressure before RO pump + X2_PRES, ///< Pressure RO Concentrate + X3_PRES, ///< Pressure after P32, concentrate drop + X4_PRES, ///< Pressure drain drop + X5_PRES, ///< TBD NUM_OF_PRESSURE_SENSORS ///< Number of pressure sensors } PRESSURE_SENSORS_T; Index: firmware/App/Monitors/Pressure.c =================================================================== diff -u -r72ae21d8343d3a2b07a47452ff48549e25f876df -r69e32c52c41cfc8073a7eb59408fb30e6ac40f86 --- firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision 72ae21d8343d3a2b07a47452ff48549e25f876df) +++ firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision 69e32c52c41cfc8073a7eb59408fb30e6ac40f86) @@ -486,16 +486,22 @@ data.p13Pressure = getFilteredPressure( P13_PRES ); data.p17Pressure = getFilteredPressure( P17_PRES ); data.x1Pressure = getFilteredPressure( X1_PRES ); + data.x2Pressure = getFilteredPressure( X2_PRES ); + data.x3Pressure = getFilteredPressure( X3_PRES ); + data.x4Pressure = getFilteredPressure( X4_PRES ); data.m1Temp = getFilteredPressureSensorTemperature( M1_PRES ); data.m3Temp = getFilteredPressureSensorTemperature( M3_PRES ); data.p8Temp = getFilteredPressureSensorTemperature( P8_PRES ); data.p13Temp = getFilteredPressureSensorTemperature( P13_PRES ); data.p17Temp = getFilteredPressureSensorTemperature( P17_PRES ); data.x1Temp = getFilteredPressureSensorTemperature( X1_PRES ); + data.x2Temp = getFilteredPressureSensorTemperature( X2_PRES ); + data.x3Temp = getFilteredPressureSensorTemperature( X3_PRES ); + data.x4Temp = getFilteredPressureSensorTemperature( X4_PRES ); broadcastData( MSG_ID_RO_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_RO_BROADCAST, (U08*)&data, sizeof( PRESSURE_TEMP_DATA_T ) ); - pressuresDataPublicationTimerCounter = 0; + pressuresDataPublicationTimerCounter = 0; } } Index: firmware/App/Monitors/Pressure.h =================================================================== diff -u -r72ae21d8343d3a2b07a47452ff48549e25f876df -r69e32c52c41cfc8073a7eb59408fb30e6ac40f86 --- firmware/App/Monitors/Pressure.h (.../Pressure.h) (revision 72ae21d8343d3a2b07a47452ff48549e25f876df) +++ firmware/App/Monitors/Pressure.h (.../Pressure.h) (revision 69e32c52c41cfc8073a7eb59408fb30e6ac40f86) @@ -41,12 +41,18 @@ F32 p13Pressure; ///< Pressure before RO filter (P13) F32 p17Pressure; ///< Pressure after RO filter (P17) F32 x1Pressure; ///< Pressure before RO pump (X1) + F32 x2Pressure; ///< Pressure RO Concentrate + F32 x3Pressure; ///< Pressure RO Concentrate drop + F32 x4Pressure; ///< Pressure drain drop F32 m1Temp; ///< Temperature before pressure regulator (M1) F32 m3Temp; ///< Temperature after pressure regulator (M3) F32 p8Temp; ///< Temperature before inlet conductivity sensor (P8) F32 p13Temp; ///< Temperature before RO filter (P13) F32 p17Temp; ///< Temperature after RO filter (P17) F32 x1Temp; ///< Temperature before RO pump (X1) + F32 x2Temp; ///< Temperature RO Concentrate + F32 x3Temp; ///< Temperature RO Concentrate drop + F32 x4Temp; ///< Temperature drain drop } PRESSURE_TEMP_DATA_T; // ********** public function prototypes ********** Index: firmware/App/Services/FpgaRO.c =================================================================== diff -u -r3241c6b7f66889b6443e377ab1f5ecf2cedd2602 -r69e32c52c41cfc8073a7eb59408fb30e6ac40f86 --- firmware/App/Services/FpgaRO.c (.../FpgaRO.c) (revision 3241c6b7f66889b6443e377ab1f5ecf2cedd2602) +++ firmware/App/Services/FpgaRO.c (.../FpgaRO.c) (revision 69e32c52c41cfc8073a7eb59408fb30e6ac40f86) @@ -772,6 +772,198 @@ /*********************************************************************//** * @brief + * The getFPGAX2RawPressure function gets the X2 pressure reading. + * @details \b Inputs: fpgaSensorReadings.pressureX2 + * @details \b Outputs: none + * @return X2 pressure + *************************************************************************/ +S16 getFPGAX2RawPressure( void ) +{ + return fpgaSensorReadings.pressureX2; +} + +/*********************************************************************//** + * @brief + * The getFPGAX2RawTemperature function gets the X2 sensor temperature. + * @details \b Inputs: fpgaSensorReadings.temperatureX2 + * @details \b Outputs: none + * @return X2 sensor temperature + *************************************************************************/ +S16 getFPGAX2RawTemperature( void ) +{ + return fpgaSensorReadings.temperatureX2; +} + +/*********************************************************************//** + * @brief + * The getFPGAX1ReadCount function gets the X2 sensor read count. + * @details \b Inputs: fpgaSensorReadings.readCountX2 + * @details \b Outputs: none + * @return X2 sensor read count + *************************************************************************/ +U08 getFPGAX2ReadCount( void ) +{ + return fpgaSensorReadings.readCountX2; +} + +/*********************************************************************//** + * @brief + * The getFPGAX2ErrorCount function gets the X2 sensor error count. + * @details \b Inputs: fpgaSensorReadings.errorCountX2 + * @details \b Outputs: none + * @return X2 sensor error count + *************************************************************************/ +U08 getFPGAX2ErrorCount( void ) +{ + return fpgaSensorReadings.errorCountX2; +} + +/*********************************************************************//** + * @brief + * The getFPGAX3RawPressure function gets the X3 pressure reading. + * @details \b Inputs: fpgaSensorReadings.pressureX3 + * @details \b Outputs: none + * @return X3 pressure + *************************************************************************/ +S16 getFPGAX3RawPressure( void ) +{ + return fpgaSensorReadings.pressureX3; +} + +/*********************************************************************//** + * @brief + * The getFPGAX3RawTemperature function gets the X3 sensor temperature. + * @details \b Inputs: fpgaSensorReadings.temperatureX3 + * @details \b Outputs: none + * @return X3 sensor temperature + *************************************************************************/ +S16 getFPGAX3RawTemperature( void ) +{ + return fpgaSensorReadings.temperatureX3; +} + +/*********************************************************************//** + * @brief + * The getFPGAX3ReadCount function gets the X3 sensor read count. + * @details \b Inputs: fpgaSensorReadings.readCountX3 + * @details \b Outputs: none + * @return X3 sensor read count + *************************************************************************/ +U08 getFPGAX3ReadCount( void ) +{ + return fpgaSensorReadings.readCountX3; +} + +/*********************************************************************//** + * @brief + * The getFPGAX3ErrorCount function gets the X3 sensor error count. + * @details \b Inputs: fpgaSensorReadings.errorCountX3 + * @details \b Outputs: none + * @return X3 sensor error count + *************************************************************************/ +U08 getFPGAX3ErrorCount( void ) +{ + return fpgaSensorReadings.errorCountX3; +} + +/*********************************************************************//** + * @brief + * The getFPGAX4RawPressure function gets the X4 pressure reading. + * @details \b Inputs: fpgaSensorReadings.pressureX4 + * @details \b Outputs: none + * @return X4 pressure + *************************************************************************/ +S16 getFPGAX4RawPressure( void ) +{ + return fpgaSensorReadings.pressureX4; +} + +/*********************************************************************//** + * @brief + * The getFPGAX4RawTemperature function gets the X4 sensor temperature. + * @details \b Inputs: fpgaSensorReadings.temperatureX4 + * @details \b Outputs: none + * @return X4 sensor temperature + *************************************************************************/ +S16 getFPGAX4RawTemperature( void ) +{ + return fpgaSensorReadings.temperatureX4; +} + +/*********************************************************************//** + * @brief + * The getFPGAX4ReadCount function gets the X4 sensor read count. + * @details \b Inputs: fpgaSensorReadings.readCountX4 + * @details \b Outputs: none + * @return X4 sensor read count + *************************************************************************/ +U08 getFPGAX4ReadCount( void ) +{ + return fpgaSensorReadings.readCountX4; +} + +/*********************************************************************//** + * @brief + * The getFPGAX4ErrorCount function gets the X4 sensor error count. + * @details \b Inputs: fpgaSensorReadings.errorCountX4 + * @details \b Outputs: none + * @return X4 sensor error count + *************************************************************************/ +U08 getFPGAX4ErrorCount( void ) +{ + return fpgaSensorReadings.errorCountX4; +} + +/*********************************************************************//** + * @brief + * The getFPGAX5RawPressure function gets the X5 pressure reading. + * @details \b Inputs: fpgaSensorReadings.pressureX5 + * @details \b Outputs: none + * @return X5 pressure + *************************************************************************/ +S16 getFPGAX5RawPressure( void ) +{ + return fpgaSensorReadings.pressureX5; +} + +/*********************************************************************//** + * @brief + * The getFPGAX5RawTemperature function gets the X5 sensor temperature. + * @details \b Inputs: fpgaSensorReadings.temperatureX5 + * @details \b Outputs: none + * @return X5 sensor temperature + *************************************************************************/ +S16 getFPGAX5RawTemperature( void ) +{ + return fpgaSensorReadings.temperatureX5; +} + +/*********************************************************************//** + * @brief + * The getFPGAX5ReadCount function gets the X5 sensor read count. + * @details \b Inputs: fpgaSensorReadings.readCountX5 + * @details \b Outputs: none + * @return X5 sensor read count + *************************************************************************/ +U08 getFPGAX5ReadCount( void ) +{ + return fpgaSensorReadings.readCountX5; +} + +/*********************************************************************//** + * @brief + * The getFPGAX5ErrorCount function gets the X5 sensor error count. + * @details \b Inputs: fpgaSensorReadings.errorCountX5 + * @details \b Outputs: none + * @return X5 sensor error count + *************************************************************************/ +U08 getFPGAX5ErrorCount( void ) +{ + return fpgaSensorReadings.errorCountX5; +} + +/*********************************************************************//** + * @brief * The getFPGAP23Temperature function gets the TRO1 temperature sensor reading. * @details \b Inputs: fpgaSensorReadings.tempP23 * @details \b Outputs: none