Index: firmware/App/Modes/ModeSolo.c =================================================================== diff -u -ra7bf3ca23ea37a61000379facae628a31b3ecc59 -r8f5feed92f41a476d5656038bcdfe884e17bd593 --- firmware/App/Modes/ModeSolo.c (.../ModeSolo.c) (revision a7bf3ca23ea37a61000379facae628a31b3ecc59) +++ firmware/App/Modes/ModeSolo.c (.../ModeSolo.c) (revision 8f5feed92f41a476d5656038bcdfe884e17bd593) @@ -15,9 +15,10 @@ * ***************************************************************************/ -#include "OperationModes.h" -#include "ModeSolo.h" #include "CPLD.h" +#include "ModeSolo.h" +#include "OperationModes.h" +#include "SystemComm.h" /** * @addtogroup DGSoloStandbyMode @@ -32,6 +33,8 @@ // ********** private function prototypes ********** +static DG_SOLO_STANDBY_STATE_T handleIdleDGSoloStandbyState( void ); + /*********************************************************************//** * @brief * The initSoloMode function initializes the Standby-Solo Mode module. @@ -72,8 +75,13 @@ switch ( soloState ) { case DG_SOLO_STANDBY_STATE_START: + soloState = DG_SOLO_IDLE_STATE; break; + case DG_SOLO_IDLE_STATE: + soloState = handleIdleDGSoloStandbyState(); + break; + default: // TODO - s/w fault soloState = DG_SOLO_STANDBY_STATE_START; @@ -85,6 +93,28 @@ /*********************************************************************//** * @brief + * The handleIdleDGSoloStandbyState function handles the idle state of DG \n + * standby-solo mode. + * @details + * Inputs : none + * Outputs : none + * @return the next state of standby-solo mode. + *************************************************************************/ +static DG_SOLO_STANDBY_STATE_T handleIdleDGSoloStandbyState( void ) +{ + DG_SOLO_STANDBY_STATE_T result = DG_SOLO_IDLE_STATE; + + // if HD is on, transition to DG standby mode + if ( TRUE == isHDCommunicating() ) + { + requestNewOperationMode( DG_MODE_STAN ); + } + + return result; +} + +/*********************************************************************//** + * @brief * The getCurrentSoloState function returns the current state of the \n * standby-solo mode. * @details