Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r7dae221794a30c403c06d90e12f3ab28830dffbe -r8c195e4b22d63a6b8de9089ff6bf704282f54885 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 7dae221794a30c403c06d90e12f3ab28830dffbe) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 8c195e4b22d63a6b8de9089ff6bf704282f54885) @@ -997,12 +997,12 @@ *************************************************************************/ void handleChemDisinfectUIStateReadingFromDG( MESSAGE_T *message ) { - if ( message->hdr.payloadLen == sizeof(MODE_CHEMICAL_DISINFECT_DATA_T) ) + if ( message->hdr.payloadLen == sizeof( MODE_CHEMICAL_DISINFECT_DATA_T ) ) { MODE_CHEMICAL_DISINFECT_DATA_T payload; DG_DISINFECT_UI_STATES_T uiStates; - memcpy( &payload, message->payload, sizeof(MODE_CHEMICAL_DISINFECT_DATA_T) ); + memcpy( &payload, message->payload, sizeof( MODE_CHEMICAL_DISINFECT_DATA_T ) ); uiStates.heatDisinfectUIState = 0; uiStates.chemDisinfectUIState = payload.chemDisinfectUIState; @@ -2009,7 +2009,15 @@ *************************************************************************/ void handleDGCheckIn( MESSAGE_T *message ) { - checkInFromDG(); + if ( message->hdr.payloadLen == sizeof( U32 ) ) + { + checkInFromDG(); + } + + else + { + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_DG, FALSE ); + } } /*********************************************************************//** @@ -2022,7 +2030,16 @@ *************************************************************************/ void handleUICheckIn( MESSAGE_T *message ) { - checkInFromUI(); + + if ( message->hdr.payloadLen == 0 ) + { + checkInFromUI(); + } + + else + { + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + } } /*********************************************************************//** @@ -2103,7 +2120,7 @@ } else { - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_NOT_REQUIRED ); } } @@ -2131,7 +2148,7 @@ } else { - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_NOT_REQUIRED ); } } @@ -2162,7 +2179,7 @@ memcpy( payloadPtr, &testID, sizeof( U32) ); // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer - result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_BROADCAST, ACK_NOT_REQUIRED ); // TODO - make ack required when UI ready + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_BROADCAST, ACK_REQUIRED ); return result; @@ -2216,7 +2233,7 @@ } else { - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_NOT_REQUIRED ); } } @@ -2266,7 +2283,7 @@ } else { - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, FALSE ); + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_NOT_REQUIRED ); } }