Index: firmware/App/Drivers/TemperatureSensors.c =================================================================== diff -u -ra1907314deab28c20945cd41d2d167924daf2c08 -r7b9a8c0cb9986368e1e38fcdb9daaf3cf707dfd2 --- firmware/App/Drivers/TemperatureSensors.c (.../TemperatureSensors.c) (revision a1907314deab28c20945cd41d2d167924daf2c08) +++ firmware/App/Drivers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 7b9a8c0cb9986368e1e38fcdb9daaf3cf707dfd2) @@ -18,13 +18,15 @@ #include // For temperature calculation #include // For memset() +#include "Conductivity.h" +#include "Flow.h" #include "FpgaRO.h" #include "MessageSupport.h" #include "Messaging.h" //#include "NVDataMgmt.h" #include "OperationModes.h" #include "PersistentAlarm.h" -#include "TemperatureSensors.h" +#include "Temperature.h" #include "Timers.h" #include "Utilities.h" @@ -117,25 +119,25 @@ //benignPolynomialCalRecord( &tempSensorCalRecord.tempSensors[ i ] ); } - // Initialize TRO1 and TRO2 sensors + // Initialize P23 and P22 temperature sensors #ifdef USE_PT_100_SENSORS - tempSensors[ TEMP_SENSOR_TRO1 ].gain = PT100_TEMP_SENSORS_GAIN; - tempSensors[ TEMP_SENSOR_TRO1 ].refResistance = PT100_TEMP_SENSORS_REF_RESISTANCE; - tempSensors[ TEMP_SENSOR_TRO1 ].zeroDegreeResistance = PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE; - tempSensors[ TEMP_SENSOR_TRO1 ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; - tempSensors[ TEMP_SENSOR_TRO2 ].gain = PT100_TEMP_SENSORS_GAIN; - tempSensors[ TEMP_SENSOR_TRO2 ].refResistance = PT100_TEMP_SENSORS_REF_RESISTANCE; - tempSensors[ TEMP_SENSOR_TRO2 ].zeroDegreeResistance = PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE; - tempSensors[ TEMP_SENSOR_TRO2 ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; + tempSensors[ P23_TEMP ].gain = PT100_TEMP_SENSORS_GAIN; + tempSensors[ P23_TEMP ].refResistance = PT100_TEMP_SENSORS_REF_RESISTANCE; + tempSensors[ P23_TEMP ].zeroDegreeResistance = PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors[ P23_TEMP ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; + tempSensors[ P22_TEMP ].gain = PT100_TEMP_SENSORS_GAIN; + tempSensors[ P22_TEMP ].refResistance = PT100_TEMP_SENSORS_REF_RESISTANCE; + tempSensors[ P22_TEMP ].zeroDegreeResistance = PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors[ P22_TEMP ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; #else - tempSensors[ TEMP_SENSOR_TRO1 ].gain = PRIMARY_HEATER_TEMP_SENSORS_GAIN; - tempSensors[ TEMP_SENSOR_TRO1 ].refResistance = PRIMARY_HEATER_TEMP_SENSORS_REF_RESISTANCE; - tempSensors[ TEMP_SENSOR_TRO1 ].zeroDegreeResistance = PRIMARY_HEATER_TEMP_SENSORS_0_DEGREE_RESISTANCE; - tempSensors[ TEMP_SENSOR_TRO1 ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; - tempSensors[ TEMP_SENSOR_TRO2 ].gain = PRIMARY_HEATER_TEMP_SENSORS_GAIN; - tempSensors[ TEMP_SENSOR_TRO2 ].refResistance = PRIMARY_HEATER_TEMP_SENSORS_REF_RESISTANCE; - tempSensors[ TEMP_SENSOR_TRO2 ].zeroDegreeResistance = PRIMARY_HEATER_TEMP_SENSORS_0_DEGREE_RESISTANCE; - tempSensors[ TEMP_SENSOR_TRO2 ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; + tempSensors[ P23_TEMP ].gain = PRIMARY_HEATER_TEMP_SENSORS_GAIN; + tempSensors[ P23_TEMP ].refResistance = PRIMARY_HEATER_TEMP_SENSORS_REF_RESISTANCE; + tempSensors[ P23_TEMP ].zeroDegreeResistance = PRIMARY_HEATER_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors[ P23_TEMP ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; + tempSensors[ P22_TEMP ].gain = PRIMARY_HEATER_TEMP_SENSORS_GAIN; + tempSensors[ P22_TEMP ].refResistance = PRIMARY_HEATER_TEMP_SENSORS_REF_RESISTANCE; + tempSensors[ P22_TEMP ].zeroDegreeResistance = PRIMARY_HEATER_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors[ P22_TEMP ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; #endif // Board temperature sensors conversion coefficient @@ -190,8 +192,8 @@ // lastTemperatureReadCounter.data = (U32)getFPGARTDReadCount(); //Read temperature sensors - processTempSnsrsADCRead( TEMP_SENSOR_TRO1, getFPGATro1Temperature() ); - processTempSnsrsADCRead( TEMP_SENSOR_TRO2, getFPGATro2Temperature() ); + processTempSnsrsADCRead( P23_TEMP, getFPGAP23Temperature() ); + processTempSnsrsADCRead( P22_TEMP, getFPGAP22Temperature() ); // //TODO: Read Board temperature // //processTempSnsrsADCRead( TEMPSENSORS_INTERNAL_COND_TEMP_SENSOR, getFPGACondSnsrInternalTemp() ); @@ -313,26 +315,43 @@ // Different sensors have different ADC to temperature conversion methods switch( sensorIndex ) { - case TEMP_SENSOR_TRO1: - case TEMP_SENSOR_TRO2: + case P23_TEMP: + case P22_TEMP: temperature = getADC2TempConversion( avgADCReads, (U32)tempSensors [ sensorIndex ].gain, (U32)tempSensors [ sensorIndex ].refResistance, (U32)tempSensors [ sensorIndex ].zeroDegreeResistance, tempSensors [ sensorIndex ].conversionCoeff ); break; + case P10_TEMP: + temperature = getConductivityTemperatureValue( P9_COND ); + break; + + case P19_TEMP: + temperature = getConductivityTemperatureValue( P18_COND ); + break; + + case P7_TEMP: + temperature = getFilteredFlowSensorTemperature( P7_FLOW ); + break; + + case P16_TEMP: + temperature = getFilteredFlowSensorTemperature( P16_FLOW ); + break; + // case TEMPSENSORS_BOARD_TEMPERATURE: // //TODO : Need details on calculations. // break; default: // invalid sensor ID, raise an alarm - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED2, sensorIndex ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_RO_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_TEMPERATURE_SENSOR_SELECTED2, sensorIndex ); // Wrong sensor, return temperature to be -1 temperature = -1.0F; break; } // Calibrate temperature sensor reading // getCalibrationAppliedTemperatureValue( sensorIndex, &temperature ); + // Update the temperature temperatureValue[ sensorIndex ].data = temperature; }