/**************************************************************************** * @fn ZDiagsInitStats * * @brief Initialize the statistics table in NV or restore values from * NV into the Statistics table in RAM * * @param none. * * @return ZSuccess - if NV data was initialized successfully. * ZFailure - Otherwise */ uint8 ZDiagsInitStats( void ) { uint8 retValue = ZSuccess; #if defined ( FEATURE_SYSTEM_STATS ) uint8 status; // Initialize structure with default values, and do not try to write to NV // because item does not exist yet (void)ZDiagsClearStats( FALSE ); status = osal_nv_item_init( ZCD_NV_DIAGNOSTIC_STATS, (uint16)sizeof( DiagStatistics_t ), &DiagsStatsTable ); if ( status == NV_OPER_FAILED ) { retValue = ZFailure; } else { // Item existed, restore NV values into RAM table if ( status == SUCCESS ) { if ( NV_OPER_FAILED == ZDiagsRestoreStatsFromNV() ) { retValue = ZFailure; } } } #endif // FEATURE_SYSTEM_STATS return ( retValue ); }
/**************************************************************************** * @fn zclDiagnostic_ClearStats * * @brief Clears the statistics table in RAM and NV if option flag set. * * @param clearNV - Option flag to clear NV data. * * @return System Clock. */ uint32 zclDiagnostic_ClearStats( bool clearNV ) { // calls the diagnostics function to clear statistics and returns the system clock return ZDiagsClearStats( clearNV ); }