Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r3e7b064885d99793bb56d940bd613555b1cdbdfa -rbbf1e3736be03a4f041ace57e0f95e23caf472dd --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 3e7b064885d99793bb56d940bd613555b1cdbdfa) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision bbf1e3736be03a4f041ace57e0f95e23caf472dd) @@ -76,7 +76,7 @@ typedef struct { U32 setDrainPumpSpeed; - F32 drainPumpPWM; + U32 dacValue; } DRAIN_PUMP_DATA_T; typedef struct @@ -493,10 +493,10 @@ * Inputs : none * Outputs : Drain pump data msg constructed and queued * @param tgtSpeed : target speed for drain pump in RPM. - * @param setPWM : set PWM duty cycle in %. + * @param dac : set DAC value. * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastDrainPumpData( U32 tgtSpeed, F32 setPWM ) +BOOL broadcastDrainPumpData( U32 tgtSpeed, U32 dac ) { BOOL result; MESSAGE_T msg; @@ -509,7 +509,7 @@ msg.hdr.payloadLen = sizeof( DRAIN_PUMP_DATA_T ); payload.setDrainPumpSpeed = tgtSpeed; - payload.drainPumpPWM = setPWM; + payload.dacValue = dac; memcpy( payloadPtr, &payload, sizeof( DRAIN_PUMP_DATA_T ) ); @@ -685,13 +685,13 @@ { BOOL result = FALSE; - if ( message->hdr.payloadLen == sizeof(U32) ) + if ( message->hdr.payloadLen == sizeof(RESERVOIR_ID_T) ) { - U32 reservoirID; + RESERVOIR_ID_T reservoirID; result = TRUE; - memcpy( &reservoirID, message->payload, sizeof(U32) ); - setActiveReservoirCmd( (RESERVOIR_ID_T)reservoirID ); + memcpy( &reservoirID, message->payload, sizeof(RESERVOIR_ID_T) ); + setActiveReservoirCmd( reservoirID ); } sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, result ); } @@ -779,6 +779,38 @@ /************************************************************************* * @brief + * The handleStartStopTrimmerHeaterCmd function handles a trimmer heater start/stop \n + * command message from the HD. + * @details + * Inputs : none + * Outputs : message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +void handleStartStopTrimmerHeaterCmd( MESSAGE_T *message ) +{ + BOOL result = FALSE; + + if ( message->hdr.payloadLen == sizeof(U32) ) + { + BOOL startingHeater; + + memcpy( &startingHeater, message->payload, sizeof(U32) ); + + if ( TRUE == startingHeater ) + { + result = startTrimmerHeaterCmd(); + } + else + { + result = stopTrimmerHeaterCmd(); + } + } + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, result ); +} + +/************************************************************************* + * @brief * The handleSampleWaterCmd function handles a sample water command from the HD. * @details * Inputs : none