Skip to content

Commit eba02de

Browse files
committed
fix code review comments (rusefi#16)
1 parent 831b8cb commit eba02de

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

util/include/rusefi/rusefi_time_types.h

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ static_assert(sizeof(efidurus_t) == 8);
2828
/**
2929
* 64 bit time in microseconds (1/1_000_000 of a second), since boot
3030
*/
31-
using efitimeus_t = std::chrono::time_point<std::chrono::system_clock, efidurus_t>;
31+
using efitimeus_t = std::chrono::time_point<std::chrono::steady_clock, efidurus_t>;
3232
static_assert(sizeof(efitimeus_t) == 8);
3333

3434
// time in seconds
@@ -59,19 +59,24 @@ efitick_t getTimeNowNt();
5959
#define US_PER_SECOND_F 1000000.0
6060
#define US_PER_SECOND_LL 1000000LL
6161

62-
template<typename arithmetic_type> constexpr efitimeus_t USOF(const arithmetic_type& us) {
63-
static_assert(std::is_arithmetic_v<arithmetic_type>);
64-
return efitimeus_t(efidurus_t(static_cast<efitimeus_t::rep>(us)));
62+
template <typename T> concept numeric = std::integral<T> || std::floating_point<T>;
63+
64+
constexpr numeric auto MS2US(numeric auto ms_time) {
65+
return ms_time * 1000;
6566
}
6667

67-
constexpr float MS2US(const float& timems) {
68-
return timems * 1000;
68+
constexpr numeric auto US2MS(numeric auto timeus) {
69+
return timeus / 1000;
6970
}
7071

7172
constexpr efitimeus_t::rep US2MS(const efitimeus_t& timeus) {
72-
return timeus.time_since_epoch().count() / 1000;
73+
return timeus.time_since_epoch().count() / 1000;
7374
}
7475

75-
constexpr float US2MS(const float& timeus) {
76-
return timeus / 1000;
76+
constexpr efitimeus_t USOF(std::integral auto us) {
77+
return efitimeus_t(efidurus_t(us));
78+
}
79+
80+
constexpr efitimeus_t::rep COUNTOF(const efitimeus_t& us) {
81+
return us.time_since_epoch().count();
7782
}

0 commit comments

Comments
 (0)