Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r2510a84808ee5179d3f84f0b04f24c5a4122dbe5 -r1d235091e158221f1fa8b1579140905a13249a54 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 2510a84808ee5179d3f84f0b04f24c5a4122dbe5) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 1d235091e158221f1fa8b1579140905a13249a54) @@ -96,7 +96,9 @@ typedef struct { U32 setDrainPumpSpeed; - U32 dacValue; + U32 dacValue; + F32 deltaPressure; + U32 drainPState; } DRAIN_PUMP_DATA_T; typedef struct @@ -557,10 +559,12 @@ * Inputs : none * Outputs : Drain pump data msg constructed and queued * @param tgtSpeed : target speed for drain pump in RPM. - * @param dac : set DAC value. + * @param dac : set DAC value. + * @param deltaP : Delta pressure for the sensors + * @param drainPumpState : The state of the drain pump * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastDrainPumpData( U32 tgtSpeed, U32 dac ) +BOOL broadcastDrainPumpData( U32 tgtSpeed, U32 dac, F32 deltaP, U32 drainPumpState ) { BOOL result; MESSAGE_T msg; @@ -573,7 +577,9 @@ msg.hdr.payloadLen = sizeof( DRAIN_PUMP_DATA_T ); payload.setDrainPumpSpeed = tgtSpeed; - payload.dacValue = dac; + payload.dacValue = dac; + payload.deltaPressure = deltaP; + payload.drainPState = drainPumpState; memcpy( payloadPtr, &payload, sizeof( DRAIN_PUMP_DATA_T ) ); @@ -1021,7 +1027,31 @@ sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, result ); return result; -} +} + +/************************************************************************* + * @brief + * The handleSetROPumpPWM function handles the start of the RO pump with a\n + * PWM. The run is open loop + * @details + * Inputs : none + * Outputs : message handled + * @param message : a pointer to the message to handle + * @return result + *************************************************************************/ +BOOL handleSetROPumpPWM( MESSAGE_T * message ) +{ + BOOL result = FALSE; + + if ( message->hdr.payloadLen == sizeof(U32) ) + { + U32 roPumpPWM; + memcpy( &roPumpPWM, message->payload, sizeof(U32) ); + result = setROPumpTargetPWM( roPumpPWM ); + } + + return result; +} /************************************************************************* * TEST SUPPORT FUNCTIONS @@ -1269,8 +1299,6 @@ * @param message : a pointer to the message to handle * @return none *************************************************************************/ -//DATA_OVERRIDE_HANDLER_FUNC_U32( U32, handleTestROPumpSetPointOverrideRequest, testSetTargetROPumpPressureOverride, testResetTargetROPumpPressureOverride ) //Todo remove - DATA_OVERRIDE_HANDLER_FUNC_U32( F32, handleTestROPumpSetPointOverrideRequest, testSetTargetROPumpFlowRateOverride, testResetTargetROPumpFlowRateOverride ) /************************************************************************* @@ -1355,4 +1383,16 @@ * @param message : a pointer to the message to handle * @return none *************************************************************************/ -DATA_OVERRIDE_HANDLER_FUNC_U32( U32, handleTestDGSafetyShutdownOverrideRequest, testSetSafetyShutdownOverride, testResetSafetyShutdownOverride ) +DATA_OVERRIDE_HANDLER_FUNC_U32( U32, handleTestDGSafetyShutdownOverrideRequest, testSetSafetyShutdownOverride, testResetSafetyShutdownOverride ) + +/************************************************************************* + * @brief + * The handleSetDrainPumpDeltaPressure function handles a \n + * request to override the delta pressure for the drain pump + * @details + * Inputs : none + * Outputs : message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +DATA_OVERRIDE_HANDLER_FUNC_U32( U32, handleSetDrainPumpDeltaPressureOverrideRequest, testSetTargetDrainPumpDeltaPressureOverride, testResetTargetDrainPumpDeltaPressureOverride )