Index: firmware/App/Drivers/ConductivitySensors.c =================================================================== diff -u -r7688a3fa5056acf964d2b3373f15ec20a0fd9cff -rff3abe5d9c85e6c0431be7310ab771aebd9a8823 --- firmware/App/Drivers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 7688a3fa5056acf964d2b3373f15ec20a0fd9cff) +++ firmware/App/Drivers/ConductivitySensors.c (.../ConductivitySensors.c) (revision ff3abe5d9c85e6c0431be7310ab771aebd9a8823) @@ -1227,34 +1227,74 @@ BOOL testHandleConductivitySensorVersionRequest( MESSAGE_T *message ) { BOOL result = FALSE; - U32 condSensorId = 0; - U32 msgId = 0; - U32 channelId = 0; + U32 msgId = MSG_ID_DD_CONDUCTIVITY_SENSOR_VERSION_RESPONSE; + U32 channelId = COMM_BUFFER_OUT_CAN_DD_BROADCAST; if ( message->hdr.payloadLen == sizeof( U32 ) ) { - CONDUCTIVITY_REVISIONS_T CondVersionRecord; + CONDUCTIVITY_VERSION_RESPONSE_T CondVersionRecord; - memcpy( &condSensorId, &message->payload, sizeof( U32 ) ); + memcpy( &CondVersionRecord.sensorID, &message->payload, sizeof( U32 ) ); // Build conductivity version record - if ( condSensorId < LAST_DD_COND_SENSOR ) + if ( CondVersionRecord.sensorID < LAST_DD_COND_SENSOR ) { - msgId = MSG_ID_DD_CONDUCTIVITY_SENSOR_VERSION_RESPONSE; - channelId = COMM_BUFFER_OUT_CAN_DD_BROADCAST; - memcpy( &CondVersionRecord, &conductivitySensorRevisions[ condSensorId ], sizeof( CONDUCTIVITY_REVISIONS_T ) ); + memcpy( &CondVersionRecord.sensorVersion, &conductivitySensorRevisions[ CondVersionRecord.sensorID ], sizeof( CONDUCTIVITY_REVISIONS_T ) ); } - else + else if ( ( CondVersionRecord.sensorID > LAST_DD_COND_SENSOR ) && + ( CondVersionRecord.sensorID < NUM_OF_CONDUCTIVITY_SENSORS ) ) { msgId = MSG_ID_FP_CONDUCTIVITY_SENSOR_VERSION_RESPONSE; channelId = COMM_BUFFER_OUT_CAN_FP_BROADCAST; - memcpy( &CondVersionRecord, &conductivitySensorRevisions[ condSensorId ], sizeof( CONDUCTIVITY_REVISIONS_T ) ); + memcpy( &CondVersionRecord.sensorVersion, &conductivitySensorRevisions[ CondVersionRecord.sensorID ], sizeof( CONDUCTIVITY_REVISIONS_T ) ); } - result = sendMessage( (MSG_ID_T)msgId, (COMM_BUFFER_T)channelId, (U08*)&CondVersionRecord, sizeof( CONDUCTIVITY_REVISIONS_T ) ); + + result = sendMessage( (MSG_ID_T)msgId, (COMM_BUFFER_T)channelId, (U08*)&CondVersionRecord, sizeof( CONDUCTIVITY_VERSION_RESPONSE_T ) ); } return result; } +/*********************************************************************//** + * @brief + * The testHandleConductivitySensorCalRequest function sends + * the conductivity sensor calibration response + * @details \b Inputs: conductivitySensorCoefficients[] + * @details \b Outputs: none + * @param message Override message from Dialin which includes an sensor + * ID. + * @return TRUE if response is successful, FALSE if not + *************************************************************************/ +BOOL testHandleConductivitySensorCalRequest( MESSAGE_T *message ) +{ + BOOL result = FALSE; + U32 msgId = MSG_ID_DD_CONDUCTIVITY_SENSOR_VERSION_RESPONSE; + U32 channelId = COMM_BUFFER_OUT_CAN_DD_BROADCAST; + if ( message->hdr.payloadLen == sizeof( U32 ) ) + { + CONDUCTIVITY_CAL_RESPONSE_T CondCalRecord; + + memcpy( &CondCalRecord.sensorID, &message->payload, sizeof( U32 ) ); + + // Build conductivity version record + if ( CondCalRecord.sensorID < LAST_DD_COND_SENSOR ) + { + memcpy( &CondCalRecord.sensorCal, &conductivitySensorCoefficients[ CondCalRecord.sensorID ], sizeof( CONDUCTIVITY_COEFFICIENTS_T ) ); + } + else if ( ( CondCalRecord.sensorID > LAST_DD_COND_SENSOR ) && + ( CondCalRecord.sensorID < NUM_OF_CONDUCTIVITY_SENSORS ) ) + { + msgId = MSG_ID_FP_CONDUCTIVITY_SENSOR_VERSION_RESPONSE; + channelId = COMM_BUFFER_OUT_CAN_FP_BROADCAST; + memcpy( &CondCalRecord.sensorCal, &conductivitySensorCoefficients[ CondCalRecord.sensorID ], sizeof( CONDUCTIVITY_COEFFICIENTS_T ) ); + } + + result = sendMessage( (MSG_ID_T)msgId, (COMM_BUFFER_T)channelId, (U08*)&CondCalRecord, sizeof( CONDUCTIVITY_CAL_RESPONSE_T ) ); + } + + return result; +} + + /**@}*/ Index: firmware/App/Monitors/Conductivity.c =================================================================== diff -u -r35ccc443e6440d79231ab4a3951bebc0e9789b68 -rff3abe5d9c85e6c0431be7310ab771aebd9a8823 --- firmware/App/Monitors/Conductivity.c (.../Conductivity.c) (revision 35ccc443e6440d79231ab4a3951bebc0e9789b68) +++ firmware/App/Monitors/Conductivity.c (.../Conductivity.c) (revision ff3abe5d9c85e6c0431be7310ab771aebd9a8823) @@ -559,7 +559,7 @@ broadcastData( MSG_ID_FP_RO_REJECTION_RATIO_DATA, COMM_BUFFER_OUT_CAN_FP_BROADCAST, (U08*)&data, sizeof( RO_REJECTION_RATIO_DATA_T ) ); } - if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_9_HW ) != TRUE ) + if ( FALSE == getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_9_HW ) ) { // publish conductivity resistance data on interval if ( ++conductivityResistancePublishTimerCounter >= getU32OverrideValue( &conductivityResistanceDataPublishInterval ) )