sdk
src
arch
win32
win32/timer.cpp
Go to the documentation of this file.
1
/*
2
* RPLIDAR SDK
3
*
4
* Copyright (c) 2009 - 2014 RoboPeak Team
5
* http://www.robopeak.com
6
* Copyright (c) 2014 - 2020 Shanghai Slamtec Co., Ltd.
7
* http://www.slamtec.com
8
*
9
*/
10
/*
11
* Redistribution and use in source and binary forms, with or without
12
* modification, are permitted provided that the following conditions are met:
13
*
14
* 1. Redistributions of source code must retain the above copyright notice,
15
* this list of conditions and the following disclaimer.
16
*
17
* 2. Redistributions in binary form must reproduce the above copyright notice,
18
* this list of conditions and the following disclaimer in the documentation
19
* and/or other materials provided with the distribution.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
25
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
28
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
*
33
*/
34
35
#include "
sdkcommon.h
"
36
#include <mmsystem.h>
37
#pragma comment(lib, "Winmm.lib")
38
39
namespace
rp
{
namespace
arch{
40
41
static
LARGE_INTEGER
_current_freq
;
42
43
void
HPtimer_reset
()
44
{
45
BOOL ans=QueryPerformanceFrequency(&
_current_freq
);
46
_current_freq
.QuadPart/=1000ULL;
47
assert(ans);
48
}
49
50
_u64
getHDTimer_us
()
51
{
52
LARGE_INTEGER current;
53
QueryPerformanceCounter(¤t);
54
55
return
(
_u64
)(current.QuadPart / (
_current_freq
.QuadPart/1000ULL));
56
57
}
58
59
_u64
getHDTimer
()
60
{
61
LARGE_INTEGER current;
62
QueryPerformanceCounter(¤t);
63
64
return
(
_u64
)(current.QuadPart/
_current_freq
.QuadPart);
65
}
66
67
BEGIN_STATIC_CODE
(timer_cailb)
68
{
69
HPtimer_reset
();
70
}
END_STATIC_CODE
(timer_cailb)
71
72
}}
sdkcommon.h
rp::arch::_current_freq
static LARGE_INTEGER _current_freq
Definition:
win32/timer.cpp:41
rp::arch::HPtimer_reset
void HPtimer_reset()
Definition:
win32/timer.cpp:43
rp::arch::BEGIN_STATIC_CODE
BEGIN_STATIC_CODE(timer_cailb)
Definition:
win32/timer.cpp:67
END_STATIC_CODE
#define END_STATIC_CODE(_blockname_)
Definition:
util.h:65
rp::arch::getHDTimer_us
_u64 getHDTimer_us()
Definition:
win32/timer.cpp:50
_u64
uint64_t _u64
Definition:
rptypes.h:72
rp::arch::getHDTimer
_u64 getHDTimer()
Definition:
win32/timer.cpp:59
rp
Definition:
rplidar_driver.h:43
rplidar_ros
Author(s):
autogenerated on Fri Aug 2 2024 08:42:14