Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -r1bae132ac03871b4a1ef4db9b907acf24c08c873 -r74a520858974bcbc9a08a900823d84698e734412 --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 1bae132ac03871b4a1ef4db9b907acf24c08c873) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 74a520858974bcbc9a08a900823d84698e734412) @@ -198,40 +198,40 @@ } // Initialize TPi and TPo constants - for ( i = TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR; i < TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR; i++ ) - { - tempSensors [ i ].gain = PRIMARY_HEATER_EXT_TEMP_SENSORS_GAIN; - tempSensors [ i ].refResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE; - tempSensors [ i ].zeroDegreeResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_0_DEGREE_RESISTANCE; - } + tempSensors [ TEMPSENSORS_INLET_PRIMARY_HEATER ].gain = PRIMARY_HEATER_EXT_TEMP_SENSORS_GAIN; + tempSensors [ TEMPSENSORS_INLET_PRIMARY_HEATER ].refResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE; + tempSensors [ TEMPSENSORS_INLET_PRIMARY_HEATER ].zeroDegreeResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors [ TEMPSENSORS_OUTLET_PRIMARY_HEATER ].gain = PRIMARY_HEATER_EXT_TEMP_SENSORS_GAIN; + tempSensors [ TEMPSENSORS_OUTLET_PRIMARY_HEATER ].refResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE; + tempSensors [ TEMPSENSORS_OUTLET_PRIMARY_HEATER ].zeroDegreeResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_0_DEGREE_RESISTANCE; + // Initialize TD1 and TD2 constants - for ( i = TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR; i < TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR; i++ ) - { - tempSensors [ i ].gain = COND_SENSORS_TEMP_SENSOR_GAIN; - tempSensors [ i ].refResistance = COND_SENSORS_TEMP_SENSOR_REF_RESISTANCE; - tempSensors [ i ].zeroDegreeResistance = COND_SENSORS_TEMP_SENSOR_0_DEGREE_RESISTANCE; - } + tempSensors [ TEMPSENSORS_CONDUCTIVITY_SENSOR_1 ].gain = COND_SENSORS_TEMP_SENSOR_GAIN; + tempSensors [ TEMPSENSORS_CONDUCTIVITY_SENSOR_1 ].refResistance = COND_SENSORS_TEMP_SENSOR_REF_RESISTANCE; + tempSensors [ TEMPSENSORS_CONDUCTIVITY_SENSOR_1 ].zeroDegreeResistance = COND_SENSORS_TEMP_SENSOR_0_DEGREE_RESISTANCE; + tempSensors [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2 ].gain = COND_SENSORS_TEMP_SENSOR_GAIN; + tempSensors [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2 ].refResistance = COND_SENSORS_TEMP_SENSOR_REF_RESISTANCE; + tempSensors [ TEMPSENSORS_CONDUCTIVITY_SENSOR_2 ].zeroDegreeResistance = COND_SENSORS_TEMP_SENSOR_0_DEGREE_RESISTANCE; + // Initialize TRo and TDi constants - for ( i = TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR; i < TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE_TEMP_SENSOR; i++ ) - { - tempSensors [ i ].gain = TRIMMER_HEATER_EXT_TEMP_SENSORS_GAIN; - tempSensors [ i ].refResistance = TRIMMER_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE; - tempSensors [ i ].zeroDegreeResistance = TRIMMER_HEATER_EXT_TEMP_SENSORS_0_DEGREE_RESISTANCE; - } + tempSensors [ TEMPSENSORS_OUTLET_REDUNDANCY ].gain = TRIMMER_HEATER_EXT_TEMP_SENSORS_GAIN; + tempSensors [ TEMPSENSORS_OUTLET_REDUNDANCY ].refResistance = TRIMMER_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE; + tempSensors [ TEMPSENSORS_OUTLET_REDUNDANCY ].zeroDegreeResistance = TRIMMER_HEATER_EXT_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors [ TEMPSENSORS_INLET_DIALYSATE ].gain = TRIMMER_HEATER_EXT_TEMP_SENSORS_GAIN; + tempSensors [ TEMPSENSORS_INLET_DIALYSATE ].refResistance = TRIMMER_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE; + tempSensors [ TEMPSENSORS_INLET_DIALYSATE ].zeroDegreeResistance = TRIMMER_HEATER_EXT_TEMP_SENSORS_0_DEGREE_RESISTANCE; + // Initialize the heaters internal thermocouples constants - for ( i = TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE_TEMP_SENSOR; i < TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION_TEMP_SENSOR; i++ ) - { - tempSensors [ i ].twoTempConversionCoef = HEATERS_INTERNAL_TC_ADC_TO_TEMP_CONVERSION_COEFF; - } + tempSensors [ TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE ].twoTempConversionCoef = HEATERS_INTERNAL_TC_ADC_TO_TEMP_CONVERSION_COEFF; + tempSensors [ TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE ].twoTempConversionCoef = HEATERS_INTERNAL_TC_ADC_TO_TEMP_CONVERSION_COEFF; // Initialize the heaters cold junction constants - for ( i = TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION_TEMP_SENSOR; i < TEMPSENSORS_PRIMARY_HEATER_INTERNAL_TEMP; i++ ) - { - tempSensors [ i ].twoTempConversionCoef = HEATERS_COLD_JUNCTION_ADC_TO_TEMP_CONVERSION_COEFF; - } + tempSensors [ TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION ].twoTempConversionCoef = HEATERS_COLD_JUNCTION_ADC_TO_TEMP_CONVERSION_COEFF; + tempSensors [ TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION ].twoTempConversionCoef = HEATERS_COLD_JUNCTION_ADC_TO_TEMP_CONVERSION_COEFF; + // Initialize the heaters calculated internal temperature sensors. The constants are zero since they will not be used for conversion } @@ -319,7 +319,7 @@ *************************************************************************/ void checkInletWaterTemperature( void ) { - F32 const temperature = getTemperatureValue( TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ); + F32 const temperature = getTemperatureValue( TEMPSENSORS_INLET_PRIMARY_HEATER ); if ( temperature < MIN_WATER_INPUT_TEMPERATURE || temperature > MAX_WATER_INPUT_TEMPERATURE ) { ++inletWaterTempOutOfRangeCounter; @@ -444,13 +444,13 @@ temperature = -1.0; } - if ( TCIndex == TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE_TEMP_SENSOR ) + if ( TCIndex == TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE ) { - tempSensors[ TEMPSENSORS_PRIMARY_HEATER_INTERNAL_TEMP ].temperatureValues.data = temperature; + tempSensors[ TEMPSENSORS_PRIMARY_HEATER_INTERNAL ].temperatureValues.data = temperature; } else { - tempSensors[ TEMPSENSORS_TRIMMER_HEATER_INTERNAL_TEMP ].temperatureValues.data = temperature; + tempSensors[ TEMPSENSORS_TRIMMER_HEATER_INTERNAL ].temperatureValues.data = temperature; } } @@ -494,17 +494,17 @@ U16 adcConv; S16 convertedADC; - if ( sensorIndex == TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE_TEMP_SENSOR || - sensorIndex == TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE_TEMP_SENSOR ) + if ( sensorIndex == TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE || + sensorIndex == TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE ) { // Cast the adc from U32 to U16 and shit it to left by 2 adcConv = ( (U16)adc ) << SHIFT_BITS_BY_2; // Cast from U16 to S16 and shift the bits to right by 2 // so if the sign bit is 1, the sign bit is extended convertedADC = ( (S16)adcConv ) >> SHIFT_BITS_BY_2; } - else if ( sensorIndex == TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION_TEMP_SENSOR || - sensorIndex == TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION_TEMP_SENSOR ) + else if ( sensorIndex == TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION || + sensorIndex == TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION ) { // Cast the adc from U32 to U16 and shift it by 4 adcConv = ( (U16)adc ) << SHIFT_BITS_BY_4; @@ -623,11 +623,11 @@ *************************************************************************/ static TEMPSENSORS_SELF_TEST_STATES_T handleSelfTestADCCheck ( void ) { - processTempSnsrsADCRead ( TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR, getFPGATPiTemp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); - processTempSnsrsADCRead ( TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR, getFPGATPoTemp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); + processTempSnsrsADCRead ( TEMPSENSORS_INLET_PRIMARY_HEATER, getFPGATPiTemp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); + processTempSnsrsADCRead ( TEMPSENSORS_OUTLET_PRIMARY_HEATER, getFPGATPoTemp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); - BOOL const isLessThanZero = tempSensors[ TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ].rawADCReads[0] < 0; - BOOL const isGreaterThanFullScale = tempSensors[ TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ].rawADCReads[0] > TEMP_SENSORS_ADC_MAX_COUNT; + BOOL const isLessThanZero = tempSensors[ TEMPSENSORS_INLET_PRIMARY_HEATER ].rawADCReads[0] < 0; + BOOL const isGreaterThanFullScale = tempSensors[ TEMPSENSORS_INLET_PRIMARY_HEATER ].rawADCReads[0] > TEMP_SENSORS_ADC_MAX_COUNT; if ( isLessThanZero || isGreaterThanFullScale ) { tempSensorsSelfTestResult = SELF_TEST_STATUS_FAILED; @@ -649,8 +649,8 @@ *************************************************************************/ static TEMPSENSORS_SELF_TEST_STATES_T handleSelfTestConsistencyCheck ( void ) { - F32 const tempDiff = fabs(tempSensors[ TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR ].temperatureValues.data - - tempSensors[ TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR ].temperatureValues.data); + F32 const tempDiff = fabs(tempSensors[ TEMPSENSORS_INLET_PRIMARY_HEATER ].temperatureValues.data + - tempSensors[ TEMPSENSORS_OUTLET_PRIMARY_HEATER ].temperatureValues.data); if ( tempDiff > MAX_ALLOWED_TEMP_DELTA_BETWEEN_SENSORS ) { tempSensorsSelfTestResult = SELF_TEST_STATUS_FAILED; SET_ALARM_WITH_1_U32_DATA ( ALARM_ID_TEMPERATURE_SENSORS_INCONSISTENT, TEMPSENSORS_SELF_TEST_CONSISTENCY_CHECK ); @@ -704,26 +704,26 @@ { // Look at the error counter and the specific error flag to make sure the error is a temp sensor // Add a byte array to have bits for each sensor to find out exactly what sensor failed - processTempSnsrsADCRead ( TEMPSENSORS_INLET_PRIMARY_HEATER_TEMP_SENSOR, getFPGATPiTemp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); - processTempSnsrsADCRead ( TEMPSENSORS_OUTLET_PRIMARY_HEATER_TEMP_SENSOR, getFPGATPoTemp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); - processTempSnsrsADCRead ( TEMPSENSORS_CONDUCTIVITY_SENSOR_1_TEMP_SENSOR, getFPGACD1Temp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); - processTempSnsrsADCRead ( TEMPSENSORS_CONDUCTIVITY_SENSOR_2_TEMP_SENSOR, getFPGACD2Temp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); - processTempSnsrsADCRead ( TEMPSENSORS_OUTLET_REDUNDANCY_TEMP_SENSOR, getFPGATHDoTemp(), getFPGATHDoErrorCount(), getFPGATHDoReadCount() ); - processTempSnsrsADCRead ( TEMPSENSORS_INLET_DIALYSATE_TEMP_SENSOR, getFPGATDiTemp(), getFPGATDiErrorCount(), getFPGATDiReadCount() ); + processTempSnsrsADCRead ( TEMPSENSORS_INLET_PRIMARY_HEATER, getFPGATPiTemp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); + processTempSnsrsADCRead ( TEMPSENSORS_OUTLET_PRIMARY_HEATER, getFPGATPoTemp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); + processTempSnsrsADCRead ( TEMPSENSORS_CONDUCTIVITY_SENSOR_1, getFPGACD1Temp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); + processTempSnsrsADCRead ( TEMPSENSORS_CONDUCTIVITY_SENSOR_2, getFPGACD2Temp(), getFPGARTDErrorCount(), getFPGARTDReadCount() ); + processTempSnsrsADCRead ( TEMPSENSORS_OUTLET_REDUNDANCY, getFPGATHDoTemp(), getFPGATHDoErrorCount(), getFPGATHDoReadCount() ); + processTempSnsrsADCRead ( TEMPSENSORS_INLET_DIALYSATE, getFPGATDiTemp(), getFPGATDiErrorCount(), getFPGATDiReadCount() ); - processHtrsTempSnsrsADCRead ( TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE_TEMP_SENSOR, getFPGAPrimaryHeaterTemp(), getFPGAPrimaryHeaterFlags(), getFPGAPrimaryHeaterReadCount() ); - processHtrsTempSnsrsADCRead ( TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE_TEMP_SENSOR, getFPGATrimmerHeaterTemp(), getFPGATrimmerHeaterFlags(), getFPGATrimmerHeaterReadCount() ); - processHtrsTempSnsrsADCRead ( TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION_TEMP_SENSOR, getFPGAPRimaryColdJunctionTemp(), getFPGATrimmerHeaterFlags(), getFPGAPrimaryHeaterReadCount() ); - processHtrsTempSnsrsADCRead ( TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION_TEMP_SENSOR, getFPGATrimmerColdJunctionTemp(), getFPGATrimmerHeaterFlags(), getFPGATrimmerHeaterReadCount() ); + processHtrsTempSnsrsADCRead ( TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE, getFPGAPrimaryHeaterTemp(), getFPGAPrimaryHeaterFlags(), getFPGAPrimaryHeaterReadCount() ); + processHtrsTempSnsrsADCRead ( TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE, getFPGATrimmerHeaterTemp(), getFPGATrimmerHeaterFlags(), getFPGATrimmerHeaterReadCount() ); + processHtrsTempSnsrsADCRead ( TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION, getFPGAPRimaryColdJunctionTemp(), getFPGATrimmerHeaterFlags(), getFPGAPrimaryHeaterReadCount() ); + processHtrsTempSnsrsADCRead ( TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION, getFPGATrimmerColdJunctionTemp(), getFPGATrimmerHeaterFlags(), getFPGATrimmerHeaterReadCount() ); // Check if time has elapsed to calculate the internal temperature of the heaters if ( internalHeatersConversionTimer >= HEATERS_INTERNAL_TEMPERTURE_CALCULATION_INTERVAL ) { - getHeaterInternalTemp ( TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE_TEMP_SENSOR, - TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION_TEMP_SENSOR); + getHeaterInternalTemp ( TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE, + TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION); - getHeaterInternalTemp ( TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE_TEMP_SENSOR, - TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION_TEMP_SENSOR); + getHeaterInternalTemp ( TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE, + TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION); internalHeatersConversionTimer = 0; } else