Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r7b823539be3fde41aa676263188d1af679b2f411 -r206db25ae4e125aea46efeed1fd25740f903af21 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 7b823539be3fde41aa676263188d1af679b2f411) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 206db25ae4e125aea46efeed1fd25740f903af21) @@ -17,6 +17,8 @@ #include // for memcpy() +#include "reg_system.h" + #include "Accel.h" #include "AlarmLamp.h" #include "Buttons.h" @@ -3742,6 +3744,36 @@ /*********************************************************************//** * @brief + * The handleHDSoftwareResetRequest function handles a request to reset the + * HD firmware processor. + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleHDSoftwareResetRequest( MESSAGE_T *message ) +{ + BOOL result = FALSE; + + // verify payload length + if ( 0 == message->hdr.payloadLen ) + { + // tester must be logged in + if ( TRUE == isTestingActivated() ) + { // s/w reset of processor + result = TRUE; // reset will prevent this from getting transmitted though +#ifndef _VECTORCAST_ + systemREG1->SYSECR = (0x2) << 14; // reset processor +#endif + } + } + + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/*********************************************************************//** + * @brief * The handleTestBloodPumpHomeRequest function handles a request to home * the blood pump. * @details