mbed library sources

Fork of mbed-src by mbed official

Revision:
525:c320967f86b9
Parent:
358:9d7ef901f004
Child:
547:88c982c8f758
--- a/common/Timer.cpp	Mon Apr 27 09:45:08 2015 +0100
+++ b/common/Timer.cpp	Tue Apr 28 11:45:12 2015 +0100
@@ -14,17 +14,22 @@
  * limitations under the License.
  */
 #include "Timer.h"
+#include "ticker_api.h"
 #include "us_ticker_api.h"
 
 namespace mbed {
 
-Timer::Timer() : _running(), _start(), _time() {
+Timer::Timer() : _running(), _start(), _time(), _ticker_data(get_us_ticker_data()) {
+    reset();
+}
+
+Timer::Timer(const ticker_data_t *const data) : _running(), _start(), _time(), _ticker_data(data) {
     reset();
 }
 
 void Timer::start() {
     if (!_running) {
-        _start = us_ticker_read();
+        _start = ticker_read(_ticker_data);
         _running = 1;
     }
 }
@@ -48,14 +53,14 @@
 
 int Timer::slicetime() {
     if (_running) {
-        return us_ticker_read() - _start;
+        return ticker_read(_ticker_data) - _start;
     } else {
         return 0;
     }
 }
 
 void Timer::reset() {
-    _start = us_ticker_read();
+    _start = ticker_read(_ticker_data);
     _time = 0;
 }