Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
TimerExtended.h
00001 /*************************************** 00002 TimerExtended 00003 Purpose: you can use timer untill 24 days in milli seconds. 00004 Author: Katsuhiro Morishita @2014 00005 License: apache license 2, or MIT, which you like 00006 ****************************************/ 00007 #include "mbed.h" 00008 00009 00010 class TimerExtended 00011 { 00012 private: 00013 Timer _t; 00014 Ticker _tk; 00015 long milli_second; 00016 00017 void update() 00018 { 00019 if(this->milli_second < 2147483645) 00020 this->milli_second += this->_t.read_ms(); 00021 this->_t.reset(); 00022 } 00023 public: 00024 TimerExtended() 00025 { 00026 this->milli_second = 0l; 00027 } 00028 00029 // start timer 00030 void start() 00031 { 00032 this->_tk.attach(this, &TimerExtended::update, 2000.0); // 2000.0 should be lower then max value of Timer obj. 00033 this->_t.start(); 00034 } 00035 00036 // like Arduino lib. 00037 long millis() 00038 { 00039 (void)this->update(); 00040 return this->milli_second; 00041 } 00042 00043 // return time [s] in double 00044 double read() 00045 { 00046 return (double)this->millis() / 1000.0; 00047 } 00048 00049 // return time [ms] 00050 long read_ms() 00051 { 00052 return this->millis(); 00053 } 00054 00055 };
Generated on Sun Jul 17 2022 01:46:10 by
1.7.2