Elapsed Timing Library for 1.02

Hi all,

I have the Elapsed Timer library for Arduino 022 and my program works great.
However it will not work in version 1.02, I get the following error messages.
Can anyone point me to the updated library or a fix ?

C:\Users\Denis\arduino-1.0.2\libraries\Elapsed\Elapsed.cpp: In member function 'void Elapsed::reset()':
C:\Users\Denis\arduino-1.0.2\libraries\Elapsed\Elapsed.cpp:52: error: 'micros' was not declared in this scope
C:\Users\Denis\arduino-1.0.2\libraries\Elapsed\Elapsed.cpp:53: error: 'millis' was not declared in this scope
C:\Users\Denis\arduino-1.0.2\libraries\Elapsed\Elapsed.cpp: In member function 'long unsigned int Elapsed::intervalMs()':
C:\Users\Denis\arduino-1.0.2\libraries\Elapsed\Elapsed.cpp:59: error: 'millis' was not declared in this scope
C:\Users\Denis\arduino-1.0.2\libraries\Elapsed\Elapsed.cpp: In member function 'long unsigned int Elapsed::intervalUs()':
C:\Users\Denis\arduino-1.0.2\libraries\Elapsed\Elapsed.cpp:65: error: 'micros' was not declared in this scope

I have the Elapsed Timer library for Arduino 022 and my program works great.

Where did you get this library, which does not appear to have been updated for 1.0?

Here is a little class I use to time stuff,
its template parameter is 'true' for high resolution ( micros ), or false for low ( millis ).

template< bool _HiRes = true >
  class TimeThis{
    protected:
      typedef TimeThis< _HiRes > MYTYPE;
      inline static const unsigned long GetTime( void )  { return ( _HiRes ? micros : millis )(); }
    public:
      TimeThis( unsigned long &u_TimeRef ) : u_Time( u_TimeRef = MYTYPE::GetTime() )  { return; }
      ~TimeThis( void )  { this->u_Time = MYTYPE::GetTime() - this->u_Time; }
    private:
      unsigned long   &u_Time;
};

void loop(){

    unsigned long u_Time;
    {
      TimeThis< true > t_Time( u_Time );
      
      //Lengthy operation
    }
    Serial.print( "Run Time: " );
    Serial.println( u_Time );
}

void setup(){Serial.begin(9600);}

PaulS:
Where did you get this library, which does not appear to have been updated for 1.0?

Looks like it might be one of mine, however the current one compiles OK under 1.0.2.

@OP: try downloading this file:

http://www.gammon.com.au/Arduino/Elapsed.zip

The original one probably didn't have the test for WProgram.h / Arduino.h.

alternative - Arduino Playground - StopWatchClass -