Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r8059b3b67364c3593091a23266f33186430ffe26 -r853d846a60d61d1c6f8987d9cdcfc2bc32913840 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 8059b3b67364c3593091a23266f33186430ffe26) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 853d846a60d61d1c6f8987d9cdcfc2bc32913840) @@ -181,20 +181,34 @@ /*********************************************************************//** * @brief - * The setHeatersTargetTemperature function sets the heaters' target temperature. + * The setPrimaryHeaterTargetTemperature function sets the primary heater + * target temperature. * @details Inputs: none - * @details Outputs: primaryHeaterTargetTemperature, trimmerHeaterTargetTemperature - * @param targetTempPtr pointer to target temperature data record + * @details Outputs: primaryHeaterTargetTemperature + * @param targetTemp target temperature for the primary heater * @return none *************************************************************************/ -void setHeatersTargetTemperature( TARGET_TEMPS_PAYLOAD_T *targetTempPtr ) +void setPrimaryHeaterTargetTemperature( F32 targetTemp ) { - primaryHeaterTargetTemperature = targetTempPtr->targetPrimaryHeaterTemp; - trimmerHeaterTargetTemperature = targetTempPtr->targetTrimmerHeaterTemp; + primaryHeaterTargetTemperature = targetTemp; } /*********************************************************************//** * @brief + * The setTrimmerHeaterTargetTemperature function sets the trimmer heater + * target temperature. + * @details Inputs: none + * @details Outputs: trimmerHeaterTargetTemperature + * @param targetTemp target temperature for the trimmer heater + * @return none + *************************************************************************/ +void setTrimmerHeaterTargetTemperature( F32 targetTemp ) +{ + trimmerHeaterTargetTemperature = targetTemp; +} + +/*********************************************************************//** + * @brief * The startPrimaryHeater function starts the primary heaters. It resets * the primary heaters state and sets the main primary heater duty cycle. * @details Inputs: primaryHeaterTargetTemperature @@ -218,6 +232,29 @@ /*********************************************************************//** * @brief + * The startTrimmerHeater function starts the trimmer heater. It resets the + * trimmer heater's state and sets the duty cycle of the trimmer heater. + * @details Inputs: trimmerHeaterTargetTemperature + * @details Outputs: hasStartTrimmerHeaterRequested + * @return status + *************************************************************************/ +BOOL startTrimmerHeater( void ) +{ + BOOL status = FALSE; + + if ( ( trimmerHeaterTargetTemperature >= MINIMUM_TARGET_TEMPERATURE ) && ( trimmerHeaterTargetTemperature <= MAXIMUM_TARGET_TEMPERATURE ) ) + { +#ifndef DISABLE_HEATERS_AND_TEMPS + hasStartTrimmerHeaterRequested = TRUE; +#endif + status = TRUE; + } + + return status; +} + +/*********************************************************************//** + * @brief * The stopPrimaryHeater function stops the primary heater. * @details Inputs: none * @details Outputs: Primary heater stops @@ -269,6 +306,7 @@ { cmdResponse.rejected = FALSE; #ifndef DISABLE_HEATERS_AND_TEMPS + trimmerHeaterTargetTemperature = heaterCmdPtr->targetTemp; hasStartTrimmerHeaterRequested = TRUE; #endif } Index: firmware/App/Controllers/Heaters.h =================================================================== diff -u -r8059b3b67364c3593091a23266f33186430ffe26 -r853d846a60d61d1c6f8987d9cdcfc2bc32913840 --- firmware/App/Controllers/Heaters.h (.../Heaters.h) (revision 8059b3b67364c3593091a23266f33186430ffe26) +++ firmware/App/Controllers/Heaters.h (.../Heaters.h) (revision 853d846a60d61d1c6f8987d9cdcfc2bc32913840) @@ -48,9 +48,11 @@ void initHeaters( void ); -void setHeatersTargetTemperature( TARGET_TEMPS_PAYLOAD_T *targetTempPtr ); +void setPrimaryHeaterTargetTemperature( F32 targetTemp ); +void setTrimmerHeaterTargetTemperature( F32 targetTemp ); BOOL startPrimaryHeater( void ); +BOOL startTrimmerHeater( void ); void stopPrimaryHeater( void ); void stopTrimmerHeater( void ); Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r8059b3b67364c3593091a23266f33186430ffe26 -r853d846a60d61d1c6f8987d9cdcfc2bc32913840 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 8059b3b67364c3593091a23266f33186430ffe26) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 853d846a60d61d1c6f8987d9cdcfc2bc32913840) @@ -790,7 +790,8 @@ result = TRUE; memcpy( &payload, message->payload, sizeof( TARGET_TEMPS_PAYLOAD_T ) ); - setHeatersTargetTemperature( &payload ); + setPrimaryHeaterTargetTemperature( payload.targetPrimaryHeaterTemp ); + setTrimmerHeaterTargetTemperature( payload.targetTrimmerHeaterTemp ); } sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, result ); }