kerneltest/e32test/defrag/perf/t_timer.cpp
changeset 9 96e5fb8b040d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/e32test/defrag/perf/t_timer.cpp	Thu Dec 17 09:24:54 2009 +0200
@@ -0,0 +1,45 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// e32test/defrag/perf/t_timer.cpp
+// 
+//
+
+#define __E32TEST_EXTENSION__
+#include <e32test.h>
+#include <hal.h>
+
+#include "t_perf.h"
+
+
+const TInt CalAttempts = 100;
+
+void DefragLatency::CalibrateTimer(RTest& aTest)
+	{
+	TInt val = 0;
+	TUint time1, time2;
+	
+	HAL::Get(HAL::EFastCounterFrequency, iFastCounterFreq);
+	
+	///////////////////////////////////////////
+	for (TInt i = 0; i < CalAttempts; i++) 
+		{
+		time1 = GetFastCounter();
+		time2 = GetFastCounter();
+		if (time2 < time1)
+			aTest.Printf(_L("CALIBRATION ERROR !!!!!!!!!!!!11\n"));
+		val += time2 - time1;
+		}
+	iCalDelay = val / CalAttempts;
+	}
+