MakerLabs ACM
timestamp.h
Go to the documentation of this file.
1 /*
2  * Copyright Paul Reimer, 2018
3  *
4  * This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Unported License.
5  * To view a copy of this license, visit
6  * https://creativecommons.org/licenses/by-nc-sa/4.0/
7  * or send a letter to
8  * Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
9  */
10 
11 #pragma once
12 
13 #include <chrono>
14 
15 #include "esp_attr.h"
16 
17 using Timestamp = std::chrono::time_point<std::chrono::system_clock>;
18 //using TimeDuration = std::chrono::duration<std::chrono::system_clock>;
19 using TimeDuration = std::chrono::microseconds;
20 //using Timestamp = int64_t;
21 //using TimeDuration = int64_t;
22 
23 auto IRAM_ATTR get_elapsed_microseconds()
24  -> TimeDuration;
25 
26 auto get_interval_microseconds = [](const auto duration) IRAM_ATTR
27  -> int64_t
28 {
29  return std::chrono::microseconds(duration).count();
30 };
std::chrono::microseconds TimeDuration
Definition: timestamp.h:19
auto get_interval_microseconds
Definition: timestamp.h:26
std::chrono::time_point< std::chrono::system_clock > Timestamp
Definition: timestamp.h:17
auto get_elapsed_microseconds() -> TimeDuration
Definition: timestamp.cpp:15