Index: firmware/App/Controllers/ConductivitySensors.c =================================================================== diff -u -r2453a1f92978ed1900becfc0dda2cf5a9b8e8d0b -rb0f71f7faa129e67fa5a36629801e4ae6a0173f4 --- firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 2453a1f92978ed1900becfc0dda2cf5a9b8e8d0b) +++ firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision b0f71f7faa129e67fa5a36629801e4ae6a0173f4) @@ -70,7 +70,7 @@ // ********** private function prototypes ********** -static void processCPiCPoSensorRead( U32 sensorId, U32 fgpaRead, U08 fpgaReadCount, U08 fpgaErrorCount ); +static void processCPiCPoSensorRead( U32 sensorId, U32 fgpaRead, U08 fpgaReadCount, U08 fpgaErrorCount, U08 fpgaSensorFault ); static F32 calcCompensatedConductivity( F32 conductivity, F32 temperature); static void calcRORejectionRatio( void ); static F32 getRORejectionRatio( void ); @@ -123,8 +123,8 @@ *************************************************************************/ void execConductivitySensors( void ) { - processCPiCPoSensorRead( CONDUCTIVITYSENSORS_CPI_SENSOR, getFPGACPi(), getFPGACPiReadCount(), getFPGACPiErrorCount() ); - processCPiCPoSensorRead( CONDUCTIVITYSENSORS_CPO_SENSOR, getFPGACPo(), getFPGACPoReadCount(), getFPGACPoErrorCount() ); + processCPiCPoSensorRead( CONDUCTIVITYSENSORS_CPI_SENSOR, getFPGACPi(), getFPGACPiReadCount(), getFPGACPiErrorCount(), getFPGACPiFault() ); + processCPiCPoSensorRead( CONDUCTIVITYSENSORS_CPO_SENSOR, getFPGACPo(), getFPGACPoReadCount(), getFPGACPoErrorCount(), getFPGACPoFault() ); if ( ++conductivityDataPublicationTimerCounter >= getConductivityDataPublishInterval() ) { @@ -281,9 +281,9 @@ * @param fpgaErrorCount FPGA error count * @return none *************************************************************************/ -static void processCPiCPoSensorRead( U32 sensorId, U32 fgpaRead, U08 fpgaReadCount, U08 fpgaErrorCount ) +static void processCPiCPoSensorRead( U32 sensorId, U32 fgpaRead, U08 fpgaReadCount, U08 fpgaErrorCount, U08 fpgaSensorFault ) { - if ( fpgaErrorCount == 0 ) + if ( ( fpgaErrorCount == 0 ) && ( fpgaSensorFault == 0 ) ) { if ( ( readCount[ sensorId ] != fpgaReadCount ) ) { Index: firmware/App/Services/FPGA.c =================================================================== diff -u -r2453a1f92978ed1900becfc0dda2cf5a9b8e8d0b -rb0f71f7faa129e67fa5a36629801e4ae6a0173f4 --- firmware/App/Services/FPGA.c (.../FPGA.c) (revision 2453a1f92978ed1900becfc0dda2cf5a9b8e8d0b) +++ firmware/App/Services/FPGA.c (.../FPGA.c) (revision b0f71f7faa129e67fa5a36629801e4ae6a0173f4) @@ -1348,7 +1348,7 @@ * Outputs : none * @return Last primary cold junction temperature *************************************************************************/ -U16 getFPGAPRimaryColdJunctionTemp ( void ) +U16 getFPGAPRimaryColdJunctionTemp( void ) { return fpgaSensorReadings.fpgaPrimaryHeaterIntJunctionTemp; } @@ -1362,7 +1362,7 @@ * Outputs : none * @return Last trimmer cold junction temperature *************************************************************************/ -U16 getFPGATrimmerColdJunctionTemp ( void ) +U16 getFPGATrimmerColdJunctionTemp( void ) { return fpgaSensorReadings.fpgaTrimmerHeaterIntJunctionTemp; } @@ -1425,59 +1425,84 @@ /************************************************************************* * @brief - * The getFPGACPiReadCount function gets inlet water conductivity sensor - * read count + * The getFPGACPoReadCount function gets CPi conductivity sensor fault * @details + * Inputs : fpgaSensorReadings.fpgaCPiFault + * Outputs : none + * @param none + * @return Latest CPi conductivity sensor fault + *************************************************************************/ +U08 getFPGACPiFault( void ) +{ + return fpgaSensorReadings.fpgaCPiFault; +} + +/************************************************************************* + * @brief + * The getFPGACPiReadCount function gets CPi conductivity sensor read count + * @details * Inputs : fpgaSensorReadings.fpgaCPiReadCnt * Outputs : none * @param none - * @return Last inlet water conductivity sensor read count + * @return Latest CPi conductivity sensor read count *************************************************************************/ -U08 getFPGACPiReadCount ( void ) +U08 getFPGACPiReadCount( void ) { return fpgaSensorReadings.fpgaCPiReadCnt; } /************************************************************************* * @brief - * The getFPGACPiErrorCount function gets inlet water conductivity sensor - * error count + * The getFPGACPiErrorCount function gets CPi conductivity sensor error count * @details * Inputs : fpgaSensorReadings.fpgaCPiErrorCnt * Outputs : none * @param none - * @return Inlet water conductivity sensor read error count + * @return Latest CPi conductivity sensor read error count *************************************************************************/ -U08 getFPGACPiErrorCount ( void ) +U08 getFPGACPiErrorCount( void ) { return fpgaSensorReadings.fpgaCPiErrorCnt; } /************************************************************************* * @brief - * The getFPGACPi function gets inlet water conductivity value + * The getFPGACPi function gets CPi conductivity sensor value * @details * Inputs : fpgaSensorReadings.fpgaCPi * Outputs : none * @param none - * @return Last inlet water conductivity value + * @return Latest CPi conductivity sensor value *************************************************************************/ -U32 getFPGACPi ( void ) +U32 getFPGACPi( void ) { return fpgaSensorReadings.fpgaCPi; } /************************************************************************* * @brief - * The getFPGACPoReadCount function gets outlet water conductivity sensor - * read count + * The getFPGACPoReadCount function gets CPo conductivity sensor fault * @details + * Inputs : fpgaSensorReadings.fpgaCPoFault + * Outputs : none + * @param none + * @return Latest CPo sensor fault + *************************************************************************/ +U08 getFPGACPoFault( void ) +{ + return fpgaSensorReadings.fpgaCPoFault; +} + +/************************************************************************* + * @brief + * The getFPGACPoReadCount function gets CPo conductivity sensor read count + * @details * Inputs : fpgaSensorReadings.fpgaCPoReadCnt * Outputs : none * @param none - * @return Last outlet water conductivity sensor read count + * @return Latest CPo conductivity sensor read count *************************************************************************/ -U08 getFPGACPoReadCount ( void ) +U08 getFPGACPoReadCount( void ) { return fpgaSensorReadings.fpgaCPoReadCnt; } @@ -1490,9 +1515,9 @@ * Inputs : fpgaSensorReadings.fpgaCPoErrorCnt * Outputs : none * @param none - * @return Outlet water conductivity sensor read error count + * @return Latest CPo conductivity sensor read error count *************************************************************************/ -U08 getFPGACPoErrorCount ( void ) +U08 getFPGACPoErrorCount( void ) { return fpgaSensorReadings.fpgaCPoErrorCnt; } @@ -1504,9 +1529,9 @@ * Inputs : fpgaSensorReadings.fpgaCPo * Outputs : none * @param none - * @return Last Outlet water conductivity value + * @return Latest CPo conductivity sensor value *************************************************************************/ -U32 getFPGACPo ( void ) +U32 getFPGACPo( void ) { return fpgaSensorReadings.fpgaCPo; } Index: firmware/App/Services/FPGA.h =================================================================== diff -u -r2453a1f92978ed1900becfc0dda2cf5a9b8e8d0b -rb0f71f7faa129e67fa5a36629801e4ae6a0173f4 --- firmware/App/Services/FPGA.h (.../FPGA.h) (revision 2453a1f92978ed1900becfc0dda2cf5a9b8e8d0b) +++ firmware/App/Services/FPGA.h (.../FPGA.h) (revision b0f71f7faa129e67fa5a36629801e4ae6a0173f4) @@ -75,16 +75,18 @@ U08 getFPGATrimmerHeaterFlags( void ); U08 getFPGATrimmerHeaterReadCount( void ); -U16 getFPGAPRimaryColdJunctionTemp ( void ); -U16 getFPGATrimmerColdJunctionTemp ( void ); +U16 getFPGAPRimaryColdJunctionTemp( void ); +U16 getFPGATrimmerColdJunctionTemp( void ); -U08 getFPGACPiReadCount ( void ); -U08 getFPGACPiErrorCount ( void ); -U32 getFPGACPi ( void ); +U08 getFPGACPiFault( void ); +U08 getFPGACPiReadCount( void ); +U08 getFPGACPiErrorCount( void ); +U32 getFPGACPi( void ); -U08 getFPGACPoReadCount ( void ); -U08 getFPGACPoErrorCount ( void ); -U32 getFPGACPo ( void ); +U08 getFPGACPoFault( void ); +U08 getFPGACPoReadCount( void ); +U08 getFPGACPoErrorCount( void ); +U32 getFPGACPo( void ); void getFPGAAccelAxes( S16 *x, S16 *y, S16 *z ); void getFPGAAccelMaxes( S16 *xm, S16*ym, S16*zm );