diff -r 95f71bcdcdb7 -r 657f875b013e kerneltest/e32test/system/d_tick.cpp --- a/kerneltest/e32test/system/d_tick.cpp Thu May 27 14:17:14 2010 +0300 +++ b/kerneltest/e32test/system/d_tick.cpp Fri Jun 11 15:02:23 2010 +0300 @@ -37,6 +37,8 @@ #include #elif defined(__NE1_TB__) #include +#elif defined(__MRAP__) +#include #endif #include #include "d_tick.h" @@ -78,6 +80,11 @@ inline TCounter TIMER() { return NETimer::Timer(2).iTimerCount; } #endif +#ifdef __MRAP__ +inline TCounter TIMER() + { TRap::SetRegister32(1, KRapRegRTC001_TRIGGER); + return TRap::Register32(KRapRegRTC001_LONGCOUNT); } +#endif #if defined(__EPOC32__) && defined(__CPU_X86) TCounter TIMER(); void SetUpTimerChannel2(); @@ -90,6 +97,12 @@ return c.QuadPart; } #endif +#if defined(__MRAP__) +inline TDelta TimeDelta(TCounter initial, TCounter final) + { return final-initial; } // RAP RTC timer counts up +inline TInt LongTimeDelta(TCounter initial, TCounter final, TUint, TUint) + { return final-initial; } // RAP RTC timer counts up +#endif #if defined(__MISA__) || defined(__MCOT__) inline TDelta TimeDelta(TCounter initial, TCounter final) @@ -211,6 +224,15 @@ x /= TUint64(f); return (TUint)x; #endif +#if defined(__MRAP__) + // RTC runs with 32.768 kHz -> one tick is + const TUint KRTCClockHz = 32768; + Int64 ticks(aTicks); + ticks*=(1000000); + ticks+=KRTCClockHz/2; // 32.768 kHz tick + ticks/=KRTCClockHz; + return (TInt)ticks; +#endif #if defined(__MAWD__) || defined(__MEIG__) return aTicks*500; // 2kHz tick #endif @@ -589,6 +611,9 @@ #if defined(__NE1_TB__) // nothing to do since we use fast counter #endif +#if defined(__MRAP__) + // nothing to do here RTC runs with 32.768 kHz +#endif #ifdef __MAWD__ // Set up timer 1 as free running 2kHz clock TWind::SetBuzzerControl(0); // disable buzzer