Index: firmware/App/Drivers/ConductivitySensors.c =================================================================== diff -u -r91692efede9091e29a112cc663ae668d0d4034b1 -r4217fb36123be319cc23be1dc315377cd9419f93 --- firmware/App/Drivers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 91692efede9091e29a112cc663ae668d0d4034b1) +++ firmware/App/Drivers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 4217fb36123be319cc23be1dc315377cd9419f93) @@ -58,6 +58,7 @@ #define COND_TEMP_OFFSET 25 ///< Temperature offset constant used in RTD calculations. #define SIEMENS_TO_MICROSIEMENS_CONVERSION 1000000.0F ///< Siemens to microSiemens conversion factor. +#define KOHMS_TO_OHMS 1000.0F ///< Kilo ohms to ohms conversion factor. /// Defined states for the conductivity write transaction. typedef enum Conductvity_States @@ -208,22 +209,22 @@ void readConductivitySensorData( void ) { // Read raw conductivity - currentConductivityReadings[ D17_COND ].data = getFPGAD17CondData(); - currentConductivityReadings[ D27_COND ].data = getFPGAD27CondData(); - currentConductivityReadings[ D29_COND ].data = getFPGAD29CondData(); - currentConductivityReadings[ D43_COND ].data = getFPGAD43CondData(); - currentConductivityReadings[ D74_COND ].data = getFPGAD74CondData(); - currentConductivityReadings[ P9_COND ].data = getFPGAP9CondData(); - currentConductivityReadings[ P18_COND ].data = getFPGAP18CondData(); + conductivitySensorStatus[ D17_COND ].rawResistance = getFPGAD17CondData(); + conductivitySensorStatus[ D27_COND ].rawResistance = getFPGAD27CondData(); + conductivitySensorStatus[ D29_COND ].rawResistance = getFPGAD29CondData(); + conductivitySensorStatus[ D43_COND ].rawResistance = getFPGAD43CondData(); + conductivitySensorStatus[ D74_COND ].rawResistance = getFPGAD74CondData(); + conductivitySensorStatus[ P9_COND ].rawResistance = getFPGAP9CondData(); + conductivitySensorStatus[ P18_COND ].rawResistance = getFPGAP18CondData(); // Read temperature associated to conductivity sensor - currentTemperatureReadings[ D17_COND ].data = getFPGAD17CondTemp(); - currentTemperatureReadings[ D27_COND ].data = getFPGAD27CondTemp(); - currentTemperatureReadings[ D29_COND ].data = getFPGAD29CondTemp(); - currentTemperatureReadings[ D43_COND ].data = getFPGAD43CondTemp(); - currentTemperatureReadings[ D74_COND ].data = getFPGAD74CondTemp(); - currentTemperatureReadings[ P9_COND ].data = getFPGAP9CondTemp(); - currentTemperatureReadings[ P18_COND ].data = getFPGAP18CondTemp(); + conductivitySensorStatus[ D17_COND ].rawTemperature = getFPGAD17CondTemp(); + conductivitySensorStatus[ D27_COND ].rawTemperature = getFPGAD27CondTemp(); + conductivitySensorStatus[ D29_COND ].rawTemperature = getFPGAD29CondTemp(); + conductivitySensorStatus[ D43_COND ].rawTemperature = getFPGAD43CondTemp(); + conductivitySensorStatus[ D74_COND ].rawTemperature = getFPGAD74CondTemp(); + conductivitySensorStatus[ P9_COND ].rawTemperature = getFPGAP9CondTemp(); + conductivitySensorStatus[ P18_COND ].rawTemperature = getFPGAP18CondTemp(); } /*********************************************************************//** @@ -882,8 +883,8 @@ calculateTemperature( sensorNum ); calculatedConductivity = ( ( k / conductivitySensorStatus[ sensorNum ].calculatedResistance ) * - ( 1 + alpha * ( COND_TEMP_OFFSET - conductivitySensorStatus[ sensorNum ].calculatedTemperature ) ) ); - currentConductivityReadings[ sensorNum ].data = calculatedConductivity; + ( 1 + ( alpha * ( COND_TEMP_OFFSET - conductivitySensorStatus[ sensorNum ].calculatedTemperature ) ) ) ); + currentConductivityReadings[ sensorNum ].data = calculatedConductivity * SIEMENS_TO_MICROSIEMENS_CONVERSION; } /*********************************************************************//** @@ -933,7 +934,8 @@ F32 calculatedTemperature = 0.0; F32 beta = conductivitySensorCoefficients[ sensorNum ].beta; F32 gamma = conductivitySensorCoefficients[ sensorNum ].delta; - F32 Z = conductivitySensorStatus[ sensorNum ].rawTemperature; + /// RTD comes in as kOhms. + F32 Z = conductivitySensorStatus[ sensorNum ].rawTemperature * KOHMS_TO_OHMS; calculatedTemperature = ( ( beta * Z ) + gamma ); conductivitySensorStatus[ sensorNum ].calculatedTemperature = calculatedTemperature;