[hal,wpilib] Rename FPGA clock to monotonic clock (#8672)

- Remove status return from HAL level (clock getting should never fail)
- Remove 32-bit timestamp expand function
- Make monotonic_clock.hpp (formerly fpga_clock.hpp) header-only and
move to root hal include directory
This commit is contained in:
Peter Johnson
2026-03-15 15:08:41 -07:00
committed by GitHub
parent 1a5b023235
commit e944ae9aca
59 changed files with 233 additions and 358 deletions

View File

@@ -1,32 +0,0 @@
// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
#include "wpi/hal/cpp/fpga_clock.hpp"
#include <cstdio>
#include <limits>
#include "wpi/hal/HAL.h"
#include "wpi/util/print.hpp"
namespace wpi::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) {
wpi::util::print(
stderr,
"Call to HAL_GetFPGATime failed in fpga_clock::now() with status {}. "
"Initialization might have failed. Time will not be correct\n",
status);
std::fflush(stderr);
return epoch();
}
return time_point(std::chrono::microseconds(currentTime));
}
} // namespace wpi::hal

View File

@@ -473,17 +473,14 @@ Java_org_wpilib_hardware_hal_HALUtil_getTeamNumber
/*
* Class: org_wpilib_hardware_hal_HALUtil
* Method: getFPGATime
* Method: getMonotonicTime
* Signature: ()J
*/
JNIEXPORT jlong JNICALL
Java_org_wpilib_hardware_hal_HALUtil_getFPGATime
Java_org_wpilib_hardware_hal_HALUtil_getMonotonicTime
(JNIEnv* env, jclass)
{
int32_t status = 0;
jlong returnValue = HAL_GetFPGATime(&status);
CheckStatus(env, status);
return returnValue;
return HAL_GetMonotonicTime();
}
/*