Go Down

Topic: Elapsed Timing Library for 1.02 (Read 2734 times) previous topic - next topic

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

PaulS

Quote
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?


pYro_65

#2
Nov 25, 2012, 03:51 am Last Edit: Nov 25, 2012, 03:54 am by pYro_65 Reason: 1
Here is a little class I use to time stuff,
its template parameter is  'true' for high resolution ( micros ), or false for low ( millis ).

Code: [Select]

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);}

Nick Gammon


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.
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

robtillaart


alternative - http://arduino.cc/playground/Code/StopWatchClass -
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Go Up