Index: SystemComm.c =================================================================== diff -u -rf4b440f1a4e29598b7726826d87a8cfb7885e214 -r6520e649188757399c2dfd58a30af80d96256295 --- SystemComm.c (.../SystemComm.c) (revision f4b440f1a4e29598b7726826d87a8cfb7885e214) +++ SystemComm.c (.../SystemComm.c) (revision 6520e649188757399c2dfd58a30af80d96256295) @@ -94,8 +94,6 @@ static void consumeBufferPaddingBeforeSync( COMM_BUFFER_T buffer ); static void processReceivedMessages( void ); -static void checkTooManyBadMsgCRCs( void ); - static BOOL matchACKtoPendingACKList( S16 seqNo ); static void checkPendingACKList( void ); @@ -599,23 +597,6 @@ /*********************************************************************//** * @brief - * The checkTooManyBadMsgCRCs function checks for too many bad message CRCs - * within a set period of time. Assumed function is being called when a new - * bad CRC is detected so a new bad CRC will be added to the list. - * @details Inputs: badCRCTimeStamps[], badCRCListIdx, badCRCListCount - * @details Outputs: possibly a "too many bad CRCs" alarm - * @return none - *************************************************************************/ -static void checkTooManyBadMsgCRCs( void ) -{ - if ( TRUE == incTimeWindowedCount( TIME_WINDOWED_COUNT_BAD_MSG_CRC ) ) - { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_TD_COMM_TOO_MANY_BAD_CRCS, (U32)ALARM_SOURCE_HD ); - } -} - -/*********************************************************************//** - * @brief * The addMsgToPendingACKList function adds a given message to the pending * ACK list. Messages in this list will require receipt of an ACK message * for this particular message within a limited time. Index: TestSupport.c =================================================================== diff -u -r6734e9d64e231d58fbb359435399868f939cc84e -r6520e649188757399c2dfd58a30af80d96256295 --- TestSupport.c (.../TestSupport.c) (revision 6734e9d64e231d58fbb359435399868f939cc84e) +++ TestSupport.c (.../TestSupport.c) (revision 6520e649188757399c2dfd58a30af80d96256295) @@ -41,12 +41,12 @@ /*********************************************************************//** * @brief - * The getU08OverrideValue function extracts the appropriate U08 - * value from a given U32 override record according to the record state. - * @details Inputs: none - * @details Outputs: none + * The getU08OverrideValue function extracts the appropriate unsigned byte + * value from a given unsigned integer override record according to the record state. + * @details \b Inputs: none + * @details \b Outputs: none * @param ovU32 pointer to a floating point override record - * @return overridden U08 point value from the record + * @return either the real or overridden unsigned byte value from the record *************************************************************************/ U08 getU08OverrideValue( OVERRIDE_U32_T *ovU32 ) { @@ -62,12 +62,13 @@ /*********************************************************************//** * @brief - * The getU16OverrideValue function extracts the appropriate U16 - * value from a given U32 override record according to the record state. - * @details Inputs: none - * @details Outputs: none + * The getU16OverrideValue function extracts the appropriate unsigned short + * value from a given unsigned integer override record according to the + * record state. + * @details \b Inputs: none + * @details \b Outputs: none * @param ovU32 pointer to a floating point override record - * @return overridden U16 point value from the record + * @return either the real or overridden unsigned short value from the record *************************************************************************/ U16 getU16OverrideValue( OVERRIDE_U32_T *ovU32 ) { @@ -86,9 +87,9 @@ * The getS32OverrideValue function extracts the appropriate signed integer * value from a given signed integer override record according to the * record state. - * @details Inputs: none - * @details Outputs: none - * @param ovS32 pointer to an unsigned integer override record + * @details \b Inputs: none + * @details \b Outputs: none + * @param ovS32 pointer to a signed integer override record * @return either the real or overridden signed integer value from the record *************************************************************************/ S32 getS32OverrideValue( OVERRIDE_S32_T *ovS32 ) @@ -108,8 +109,8 @@ * The getU32OverrideValue function extracts the appropriate unsigned integer * value from a given unsigned integer override record according to the * record state. - * @details Inputs: none - * @details Outputs: none + * @details \b Inputs: none + * @details \b Outputs: none * @param ovU32 pointer to an unsigned integer override record * @return either the real or overridden unsigned integer value from the record *************************************************************************/ @@ -129,8 +130,8 @@ * @brief * The getF32OverrideValue function extracts the appropriate floating point * value from a given float override record according to the record state. - * @details Inputs: none - * @details Outputs: none + * @details \b Inputs: none + * @details \b Outputs: none * @param ovF32 pointer to a floating point override record * @return either the real or overridden floating point value from the record *************************************************************************/ @@ -151,8 +152,8 @@ /*********************************************************************//** * @brief * The initTestConfigs function initializes the test software configurations. - * @details Inputs: none - * @details Outputs: signalRecoverFromFaultMode + * @details \b Inputs: none + * @details \b Outputs: signalRecoverFromFaultMode * @return none *************************************************************************/ void initTestConfigs( void ) @@ -164,79 +165,67 @@ /*********************************************************************//** * @brief * The setTestConfig function sets the test configuration. - * Must be logged into HD/DG. - * @details Inputs: none - * @details Outputs: testConfig - * @param config which is the configuration to set + * @warning Dialin must be logged into related firmware stack to set the + * test configuration successfully. + * @details \b Inputs: none + * @details \b Outputs: testConfig + * @details \b Alarm: ALARM_ID_XX_SOFTWARE_FAULT if invalid + * test configuration parameter given. + * @param config which test configuration to set * @return TRUE if the set configuration was successful otherwise, FALSE *************************************************************************/ BOOL setTestConfig( TEST_CONFIG_T config ) { BOOL status = FALSE; - if ( ( config < NUM_OF_TEST_CONFIGS ) && ( TRUE == isTestingActivated() ) ) + if ( TRUE == isTestingActivated() ) { testConfig[ config ] = TEST_CONFIG_ENABLE_KEY; status = TRUE; } - else - { -#ifdef _DD_ -// SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_DG_INVALID_TEST_CONFIG_SELECTED1, config ) -#endif -#ifdef _TD_ - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_TEST_CONFIG_SELECTED1, config ) -#endif - } return status; } /*********************************************************************//** * @brief - * The resetTestConfig function resets the test configuration. - * Must be logged into HD/DG. - * @details Inputs: none - * @details Outputs: testConfig - * @param config which is the configuration to reset + * The resetTestConfig function resets a given test configuration. + * @warning Dialin must be logged into related firmware stack to reset the + * test configuration successfully. + * @details \b Inputs: none + * @details \b Outputs: testConfig + * @details \b Alarm: ALARM_ID_XX_SOFTWARE_FAULT if invalid + * test configuration is given. + * @param config which test configuration to reset * @return TRUE if the reset configuration was successful otherwise, FALSE *************************************************************************/ BOOL resetTestConfig( TEST_CONFIG_T config ) { BOOL status = FALSE; - if ( ( config < NUM_OF_TEST_CONFIGS ) && ( TRUE == isTestingActivated() ) ) + if ( TRUE == isTestingActivated() ) { testConfig[ config ] = TEST_CONFIG_DISABLE_KEY; status = TRUE; } - else - { -#ifdef _DD_ -// SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_DG_INVALID_TEST_CONFIG_SELECTED2, config ) -#endif -#ifdef _TD_ - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_TEST_CONFIG_SELECTED2, config ) -#endif - } return status; } /*********************************************************************//** * @brief - * The getTestConfigStatus function gets the status of the provided test - * configuration. Must be logged into HD/DG. - * @details Inputs: testConfig - * @details Outputs: none - * @param config the test configuration - * @return TRUE if the test configuration is enabled otherwise, FALSE + * The getTestConfigStatus function gets the status of the given test + * configuration. + * @details \b Inputs: testConfig + * @details \b Outputs: none + * @param config the test configuration to get status of + * @return TRUE if the test configuration is enabled, otherwise FALSE *************************************************************************/ BOOL getTestConfigStatus( TEST_CONFIG_T config ) { BOOL status = FALSE; - if ( ( TEST_CONFIG_ENABLE_KEY == testConfig[ config ] ) && ( TRUE == isTestingActivated() ) ) + if ( TEST_CONFIG_ENABLE_KEY == testConfig[ config ] ) { status = TRUE; } @@ -248,9 +237,11 @@ * @brief * The sendTestConfigStatusToDialin function sends the test configuration * status to dialin. - * @details Inputs: none - * @details Outputs: testConfig - * @return TRUE if the serialization is successful otherwise, FALSE + * @details \b Message \b sent: MSG_ID_TD_SEND_TEST_CONFIGURATION + * @details \b Inputs: testConfig + * @details \b Outputs: none + * @return TRUE if the test configuration message is successfully queued for + * transmit, otherwise FALSE *************************************************************************/ BOOL sendTestConfigStatusToDialin( void ) { @@ -265,10 +256,10 @@ // Create a message record blankMessage( &msg ); #ifdef _DD_ -// msg.hdr.msgID = MSG_ID_DD_SEND_TEST_CONFIGURATION; + msg.hdr.msgID = MSG_ID_DD_SEND_TEST_CONFIGURATION; #endif #ifdef _TD_ -// msg.hdr.msgID = MSG_ID_TD_SEND_TEST_CONFIGURATION; + msg.hdr.msgID = MSG_ID_TD_SEND_TEST_CONFIGURATION; #endif msg.hdr.payloadLen = sizeof( testConfig ); @@ -290,10 +281,11 @@ /*********************************************************************//** * @brief * The resetAllTestConfigs function resets all of the test configurations. - * Must be logged into HD/DG. - * @details Inputs: none - * @details Outputs: testConfig - * @return TRUE if the reset was successful otherwise, FALSE + * @warning Dialin must be logged into related firmware stack to reset the + * test configurations successfully. + * @details \b Inputs: none + * @details \b Outputs: testConfig + * @return TRUE if the reset was successful, otherwise FALSE *************************************************************************/ BOOL resetAllTestConfigs( void ) { @@ -316,9 +308,9 @@ /*********************************************************************//** * @brief - * The setDialinCheckInTimeStamp function set the dialin check in timestamp. - * @details Inputs: none - * @details Outputs: dialinCheckInTimeStamp + * The setDialinCheckInTimeStamp function registers a check-in from Dialin. + * @details \b Inputs: none + * @details \b Outputs: dialinCheckInTimeStamp * @return none *************************************************************************/ void setDialinCheckInTimeStamp( void ) @@ -328,11 +320,11 @@ /*********************************************************************//** * @brief - * The hasDialinCheckInExpired function checks whether the check in from - * dialin has expired or not. - * @details Inputs: none - * @details Outputs: dialinCheckInTimeStamp - * @return TRUE if the check in has been expired otherwise, FALSE + * The hasDialinCheckInExpired function checks whether the check-in from + * Dialin has expired. + * @details \b Inputs: dialinCheckInTimeStamp + * @details \b Outputs: none + * @return TRUE if the check-in has expired, otherwise FALSE *************************************************************************/ BOOL hasDialinCheckInExpired( void ) { @@ -349,10 +341,12 @@ /*********************************************************************//** * @brief - * The setRecoverFromFaultModeSignal function sets the recover from fault - * mode signal upon receiving it from the user. - * @details Inputs: none - * @details Outputs: signalRecoverFromFaultMode + * The setRecoverFromFaultModeSignal function handles the recover from fault + * mode signal from Dialin. + * @warning Dialin must be logged into related firmware stack to set the + * recover from fault mode flag successfully. + * @details \b Inputs: none + * @details \b Outputs: signalRecoverFromFaultMode * @return none *************************************************************************/ void setRecoverFromFaultModeSignal( void ) @@ -365,22 +359,15 @@ /*********************************************************************//** * @brief - * The hasRecoverFromFaultModeBeenSet function returns the status of the - * recover from fault mode signal - * @details Inputs: none - * @details Outputs: signalRecoverFromFaultMode - * @return TRUE is the user is logged in and the signal is TRUE, otherwise FLASE + * The hasRecoverFromFaultModeBeenSet function gets the state of the + * recover from fault mode flag. + * @details \b Inputs: signalRecoverFromFaultMode + * @details \b Outputs: none + * @return TRUE if the recover from fault mode flag is set, otherwise FALSE *************************************************************************/ BOOL hasRecoverFromFaultModeBeenSet( void ) { - BOOL status = FALSE; - - if ( TRUE == isTestingActivated() ) - { - status = signalRecoverFromFaultMode; - } - - return status; + return signalRecoverFromFaultMode; } /**@}*/ Index: TestSupport.h =================================================================== diff -u -r6d80d69a210f45c733e5307859351f2cd820a8e7 -r6520e649188757399c2dfd58a30af80d96256295 --- TestSupport.h (.../TestSupport.h) (revision 6d80d69a210f45c733e5307859351f2cd820a8e7) +++ TestSupport.h (.../TestSupport.h) (revision 6520e649188757399c2dfd58a30af80d96256295) @@ -20,7 +20,8 @@ /** * @defgroup TestSupport TestSupport - * @brief Test support header file. Contains the structures and macros for override operations. + * @brief Test support functions for accessing override records, managing + * test configuration settings and handling Dialin check-ins. * * @addtogroup TestSupport * @{ @@ -32,7 +33,8 @@ #define OVERRIDE_RESET 0x00000000 ///< Override reset #ifdef _DD_ -/// DG test software configurations + +/// DD test software configurations typedef enum test_Config_enums { TEST_CONFIG_MIX_WITH_WATER = 0, ///< Test configuration mix with water. @@ -41,8 +43,10 @@ TEST_CONFIG_RECOVER_TREATMENT, ///< Test configuration recover treatment. NUM_OF_TEST_CONFIGS ///< Number of test configuration. } TEST_CONFIG_T; + #else -/// HD test software configurations + +/// TD test software configurations typedef enum test_Config { TEST_CONFIG_USE_WET_CARTRIDGE = 0, ///< Test configuration use wet cartridge. Index: WatchdogMgmt.c =================================================================== diff -u -ra63f636c18858c8444d3e4908bb19755b4f2be27 -r6520e649188757399c2dfd58a30af80d96256295 --- WatchdogMgmt.c (.../WatchdogMgmt.c) (revision a63f636c18858c8444d3e4908bb19755b4f2be27) +++ WatchdogMgmt.c (.../WatchdogMgmt.c) (revision 6520e649188757399c2dfd58a30af80d96256295) @@ -16,9 +16,15 @@ ***************************************************************************/ #ifdef _TD_ -//#include "CPLD.h" +#include "CpldInterface.h" +#include "FpgaTD.h" #endif -//#include "FPGA.h" +#ifdef _DD_ +#include "FpgaDD.h" +#endif +#ifdef _RO_ +#include "FpgaRo.h" +#endif //#include "InternalADC.h" #include "Messaging.h" #include "OperationModes.h" @@ -71,9 +77,9 @@ /*********************************************************************//** * @brief - * The initWatchdogMgmt function initializes the watchdog mgmt. module. - * @details Inputs: none - * @details Outputs: Watchdog mgmt. module initialized. + * The initWatchdogMgmt function initializes the watchdog management unit. + * @details \b Inputs: none + * @details \b Outputs: Watchdog management unit initialized. * @return none *************************************************************************/ void initWatchdogMgmt( void ) @@ -98,16 +104,18 @@ /*********************************************************************//** * @brief - * The execWatchdogMgmt function executes thewatchdog mgmt. service. - * @details Inputs: watchdogTaskCheckedIn[] - * @details Outputs: watchdogTaskCheckedIn[] + * The execWatchdogMgmt function executes the watchdog management service. + * If all tasks have checked in, the watchdog is pet. + * @details \b Inputs: watchdogTaskCheckedIn[] + * @details \b Outputs: watchdogTaskCheckedIn[] + * @details \b Alarm: ALARM_ID_XX_WATCHDOG_EXPIRED if safety activated * @return none *************************************************************************/ void execWatchdogMgmt( void ) { BOOL allTasksCheckedIn; -// PIN_SIGNAL_STATE_T safetyShutdownFeedbackSignal = getWatchdogExpired(); -// PIN_SIGNAL_STATE_T safetyShutdownSoftwareCmd = ( TRUE == isSafetyShutdownActivated() ? PIN_SIGNAL_LOW : PIN_SIGNAL_HIGH ); + PIN_SIGNAL_STATE_T safetyShutdownFeedbackSignal = getCPLDWatchdogExpired(); + PIN_SIGNAL_STATE_T safetyShutdownSoftwareCmd = ( TRUE == isSafetyShutdownActivated() ? PIN_SIGNAL_LOW : PIN_SIGNAL_HIGH ); // Called by background task, so give bg task credit for checking in checkInWithWatchdogMgmt( TASK_BG ); @@ -122,9 +130,9 @@ resetWDTaskCheckIns(); } // Check to see if watchdog has expired or safety shutdown feedback does not match s/w command (only after POST completed) -// if ( ( safetyShutdownSoftwareCmd != safetyShutdownFeedbackSignal ) && ( getCurrentOperationMode() != MODE_INIT ) ) -// { -// if ( ( PIN_SIGNAL_LOW == safetyShutdownFeedbackSignal ) || ( TRUE == didTimeout( safetyShutdownFeedbackMismatchTS, MAX_SAFETY_SHUTDOWN_MISMATCH_MS ) ) ) + if ( ( safetyShutdownSoftwareCmd != safetyShutdownFeedbackSignal ) && ( getCurrentOperationMode() != MODE_INIT ) ) + { + if ( ( PIN_SIGNAL_LOW == safetyShutdownFeedbackSignal ) || ( TRUE == didTimeout( safetyShutdownFeedbackMismatchTS, MAX_SAFETY_SHUTDOWN_MISMATCH_MS ) ) ) { /* DEBUG WARNING * It may be necessary to comment out the following @@ -141,37 +149,45 @@ //activateAlarmNoData( ALARM_ID_RO_WATCHDOG_EXPIRED ); #endif } -// } -// else -// { -// safetyShutdownFeedbackMismatchTS = getMSTimerCount(); -// } + } + else + { + safetyShutdownFeedbackMismatchTS = getMSTimerCount(); + } } /*********************************************************************//** * @brief * The checkInWithWatchdogMgmt function checks a given task in with the - * watchdog mgmt. service. - * @details Inputs: none - * @details Outputs: task is checked in with the watchdog mgmt.. - * @param task the task that is checking in with the watchdog mgmt + * watchdog management service. + * @details \b Inputs: none + * @details \b Outputs: task is checked in + * @details \b Alarms: ALARM_ID_TD_SOFTWARE_FAULT if invalid task given + * @param task the task that is checking in * @return none *************************************************************************/ void checkInWithWatchdogMgmt( TASK_T task ) { if ( task < NUM_OF_TASKS ) { watchdogTaskCheckedIn[ task ].data = TRUE; + } + else + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, SW_FAULT_ID_WATCHDOG_INVALID_TASK, task ) } } /*********************************************************************//** * @brief - * The execWatchdogTest function executes the watchdog test. - * This function should be called periodically until a pass or fail - * result is returned. - * @details Inputs: watchdogSelfTestState - * @details Outputs: watchdogSelfTestState + * The execWatchdogTest function executes the watchdog self-test. + * @warning This function should be called periodically until a pass or fail + * result is returned. + * @details \b Inputs: watchdogSelfTestState, watchdogSelfTestTimerCount + * @details \b Outputs: watchdogSelfTestState, watchdogSelfTestTimerCount, + * watchdogSelfTestStatus + * @details \b Alarm: ALARM_ID_XX_WATCHDOG_POST_TEST_FAILED if self-test fails. + * @details \b Alarm: ALARM_ID_XX_SOFTWARE_FAULT if self-test state is invalid. * @return in progress, passed, or failed *************************************************************************/ SELF_TEST_STATUS_T execWatchdogTest( void ) @@ -189,8 +205,12 @@ while ( FALSE == didTimeout( watchdogSelfTestTimerCount, WATCHDOG_POST_TIMEOUT_MS ) ) { // Waiting here for w.d. test period to prevent this task from checking in - watchdog should expire - } -// if ( PIN_SIGNAL_LOW == getWatchdogExpired() ) + } +#ifdef _TD_ +// if ( PIN_SIGNAL_LOW == getCPLDWatchdogExpired() ) +#else +// if ( TBD ) +#endif // { // F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS ); // F32 audioCurrent = getFPGABackupAlarmAudioCurrent(); @@ -225,7 +245,11 @@ case WATCHDOG_SELF_TEST_STATE_RECOVER: if ( TRUE == didTimeout( watchdogSelfTestTimerCount, WATCHDOG_RECOVERY_TIME_MS ) ) { // Verify watchdog expired signal no longer active +#ifdef _TD_ // if ( PIN_SIGNAL_HIGH == getCPLDWatchdogExpired() ) +#else +// if ( TBD ) +#endif // { // F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS ); // F32 audioCurrent = getFPGABackupAlarmAudioCurrent(); @@ -279,9 +303,10 @@ /*********************************************************************//** * @brief - * The resetWatchdogPOSTState function resets the watchdog POST state. - * @details Inputs: none - * @details Outputs: watchdogSelfTestState + * The resetWatchdogPOSTState function resets the watchdog POST state so + * it can be run again if needed. + * @details \b Inputs: none + * @details \b Outputs: watchdogSelfTestState * @return none *************************************************************************/ void resetWatchdogPOSTState( void ) @@ -292,8 +317,8 @@ /*********************************************************************//** * @brief * The resetWDTaskCheckIns function resets the task check-ins with the watchdog. - * @details Inputs: none - * @details Outputs: watchdogTaskCheckedIn[] array reset to all false. + * @details \b Inputs: none + * @details \b Outputs: watchdogTaskCheckedIn[] array reset to all false. * @return none *************************************************************************/ static void resetWDTaskCheckIns( void ) @@ -310,9 +335,9 @@ /*********************************************************************//** * @brief * The haveAllTasksCheckedIn function determines whether all tasks have - * checked in with watchdog mgmt. - * @details Inputs: watchdogTaskCheckedIn[] - * @details Outputs: none + * checked in. + * @details \b Inputs: watchdogTaskCheckedIn[] + * @details \b Outputs: none * @return TRUE if all tasks have checked in since last watchdog pet, FALSE if not. *************************************************************************/ static BOOL haveAllTasksCheckedIn( void ) @@ -335,11 +360,12 @@ /*********************************************************************//** * @brief - * The hasTaskGeneralCheckedIn function gets the check-in state of a given + * The hasTaskGeneralCheckedIn function gets the checked in status of a given * task. - * @details Inputs: watchdogTaskCheckedIn[] - * @details Outputs: none - * @param task ID of task to check + * @details \b Inputs: watchdogTaskCheckedIn[] + * @details \b Outputs: none + * @details \b Alarm: ALARM_ID_XX_SOFTWARE_FAULT if given task is invalid. + * @param task ID of task to determine checked in status of * @return TRUE if given task has checked in, FALSE if not *************************************************************************/ BOOL hasTaskGeneralCheckedIn( U32 task ) @@ -375,16 +401,20 @@ /*********************************************************************//** * @brief - * The petWatchdog function pets the watchdog by pulsing the CPLD WD pet + * The petWatchdog function pets the watchdog by pulsing the watchdog pet * signal. - * @details Inputs: none - * @details Outputs: CPLD WD pet signal is pulsed + * @details \b Inputs: none + * @details \b Outputs: Watchdog pet signal is pulsed * @return none *************************************************************************/ static void petWatchdog( void ) { - // Pulse the watchdog signal -// toggleCPLDWatchdog(); + // Pulse the watchdog signal +#ifdef _TD_ + toggleCPLDWatchdog(); +#else + // TBD +#endif // Remember when we last pet the watchdog lastWatchdogPetTime = getMSTimerCount(); @@ -399,19 +429,23 @@ /*********************************************************************//** * @brief * The testSetWatchdogTaskCheckInOverride function overrides the state of the - * task check-in with the watchdog management with a given check-in state. - * @details Inputs: none - * @details Outputs: watchdogTaskCheckedIn[] + * check-in for a given task with a given check-in state. + * @warning Dialin must be logged into related firmware stack to perform + * an override successfully. + * @details \b Inputs: none + * @details \b Outputs: watchdogTaskCheckedIn[] * @param task ID of task to override check-in state for * @param value override state for the given task ID - * @return TRUE if override successful, FALSE if not + * @return TRUE if override successful, FALSE if not *************************************************************************/ BOOL testSetWatchdogTaskCheckInOverride( U32 task, BOOL value ) { BOOL result = FALSE; + // validate given task if ( task < NUM_OF_TASKS ) { + // Dialin must be logged in to perform an override if ( TRUE == isTestingActivated() ) { result = TRUE; @@ -426,18 +460,22 @@ /*********************************************************************//** * @brief * The testResetWatchdogTaskCheckInOverride function resets the override of the - * state of the check-in with the watchdog management. - * @details Inputs: none - * @details Outputs: watchdogTaskCheckedIn[] + * state of the check-in for a given task. + * @warning Dialin must be logged into related firmware stack to perform + * an override successfully. + * @details \b Inputs: none + * @details \b Outputs: watchdogTaskCheckedIn[] * @param task ID of task to override check-in state for * @return TRUE if override reset successful, FALSE if not *************************************************************************/ BOOL testResetWatchdogTaskCheckInOverride( U32 task ) { BOOL result = FALSE; + // validate given task if ( task < NUM_OF_TASKS ) { + // Dialin must be logged in to perform an override if ( TRUE == isTestingActivated() ) { result = TRUE;