Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r22176ce95e49213c48454f34ddf5d29b8109f2cb -r669f36cf32c3b500aa2fd5b08c58ee5e6b2e7f08 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 22176ce95e49213c48454f34ddf5d29b8109f2cb) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 669f36cf32c3b500aa2fd5b08c58ee5e6b2e7f08) @@ -1093,10 +1093,42 @@ if ( message->hdr.payloadLen == sizeof( TRIMMER_HEATER_CMD_T ) ) { TRIMMER_HEATER_CMD_T heaterCmd; + DG_CMD_RESPONSE_T cmdResponse; + cmdResponse.commandID = DG_CMD_START_TRIMMER_HEATER; + cmdResponse.rejected = FALSE; + cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_NONE; + result = TRUE; - result = TRUE; memcpy( &heaterCmd, message->payload, sizeof( TRIMMER_HEATER_CMD_T ) ); - handleTrimmerHeaterCmd( &heaterCmd ); + + if ( TRUE == heaterCmd.startHeater ) + { + F32 temp = getTrimmerHeaterTargetTemperature(); + BOOL isSet = setHeaterTargetTemperature( DG_TRIMMER_HEATER, temp ); + + if ( TRUE == isSet ) + { +#ifndef _RELEASE_ + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_TRIMMER_HEATER ) != SW_CONFIG_ENABLE_VALUE ) +#endif + { + startHeater( DG_TRIMMER_HEATER ); + } + } + else + { + cmdResponse.rejected = TRUE; + cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_INVALID_PARAMETER; + } + } + else + { + stopHeater( DG_TRIMMER_HEATER ); + } + + sendCommandResponseMsg( &cmdResponse ); + + //handleTrimmerHeaterCmd( &heaterCmd ); TODO remove } sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, result );