Files
allwpilib/hal/src/main/native/shared/cpp/fpga_clock.cpp
Peter Johnson d3b636d073 fpga_clock: Don't use constexpr for time_points.
These are not constexpr on some compilers.
2017-08-21 17:20:43 -05:00

31 lines
1.1 KiB
C++

/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2017. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
#include "HAL/cpp/fpga_clock.h"
#include "HAL/HAL.h"
#include "llvm/raw_ostream.h"
namespace hal {
const fpga_clock::time_point fpga_clock::min_time =
fpga_clock::time_point(fpga_clock::duration(
std::numeric_limits<fpga_clock::duration::rep>::min()));
fpga_clock::time_point fpga_clock::now() noexcept {
int32_t status = 0;
uint64_t currentTime = HAL_GetFPGATime(&status);
if (status != 0) {
llvm::errs()
<< "Call to HAL_GetFPGATime failed."
<< "Initialization might have failed. Time will not be correct";
llvm::errs().flush();
return epoch();
}
return time_point(std::chrono::microseconds(currentTime));
}
} // namespace hal