Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r7838caf7aff7f6a3d890d21c13a4a695782c97bd -rc0375e039dd42ecf7b7d68ce7f2407e52dfe83eb --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 7838caf7aff7f6a3d890d21c13a4a695782c97bd) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision c0375e039dd42ecf7b7d68ce7f2407e52dfe83eb) @@ -22,6 +22,7 @@ #include "Accel.h" #include "ConcentratePumps.h" #include "ConductivitySensors.h" +#include "Fans.h" #include "FPGA.h" #include "Heaters.h" #include "ModeFlush.h" @@ -3603,6 +3604,37 @@ } /*********************************************************************//** + * @brief + * The handleFansRPMOverride function handles a request to override a fans RPM value. + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleFansRPMOverride( MESSAGE_T *message ) +{ + TEST_OVERRIDE_ARRAY_PAYLOAD_T payload; + BOOL result = FALSE; + + // verify payload length + if ( sizeof(TEST_OVERRIDE_ARRAY_PAYLOAD_T) == message->hdr.payloadLen ) + { + memcpy( &payload, message->payload, sizeof(TEST_OVERRIDE_ARRAY_PAYLOAD_T) ); + if ( FALSE == payload.reset ) + { + result = testSetFanRPMOverride( payload.index, payload.state.f32 ); + } + else + { + result = testResetFanRPMOverride( payload.index ); + } + } + + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/*********************************************************************//** * @brief * The handleStartStopDGChemicalDisinfect function handles a request to start * or stop DG chemical disinfect mode.