Index: firmware/App/Drivers/ConductivitySensors.c =================================================================== diff -u -re2e51b0219db0132cebb6f65f3dbd803e1f01e30 -r9e6e86f604c8cce7c1704ae55d1e026de3422782 --- firmware/App/Drivers/ConductivitySensors.c (.../ConductivitySensors.c) (revision e2e51b0219db0132cebb6f65f3dbd803e1f01e30) +++ firmware/App/Drivers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 9e6e86f604c8cce7c1704ae55d1e026de3422782) @@ -34,6 +34,7 @@ #define SIEMENS_TO_MICROSIEMENS_CONVERSION 1000000 ///< Siemens to microSiemens conversion factor. #define COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ( 2 * MS_PER_SECOND ) ///< Conductivity sensors FPGA error timeout in milliseconds. +#define COND_SENSORS_READ_ERR_MAX_CNT 255 ///< Conductivity sensors read and error count max value /// Defined states for the conductivity write transaction. typedef enum Conductvity_write_tx_states @@ -138,10 +139,11 @@ } // Initialize the conductivity sensor FPGA alarms - initFPGAPersistentAlarm( FPGA_PERS_ERROR_CD1_COND_SENSOR, ALARM_ID_DD_CD1_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); - initFPGAPersistentAlarm( FPGA_PERS_ERROR_CD2_COND_SENSOR, ALARM_ID_DD_CD2_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); - initFPGAPersistentAlarm( FPGA_PERS_ERROR_CD3_COND_SENSOR, ALARM_ID_DD_CD3_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); - initFPGAPersistentAlarm( FPGA_PERS_ERROR_CD4_COND_SENSOR, ALARM_ID_DD_CD4_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); + initFPGAPersistentAlarm( FPGA_PERS_ERROR_D17_COND_SENSOR, ALARM_ID_DD_D17_COND_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); + initFPGAPersistentAlarm( FPGA_PERS_ERROR_D27_COND_SENSOR, ALARM_ID_DD_D27_COND_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); + initFPGAPersistentAlarm( FPGA_PERS_ERROR_D29_COND_SENSOR, ALARM_ID_DD_D29_COND_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); + initFPGAPersistentAlarm( FPGA_PERS_ERROR_D43_COND_SENSOR, ALARM_ID_DD_D43_COND_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); + initFPGAPersistentAlarm( FPGA_PERS_ERROR_D74_COND_SENSOR, ALARM_ID_DD_D74_COND_SENSOR_FPGA_FAULT, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS, COND_SENSORS_FPGA_ERROR_TIMEOUT_MS ); } /*********************************************************************//** @@ -160,59 +162,69 @@ void readConductivitySensors( void ) { // Read raw conductivity - currentConductivityReadings[ CONDUCTIVITYSENSORS_CD1_SENSOR ].data = (F32)getFPGACD1(); - currentConductivityReadings[ CONDUCTIVITYSENSORS_CD2_SENSOR ].data = (F32)getFPGACD2(); - currentConductivityReadings[ CONDUCTIVITYSENSORS_CD3_SENSOR ].data = (F32)getFPGACD3(); - currentConductivityReadings[ CONDUCTIVITYSENSORS_CD4_SENSOR ].data = (F32)getFPGACD4(); + currentConductivityReadings[ D17_COND ].data = (F32)getFPGAD17Cond(); + currentConductivityReadings[ D27_COND ].data = (F32)getFPGAD27Cond(); + currentConductivityReadings[ D29_COND ].data = (F32)getFPGAD29Cond(); + currentConductivityReadings[ D43_COND ].data = (F32)getFPGAD43Cond(); + currentConductivityReadings[ D74_COND ].data = (F32)getFPGAD74Cond(); // Read temperature associated to conductivity sensor - currentTemperatureReadings[ CONDUCTIVITYSENSORS_CD1_SENSOR ].data = (F32)getFPGACD1Temp(); - currentTemperatureReadings[ CONDUCTIVITYSENSORS_CD2_SENSOR ].data = (F32)getFPGACD2Temp(); - currentTemperatureReadings[ CONDUCTIVITYSENSORS_CD3_SENSOR ].data = (F32)getFPGACD3Temp(); - currentTemperatureReadings[ CONDUCTIVITYSENSORS_CD4_SENSOR ].data = (F32)getFPGACD4Temp(); + currentTemperatureReadings[ D17_COND ].data = (F32)getFPGAD17CondTemp(); + currentTemperatureReadings[ D27_COND ].data = (F32)getFPGAD27CondTemp(); + currentTemperatureReadings[ D29_COND ].data = (F32)getFPGAD29CondTemp(); + currentTemperatureReadings[ D43_COND ].data = (F32)getFPGAD43CondTemp(); + currentTemperatureReadings[ D74_COND ].data = (F32)getFPGAD74CondTemp(); // Update read and error counters for each conductivity sensor - lastConductivityReadCounter[ CONDUCTIVITYSENSORS_CD1_SENSOR ].data = (U32)getFPGACD1ReadCount(); - lastConductivityReadCounter[ CONDUCTIVITYSENSORS_CD2_SENSOR ].data = (U32)getFPGACD2ReadCount(); - lastConductivityReadCounter[ CONDUCTIVITYSENSORS_CD3_SENSOR ].data = (U32)getFPGACD3ReadCount(); - lastConductivityReadCounter[ CONDUCTIVITYSENSORS_CD4_SENSOR ].data = (U32)getFPGACD4ReadCount(); + lastConductivityReadCounter[ D17_COND ].data = (U32)getFPGAD17CondReadCount(); + lastConductivityReadCounter[ D27_COND ].data = (U32)getFPGAD27CondReadCount(); + lastConductivityReadCounter[ D29_COND ].data = (U32)getFPGAD29CondReadCount(); + lastConductivityReadCounter[ D43_COND ].data = (U32)getFPGAD43CondReadCount(); + lastConductivityReadCounter[ D74_COND ].data = (U32)getFPGAD74CondReadCount(); - lastConductivityErrorCounter[ CONDUCTIVITYSENSORS_CD1_SENSOR ].data = (U32)getFPGACD1ErrorCount(); - lastConductivityErrorCounter[ CONDUCTIVITYSENSORS_CD2_SENSOR ].data = (U32)getFPGACD2ErrorCount(); - lastConductivityErrorCounter[ CONDUCTIVITYSENSORS_CD3_SENSOR ].data = (U32)getFPGACD3ErrorCount(); - lastConductivityErrorCounter[ CONDUCTIVITYSENSORS_CD4_SENSOR ].data = (U32)getFPGACD4ErrorCount(); + lastConductivityErrorCounter[ D17_COND ].data = (U32)getFPGAD17CondErrorCount(); + lastConductivityErrorCounter[ D27_COND ].data = (U32)getFPGAD27CondErrorCount(); + lastConductivityErrorCounter[ D29_COND ].data = (U32)getFPGAD29CondErrorCount(); + lastConductivityErrorCounter[ D43_COND ].data = (U32)getFPGAD43CondErrorCount(); + lastConductivityErrorCounter[ D74_COND ].data = (U32)getFPGAD74CondErrorCount(); +#ifdef ENABLE_ALARM_1 // Monitor conductivity sensor health checkConductivitySensors(); +#endif } /*********************************************************************//** * @brief * The checkConductivitySensors function checks the read and error counters for * each conductivity sensor. - * @details \b Alarm: ALARM_ID_DD_CD1_SENSOR_FPGA_FAULT if the - * CD1 conductivity sensor is not able to be read. - * @details \b Alarm: ALARM_ID_DD_CD2_SENSOR_FPGA_FAULT if the - * CD2 conductivity sensor is not able to be read. - * @details \b Alarm: ALARM_ID_DD_CD3_SENSOR_FPGA_FAULT if the - * CD3 conductivity sensor is not able to be read. - * @details \b Alarm: ALARM_ID_DD_CD4_SENSOR_FPGA_FAULT if the - * CD4 conductivity sensor is not able to be read. + * @details \b Alarm: ALARM_ID_DD_D17_COND_SENSOR_FPGA_FAULT if the + * D17 conductivity sensor is not able to be read. + * @details \b Alarm: ALARM_ID_DD_D27_COND_SENSOR_FPGA_FAULT if the + * D27 conductivity sensor is not able to be read. + * @details \b Alarm: ALARM_ID_DD_D29_COND_SENSOR_FPGA_FAULT if the + * D29 conductivity sensor is not able to be read. + * @details \b Alarm: ALARM_ID_DD_D43_COND_SENSOR_FPGA_FAULT if the + * D43 conductivity sensor is not able to be read. + * @details \b Alarm: ALARM_ID_DD_D74_COND_SENSOR_FPGA_FAULT if the + * D74 conductivity sensor is not able to be read. * @details \b Inputs: lastConductivityReadCounter, lastConductivityErrorCounter * @details \b Outputs: none * @return none *************************************************************************/ static void checkConductivitySensors( void ) { - checkFPGAPersistentAlarms( FPGA_PERS_ERROR_CD1_COND_SENSOR, getConductivitySensorReadCount(CONDUCTIVITYSENSORS_CD1_SENSOR) ); - checkFPGAPersistentAlarms( FPGA_PERS_ERROR_CD2_COND_SENSOR, getConductivitySensorReadCount(CONDUCTIVITYSENSORS_CD2_SENSOR) ); - checkFPGAPersistentAlarms( FPGA_PERS_ERROR_CD3_COND_SENSOR, getConductivitySensorReadCount(CONDUCTIVITYSENSORS_CD3_SENSOR) ); - checkFPGAPersistentAlarms( FPGA_PERS_ERROR_CD4_COND_SENSOR, getConductivitySensorReadCount(CONDUCTIVITYSENSORS_CD4_SENSOR) ); + checkFPGAPersistentAlarms( FPGA_PERS_ERROR_D17_COND_SENSOR, getConductivitySensorReadCount(D17_COND) ); + checkFPGAPersistentAlarms( FPGA_PERS_ERROR_D27_COND_SENSOR, getConductivitySensorReadCount(D27_COND) ); + checkFPGAPersistentAlarms( FPGA_PERS_ERROR_D29_COND_SENSOR, getConductivitySensorReadCount(D29_COND) ); + checkFPGAPersistentAlarms( FPGA_PERS_ERROR_D43_COND_SENSOR, getConductivitySensorReadCount(D43_COND) ); + checkFPGAPersistentAlarms( FPGA_PERS_ERROR_D74_COND_SENSOR, getConductivitySensorReadCount(D74_COND) ); - checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_CD1_COND_SENSOR, getConductivitySensorErrorCount( CONDUCTIVITYSENSORS_CD1_SENSOR ) ); - checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_CD2_COND_SENSOR, getConductivitySensorErrorCount( CONDUCTIVITYSENSORS_CD2_SENSOR ) ); - checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_CD3_COND_SENSOR, getConductivitySensorErrorCount( CONDUCTIVITYSENSORS_CD3_SENSOR ) ); - checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_CD4_COND_SENSOR, getConductivitySensorErrorCount( CONDUCTIVITYSENSORS_CD4_SENSOR ) ); + checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D17_COND_SENSOR, getConductivitySensorErrorCount( D17_COND ) ); + checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D27_COND_SENSOR, getConductivitySensorErrorCount( D27_COND ) ); + checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D29_COND_SENSOR, getConductivitySensorErrorCount( D29_COND ) ); + checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D43_COND_SENSOR, getConductivitySensorErrorCount( D43_COND ) ); + checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D74_COND_SENSOR, getConductivitySensorErrorCount( D74_COND ) ); } /*********************************************************************//** @@ -467,53 +479,65 @@ *************************************************************************/ void handleConductivitySensorsReset( void ) { - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].resetRequested ) + if ( TRUE == conductivitySensorControl[ D17_COND ].resetRequested ) { - // CD1 reset - setFPGACD1Reset(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].resetRequested = FALSE; + // D17 Cond sensor reset + setFPGAD17CondReset(); + conductivitySensorControl[ D17_COND ].resetRequested = FALSE; } else { - // clear CD1 reset - clearFPGACD1Reset(); + // clear D17 reset + clearFPGAD17CondReset(); } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].resetRequested ) + if ( TRUE == conductivitySensorControl[ D27_COND ].resetRequested ) { - // CD2 reset - setFPGACD2Reset(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].resetRequested = FALSE; + // D27 reset + setFPGAD27CondReset(); + conductivitySensorControl[ D27_COND ].resetRequested = FALSE; } else { - // clear CD2 reset - clearFPGACD2Reset(); + // clear D27 reset + clearFPGAD27CondReset(); } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].resetRequested ) + if ( TRUE == conductivitySensorControl[ D29_COND ].resetRequested ) { - // CD3 reset - setFPGACD3Reset(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].resetRequested = FALSE; + // D29 reset + setFPGAD29CondReset(); + conductivitySensorControl[ D29_COND ].resetRequested = FALSE; } else { - // clear CD3 reset - clearFPGACD3Reset(); + // clear D29 reset + clearFPGAD29CondReset(); } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].resetRequested ) + if ( TRUE == conductivitySensorControl[ D43_COND ].resetRequested ) { - // CD4 reset - setFPGACD4Reset(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].resetRequested = FALSE; + // D43 reset + setFPGAD43CondReset(); + conductivitySensorControl[ D43_COND ].resetRequested = FALSE; } else { - // clear CD4 reset - clearFPGACD4Reset(); + // clear D43 reset + clearFPGAD43CondReset(); } + + if ( TRUE == conductivitySensorControl[ D74_COND ].resetRequested ) + { + // D74 reset + setFPGAD74CondReset(); + conductivitySensorControl[ D74_COND ].resetRequested = FALSE; + } + else + { + // clear D74 reset + clearFPGAD74CondReset(); + } } /*********************************************************************//** @@ -529,53 +553,65 @@ *************************************************************************/ void handleConductivitySensorsInitProcedure( void ) { - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].initEnable ) + if ( TRUE == conductivitySensorControl[ D17_COND ].initEnable ) { - // CD1 initialization - setFPGACD1InitEnable(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].initEnable = FALSE; + // D17 initialization + setFPGAD17CondInitEnable(); + conductivitySensorControl[ D17_COND ].initEnable = FALSE; } else { - // clear CD1 Init command - clearFPGACD1InitEnable(); + // clear D17 Init command + clearFPGAD17CondInitEnable(); } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].initEnable ) + if ( TRUE == conductivitySensorControl[ D27_COND ].initEnable ) { - // CD2 initialization - setFPGACD2InitEnable(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].initEnable = FALSE; + // D27 initialization + setFPGAD27CondInitEnable(); + conductivitySensorControl[ D27_COND ].initEnable = FALSE; } else { - // clear CD2 Init command - clearFPGACD2InitEnable(); + // clear D27 Init command + clearFPGAD27CondInitEnable(); } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].initEnable ) + if ( TRUE == conductivitySensorControl[ D29_COND ].initEnable ) { - // CD3 initialization - setFPGACD3InitEnable(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].initEnable = FALSE; + // D29 initialization + setFPGAD29CondInitEnable(); + conductivitySensorControl[ D29_COND ].initEnable = FALSE; } else { - // clear CD3 Init command - clearFPGACD3InitEnable(); + // clear D29 Init command + clearFPGAD29CondInitEnable(); } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].initEnable ) + if ( TRUE == conductivitySensorControl[ D43_COND ].initEnable ) { - // CD4 initialization - setFPGACD4InitEnable(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].initEnable = FALSE; + // D43 initialization + setFPGAD43CondInitEnable(); + conductivitySensorControl[ D43_COND ].initEnable = FALSE; } else { - // clear CD4 Init command - clearFPGACD4InitEnable(); + // clear D43 Init command + clearFPGAD43CondInitEnable(); } + + if ( TRUE == conductivitySensorControl[ D74_COND ].initEnable ) + { + // D74 initialization + setFPGAD74CondInitEnable(); + conductivitySensorControl[ D74_COND ].initEnable = FALSE; + } + else + { + // clear D74 Init command + clearFPGAD74CondInitEnable(); + } } /*********************************************************************//** @@ -592,7 +628,7 @@ { CONDUCTIVITY_SENSORS_T sensor; - for ( sensor = CONDUCTIVITYSENSORS_CD1_SENSOR; sensor < NUM_OF_CONDUCTIVITY_SENSORS; sensor++ ) + for ( sensor = FIRST_COND_SENSOR; sensor < NUM_OF_CONDUCTIVITY_SENSORS; sensor++ ) { // write state machine switch ( conductivitySensorControl[sensor].writeExecState ) @@ -625,54 +661,66 @@ { CONDUCTIVITY_WRITE_STATE_T state = CONDUCTIVITY_WRITE_INITIATE; - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeEnable && - FALSE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeInProgress ) + if ( TRUE == conductivitySensorControl[ D17_COND ].writeEnable && + FALSE == conductivitySensorControl[ D17_COND ].writeInProgress ) { - // CD1 write request - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeComplete = FALSE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeInProgress = TRUE; - setFPGACD12Address( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeAddress ); - setFPGACD12Data( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeData ); - setFPGACD1WriteEnable(); + // D17 write request + conductivitySensorControl[ D17_COND ].writeComplete = FALSE; + conductivitySensorControl[ D17_COND ].writeInProgress = TRUE; + setFPGACD12Address( conductivitySensorControl[ D17_COND ].writeAddress ); + setFPGACD12Data( conductivitySensorControl[ D17_COND ].writeData ); + setFPGAD17CondWriteEnable(); state = CONDUCTIVITY_WRITE_COMPLETE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeEnable && - FALSE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeInProgress ) + if ( TRUE == conductivitySensorControl[ D27_COND ].writeEnable && + FALSE == conductivitySensorControl[ D27_COND ].writeInProgress ) { - // CD2 write request - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeComplete = FALSE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeInProgress = TRUE; - setFPGACD12Address( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeAddress ); - setFPGACD12Data( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeData ); - setFPGACD2WriteEnable(); + // D27 write request + conductivitySensorControl[ D27_COND ].writeComplete = FALSE; + conductivitySensorControl[ D27_COND ].writeInProgress = TRUE; + setFPGACD12Address( conductivitySensorControl[ D27_COND ].writeAddress ); + setFPGACD12Data( conductivitySensorControl[ D27_COND ].writeData ); + setFPGAD27CondWriteEnable(); state = CONDUCTIVITY_WRITE_COMPLETE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeEnable && - FALSE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeInProgress ) + if ( TRUE == conductivitySensorControl[ D29_COND ].writeEnable && + FALSE == conductivitySensorControl[ D29_COND ].writeInProgress ) { - // CD3 write request - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeComplete = FALSE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeInProgress = TRUE; - setFPGACD34Address( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeAddress ); - setFPGACD34Data( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeData ); - setFPGACD3WriteEnable(); + // D29 write request + conductivitySensorControl[ D29_COND ].writeComplete = FALSE; + conductivitySensorControl[ D29_COND ].writeInProgress = TRUE; + setFPGACD34Address( conductivitySensorControl[ D29_COND ].writeAddress ); + setFPGACD34Data( conductivitySensorControl[ D29_COND ].writeData ); + setFPGAD29CondWriteEnable(); state = CONDUCTIVITY_WRITE_COMPLETE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeEnable && - FALSE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeInProgress ) + if ( TRUE == conductivitySensorControl[ D43_COND ].writeEnable && + FALSE == conductivitySensorControl[ D43_COND ].writeInProgress ) { - // CD4 write request - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeComplete = FALSE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeInProgress = TRUE; - setFPGACD34Address( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeAddress ); - setFPGACD34Data( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeData ); - setFPGACD4WriteEnable(); + // D43 write request + conductivitySensorControl[ D43_COND ].writeComplete = FALSE; + conductivitySensorControl[ D43_COND ].writeInProgress = TRUE; + setFPGACD34Address( conductivitySensorControl[ D43_COND ].writeAddress ); + setFPGACD34Data( conductivitySensorControl[ D43_COND ].writeData ); + setFPGAD43CondWriteEnable(); state = CONDUCTIVITY_WRITE_COMPLETE; } + if ( TRUE == conductivitySensorControl[ D74_COND ].writeEnable && + FALSE == conductivitySensorControl[ D74_COND ].writeInProgress ) + { + // D74 write request + conductivitySensorControl[ D74_COND ].writeComplete = FALSE; + conductivitySensorControl[ D74_COND ].writeInProgress = TRUE; + setFPGACD5Address( conductivitySensorControl[ D74_COND ].writeAddress ); + setFPGACD5Data( conductivitySensorControl[ D74_COND ].writeData ); + setFPGAD74CondWriteEnable(); + state = CONDUCTIVITY_WRITE_COMPLETE; + } + return state; } @@ -688,38 +736,45 @@ { CONDUCTIVITY_WRITE_STATE_T state = CONDUCTIVITY_WRITE_COMPLETE; - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeInProgress ) + if ( TRUE == conductivitySensorControl[ D17_COND ].writeInProgress ) { - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeComplete = TRUE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].writeEnable = FALSE; - clearFPGACD1WriteEnable(); + conductivitySensorControl[ D17_COND ].writeComplete = TRUE; + conductivitySensorControl[ D17_COND ].writeEnable = FALSE; + clearFPGAD17CondWriteEnable(); state = CONDUCTIVITY_WRITE_INITIATE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeInProgress ) + if ( TRUE == conductivitySensorControl[ D27_COND ].writeInProgress ) { - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeComplete = TRUE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].writeEnable = FALSE; - clearFPGACD2WriteEnable(); + conductivitySensorControl[ D27_COND ].writeComplete = TRUE; + conductivitySensorControl[ D27_COND ].writeEnable = FALSE; + clearFPGAD27CondWriteEnable(); state = CONDUCTIVITY_WRITE_INITIATE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeInProgress ) + if ( TRUE == conductivitySensorControl[ D29_COND ].writeInProgress ) { - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeComplete = TRUE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].writeEnable = FALSE; - clearFPGACD3WriteEnable(); + conductivitySensorControl[ D29_COND ].writeComplete = TRUE; + conductivitySensorControl[ D29_COND ].writeEnable = FALSE; + clearFPGAD29CondWriteEnable(); state = CONDUCTIVITY_WRITE_INITIATE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeInProgress ) + if ( TRUE == conductivitySensorControl[ D43_COND ].writeInProgress ) { - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeComplete = TRUE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].writeEnable = FALSE; - clearFPGACD4WriteEnable(); + conductivitySensorControl[ D43_COND ].writeComplete = TRUE; + conductivitySensorControl[ D43_COND ].writeEnable = FALSE; + clearFPGAD43CondWriteEnable(); state = CONDUCTIVITY_WRITE_INITIATE; } + if ( TRUE == conductivitySensorControl[ D74_COND ].writeInProgress ) + { + conductivitySensorControl[ D74_COND ].writeComplete = TRUE; + conductivitySensorControl[ D74_COND ].writeEnable = FALSE; + clearFPGAD74CondWriteEnable(); + state = CONDUCTIVITY_WRITE_INITIATE; + } return state; } @@ -737,7 +792,7 @@ { CONDUCTIVITY_SENSORS_T sensor; - for ( sensor = CONDUCTIVITYSENSORS_CD1_SENSOR; sensor < NUM_OF_CONDUCTIVITY_SENSORS; sensor++ ) + for ( sensor = FIRST_COND_SENSOR; sensor < NUM_OF_CONDUCTIVITY_SENSORS; sensor++ ) { // Read state machine switch ( conductivitySensorControl[sensor].readExecState ) @@ -770,50 +825,61 @@ { CONDUCTIVITY_READ_STATE_T state = CONDUCTIVITY_READ_INITIATE; - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readEnable && - FALSE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readInProgress ) + if ( TRUE == conductivitySensorControl[ D17_COND ].readEnable && + FALSE == conductivitySensorControl[ D17_COND ].readInProgress ) { - // CD1 read request - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readComplete = FALSE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readInProgress = TRUE; - setFPGACD12Address( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readAddress ); - setFPGACD1ReadEnable(); + // D17 read request + conductivitySensorControl[ D17_COND ].readComplete = FALSE; + conductivitySensorControl[ D17_COND ].readInProgress = TRUE; + setFPGACD12Address( conductivitySensorControl[ D17_COND ].readAddress ); + setFPGAD17CondReadEnable(); state = CONDUCTIVITY_READ_COMPLETE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readEnable && - FALSE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readInProgress ) + if ( TRUE == conductivitySensorControl[ D27_COND ].readEnable && + FALSE == conductivitySensorControl[ D27_COND ].readInProgress ) { - // CD2 read request - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readComplete = FALSE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readInProgress = TRUE; - setFPGACD12Address( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readAddress ); - setFPGACD2ReadEnable(); + // D27 read request + conductivitySensorControl[ D27_COND ].readComplete = FALSE; + conductivitySensorControl[ D27_COND ].readInProgress = TRUE; + setFPGACD12Address( conductivitySensorControl[ D27_COND ].readAddress ); + setFPGAD27CondReadEnable(); state = CONDUCTIVITY_READ_COMPLETE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readEnable && - FALSE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readInProgress ) + if ( TRUE == conductivitySensorControl[ D29_COND ].readEnable && + FALSE == conductivitySensorControl[ D29_COND ].readInProgress ) { - // CD3 read request - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readComplete = FALSE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readInProgress = TRUE; - setFPGACD34Address( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readAddress ); - setFPGACD3ReadEnable(); + // D29 read request + conductivitySensorControl[ D29_COND ].readComplete = FALSE; + conductivitySensorControl[ D29_COND ].readInProgress = TRUE; + setFPGACD34Address( conductivitySensorControl[ D29_COND ].readAddress ); + setFPGAD29CondReadEnable(); state = CONDUCTIVITY_READ_COMPLETE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readEnable && - FALSE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readInProgress ) + if ( TRUE == conductivitySensorControl[ D43_COND ].readEnable && + FALSE == conductivitySensorControl[ D43_COND ].readInProgress ) { - // CD4 read request - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readComplete = FALSE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readInProgress = TRUE; - setFPGACD34Address( conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readAddress ); - setFPGACD4ReadEnable(); + // D43 read request + conductivitySensorControl[ D43_COND ].readComplete = FALSE; + conductivitySensorControl[ D43_COND ].readInProgress = TRUE; + setFPGACD34Address( conductivitySensorControl[ D43_COND ].readAddress ); + setFPGAD43CondReadEnable(); state = CONDUCTIVITY_READ_COMPLETE; } + if ( TRUE == conductivitySensorControl[ D74_COND ].readEnable && + FALSE == conductivitySensorControl[ D74_COND ].readInProgress ) + { + // D74 read request + conductivitySensorControl[ D74_COND ].readComplete = FALSE; + conductivitySensorControl[ D74_COND ].readInProgress = TRUE; + setFPGACD5Address( conductivitySensorControl[ D74_COND ].readAddress ); + setFPGAD74CondReadEnable(); + state = CONDUCTIVITY_READ_COMPLETE; + } + return state; } @@ -829,42 +895,51 @@ { CONDUCTIVITY_READ_STATE_T state = CONDUCTIVITY_READ_COMPLETE; - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readInProgress ) + if ( TRUE == conductivitySensorControl[ D17_COND ].readInProgress ) { - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readData = getFPGACD1Data(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readComplete = TRUE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD1_SENSOR ].readEnable = FALSE; - clearFPGACD1ReadEnable(); + conductivitySensorControl[ D17_COND ].readData = getFPGAD17CondData(); + conductivitySensorControl[ D17_COND ].readComplete = TRUE; + conductivitySensorControl[ D17_COND ].readEnable = FALSE; + clearFPGAD17CondReadEnable(); state = CONDUCTIVITY_READ_INITIATE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readInProgress ) + if ( TRUE == conductivitySensorControl[ D27_COND ].readInProgress ) { - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readData = getFPGACD2Data(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readComplete = TRUE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD2_SENSOR ].readEnable = FALSE; - clearFPGACD2ReadEnable(); + conductivitySensorControl[ D27_COND ].readData = getFPGAD27CondData(); + conductivitySensorControl[ D27_COND ].readComplete = TRUE; + conductivitySensorControl[ D27_COND ].readEnable = FALSE; + clearFPGAD27CondReadEnable(); state = CONDUCTIVITY_READ_INITIATE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readInProgress ) + if ( TRUE == conductivitySensorControl[ D29_COND ].readInProgress ) { - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readData = getFPGACD3Data(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readComplete = TRUE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD3_SENSOR ].readEnable = FALSE; - clearFPGACD3ReadEnable(); + conductivitySensorControl[ D29_COND ].readData = getFPGAD29CondData(); + conductivitySensorControl[ D29_COND ].readComplete = TRUE; + conductivitySensorControl[ D29_COND ].readEnable = FALSE; + clearFPGAD29CondReadEnable(); state = CONDUCTIVITY_READ_INITIATE; } - if ( TRUE == conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readInProgress ) + if ( TRUE == conductivitySensorControl[ D43_COND ].readInProgress ) { - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readData = getFPGACD4Data(); - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readComplete = TRUE; - conductivitySensorControl[ CONDUCTIVITYSENSORS_CD4_SENSOR ].readEnable = FALSE; - clearFPGACD4ReadEnable(); + conductivitySensorControl[ D43_COND ].readData = getFPGAD43CondData(); + conductivitySensorControl[ D43_COND ].readComplete = TRUE; + conductivitySensorControl[ D43_COND ].readEnable = FALSE; + clearFPGAD43CondReadEnable(); state = CONDUCTIVITY_READ_INITIATE; } + if ( TRUE == conductivitySensorControl[ D74_COND ].readInProgress ) + { + conductivitySensorControl[ D74_COND ].readData = getFPGAD74CondData(); + conductivitySensorControl[ D74_COND ].readComplete = TRUE; + conductivitySensorControl[ D74_COND ].readEnable = FALSE; + clearFPGAD74CondReadEnable(); + state = CONDUCTIVITY_READ_INITIATE; + } + return state; } @@ -886,35 +961,8 @@ *************************************************************************/ BOOL testConductivitySensorReadingsOverride( MESSAGE_T *message ) { - BOOL result = FALSE; - TEST_OVERRIDE_ARRAY_PAYLOAD_T override; - OVERRIDE_TYPE_T ovType = getOverrideArrayPayloadFromMessage( message, &override ); + BOOL result = f32ArrayOverride( message, ¤tConductivityReadings[0], NUM_OF_CONDUCTIVITY_SENSORS - 1 ); - // Verify tester has logged in with DD and override type is valid - if ( ( TRUE == isTestingActivated() ) && ( ovType != OVERRIDE_INVALID ) && ( ovType < NUM_OF_OVERRIDE_TYPES ) ) - { - U32 sensor = override.index; - - // Verify conductivity sensor index of override - if ( sensor < NUM_OF_CONDUCTIVITY_SENSORS ) - { - if ( OVERRIDE_OVERRIDE == ovType ) - { - F32 value = override.state.f32; - - currentConductivityReadings[ sensor ].ovData = value; - currentConductivityReadings[ sensor ].override = OVERRIDE_KEY; - } - else - { - currentConductivityReadings[ sensor ].override = OVERRIDE_RESET; - currentConductivityReadings[ sensor ].ovData = currentConductivityReadings[ sensor ].ovInitData; - } - - result = TRUE; - } - } - return result; } @@ -930,35 +978,8 @@ *************************************************************************/ BOOL testConductivitySensorTemperatureReadingsOverride( MESSAGE_T *message ) { - BOOL result = FALSE; - TEST_OVERRIDE_ARRAY_PAYLOAD_T override; - OVERRIDE_TYPE_T ovType = getOverrideArrayPayloadFromMessage( message, &override ); + BOOL result = f32ArrayOverride( message, ¤tTemperatureReadings[0], NUM_OF_CONDUCTIVITY_SENSORS - 1 ); - // Verify tester has logged in with DD and override type is valid - if ( ( TRUE == isTestingActivated() ) && ( ovType != OVERRIDE_INVALID ) && ( ovType < NUM_OF_OVERRIDE_TYPES ) ) - { - U32 sensor = override.index; - - // Verify conductivity sensor index of override - if ( sensor < NUM_OF_CONDUCTIVITY_SENSORS ) - { - if ( OVERRIDE_OVERRIDE == ovType ) - { - F32 value = override.state.f32; - - currentTemperatureReadings[ sensor ].ovData = value; - currentTemperatureReadings[ sensor ].override = OVERRIDE_KEY; - } - else - { - currentTemperatureReadings[ sensor ].override = OVERRIDE_RESET; - currentTemperatureReadings[ sensor ].ovData = currentTemperatureReadings[ sensor ].ovInitData; - } - - result = TRUE; - } - } - return result; } @@ -974,35 +995,8 @@ *************************************************************************/ BOOL testConductivitySensorReadCounterOverride( MESSAGE_T *message ) { - BOOL result = FALSE; - TEST_OVERRIDE_ARRAY_PAYLOAD_T override; - OVERRIDE_TYPE_T ovType = getOverrideArrayPayloadFromMessage( message, &override ); + BOOL result = u32ArrayOverride( message, &lastConductivityReadCounter[0], NUM_OF_CONDUCTIVITY_SENSORS - 1, 0, COND_SENSORS_READ_ERR_MAX_CNT ); - // Verify tester has logged in with DD and override type is valid - if ( ( TRUE == isTestingActivated() ) && ( ovType != OVERRIDE_INVALID ) && ( ovType < NUM_OF_OVERRIDE_TYPES ) ) - { - U32 sensor = override.index; - - // Verify conductivity sensor index of override - if ( sensor < NUM_OF_CONDUCTIVITY_SENSORS ) - { - if ( OVERRIDE_OVERRIDE == ovType ) - { - U32 value = override.state.u32; - - lastConductivityReadCounter[ sensor ].ovData = value; - lastConductivityReadCounter[ sensor ].override = OVERRIDE_KEY; - } - else - { - lastConductivityReadCounter[ sensor ].override = OVERRIDE_RESET; - lastConductivityReadCounter[ sensor ].ovData = lastConductivityReadCounter[ sensor ].ovInitData; - } - - result = TRUE; - } - } - return result; } @@ -1018,35 +1012,8 @@ *************************************************************************/ BOOL testConductivitySensorErrorCounterOverride( MESSAGE_T *message ) { - BOOL result = FALSE; - TEST_OVERRIDE_ARRAY_PAYLOAD_T override; - OVERRIDE_TYPE_T ovType = getOverrideArrayPayloadFromMessage( message, &override ); + BOOL result = u32ArrayOverride( message, &lastConductivityErrorCounter[0], NUM_OF_CONDUCTIVITY_SENSORS - 1, 0, COND_SENSORS_READ_ERR_MAX_CNT ); - // Verify tester has logged in with DD and override type is valid - if ( ( TRUE == isTestingActivated() ) && ( ovType != OVERRIDE_INVALID ) && ( ovType < NUM_OF_OVERRIDE_TYPES ) ) - { - U32 sensor = override.index; - - // Verify conductivity sensor index of override - if ( sensor < NUM_OF_CONDUCTIVITY_SENSORS ) - { - if ( OVERRIDE_OVERRIDE == ovType ) - { - U32 value = override.state.u32; - - lastConductivityErrorCounter[ sensor ].ovData = value; - lastConductivityErrorCounter[ sensor ].override = OVERRIDE_KEY; - } - else - { - lastConductivityErrorCounter[ sensor ].override = OVERRIDE_RESET; - lastConductivityErrorCounter[ sensor ].ovData = lastConductivityErrorCounter[ sensor ].ovInitData; - } - - result = TRUE; - } - } - return result; }