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.
Timer.cpp
00001 /* mbed Microcontroller Library 00002 * Copyright (c) 2006-2013 ARM Limited 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 #include "Timer.h" 00017 #include "us_ticker_api.h" 00018 00019 namespace mbed { 00020 00021 Timer::Timer() : _running(), _start(), _time() { 00022 reset(); 00023 } 00024 00025 void Timer::start() { 00026 if (!_running) { 00027 _start = us_ticker_read(); 00028 _running = 1; 00029 } 00030 } 00031 00032 void Timer::stop() { 00033 _time += slicetime(); 00034 _running = 0; 00035 } 00036 00037 int Timer::read_us() { 00038 return _time + slicetime(); 00039 } 00040 00041 float Timer::read() { 00042 return (float)read_us() / 1000000.0f; 00043 } 00044 00045 int Timer::read_ms() { 00046 return read_us() / 1000; 00047 } 00048 00049 int Timer::slicetime() { 00050 if (_running) { 00051 return us_ticker_read() - _start; 00052 } else { 00053 return 0; 00054 } 00055 } 00056 00057 void Timer::reset() { 00058 _start = us_ticker_read(); 00059 _time = 0; 00060 } 00061 00062 #ifdef MBED_OPERATORS 00063 Timer::operator float() { 00064 return read(); 00065 } 00066 #endif 00067 00068 } // namespace mbed
Generated on Tue Jul 12 2022 19:07:09 by
