Index: firmware/App/Monitors/Pressure.c =================================================================== diff -u -r2205857f59dd884c4af450239381387cfb560c2e -rd8cd7de2f84b26aafc153e2bb665a5058a040bf0 --- firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision 2205857f59dd884c4af450239381387cfb560c2e) +++ firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision d8cd7de2f84b26aafc153e2bb665a5058a040bf0) @@ -140,10 +140,10 @@ pressuresDataPublishInterval.ovInitData = 0; pressuresDataPublishInterval.override = OVERRIDE_RESET; - initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); +// initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); +// initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); +// initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); +// initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); } /*********************************************************************//** @@ -309,7 +309,7 @@ * and publish pressure data. * @details \b Inputs: pressuresState * @details \b Outputs: pressuresState - * @details \b Alarm: ALARM_ID_DD_SOFTWARE_FAULT if invalid pressure state seen + * @details \b Alarm: ALARM_ID_RO_SOFTWARE_FAULT if invalid pressure state * @return none *************************************************************************/ void execPressureSensor( void ) @@ -326,13 +326,13 @@ break; default: -// SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_PRESSURE_INVALID_EXEC_STATE, pressuresState ) -// pressuresState = PRESSURE_INIT_STATE; + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_RO_SOFTWARE_FAULT, SW_FAULT_ID_PRESSURE_INVALID_EXEC_STATE, pressuresState ) + pressuresState = PRESSURE_INIT_STATE; break; } // publish pressure/occlusion data on interval -// publishPressuresData(); + publishPressuresData(); } /*********************************************************************//** @@ -474,26 +474,36 @@ * @details \b Message \b Sent: MSG_ID_RO_PRESSURES_DATA to publish pressure data. * @return none *************************************************************************/ -//static void publishPressuresData( void ) -//{ -// // publish pressure/occlusion data on interval -// if ( ++pressuresDataPublicationTimerCounter >= getU32OverrideValue( &pressuresDataPublishInterval ) ) -// { -// PRESSURE_TEMP_DATA_T data; -// -// data.filteredWaterInletInputPressure = getFilteredPressure( PRESSURE_SENSOR_WATER_INLET_INPUT ); -// data.filteredWaterInletOutputPressure = getFilteredPressure( PRESSURE_SENSOR_WATER_INLET_OUTPUT ); -// data.filteredWaterOutletPressure = getFilteredPressure( PRESSURE_SENSOR_WATER_OUTLET ); -// data.filteredWaterInletInputTemp = getFilteredPressureSensorTemperature( PRESSURE_SENSOR_WATER_INLET_INPUT ); -// data.filteredWaterInletOutputTemp = getFilteredPressureSensorTemperature( PRESSURE_SENSOR_WATER_INLET_OUTPUT ); -// data.filteredWaterOutletTemp = getFilteredPressureSensorTemperature( PRESSURE_SENSOR_WATER_OUTLET ); -// pressuresDataPublicationTimerCounter = 0; -// -// broadcastData( MSG_ID_RO_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_RO_BROADCAST, (U08*)&data, sizeof( PRESSURE_TEMP_DATA_T ) ); -// } -//} +static void publishPressuresData( void ) +{ + // publish pressure/occlusion data on interval + if ( ++pressuresDataPublicationTimerCounter >= getU32OverrideValue( &pressuresDataPublishInterval ) ) + { + PRESSURE_TEMP_DATA_T data; + + data.filteredWaterInletInputPressure = getFilteredPressure( PRESSURE_SENSOR_WATER_INLET_INPUT ); + data.filteredWaterInletOutputPressure = getFilteredPressure( PRESSURE_SENSOR_WATER_INLET_OUTPUT ); + data.filteredWaterOutletPressure = getFilteredPressure( PRESSURE_SENSOR_WATER_OUTLET ); + data.filteredWaterInletInputTemp = getFilteredPressureSensorTemperature( PRESSURE_SENSOR_WATER_INLET_INPUT ); + data.filteredWaterInletOutputTemp = getFilteredPressureSensorTemperature( PRESSURE_SENSOR_WATER_INLET_OUTPUT ); + data.filteredWaterOutletTemp = getFilteredPressureSensorTemperature( PRESSURE_SENSOR_WATER_OUTLET ); + pressuresDataPublicationTimerCounter = 0; + broadcastData( MSG_ID_RO_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_RO_BROADCAST, (U08*)&data, sizeof( PRESSURE_TEMP_DATA_T ) ); + } +} +F32 PressurePRi; ///< Pressure before pressure regulator (M1 PRi) +F32 PressurePRo; ///< Pressure after pressure regulator (M3 PRo) +F32 PressurePC2o; ///< Pressure before inlet conductivity sensor (P8 PC2o) +F32 PressurePPo; ///< Pressure before RO filter (P13 PPo) +F32 PressurePMp; ///< Pressure after RO filter (P17 PMp) +F32 TempPRi; ///< Temperature before pressure regulator (M1 PRi) +F32 TempPRo; ///< Temperature after pressure regulator (M3 PRo) +F32 TempPC2o; ///< Temperature before inlet conductivity sensor (P8 PC2o) +F32 TempPPo; ///< Temperature before RO filter (P13 PPo) +F32 TempPMp; ///< Temperature after RO filter (P17 PMp) + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/