[hal] Consistently use .hpp for C++ header content

Some headers were renamed, but others were split.
This commit is contained in:
Peter Johnson
2026-01-04 00:41:53 -08:00
parent ab45819f6f
commit a7f71c9434
309 changed files with 1762 additions and 1744 deletions

View File

@@ -0,0 +1,93 @@
// 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.
#pragma once
#include <jni.h>
#include <stdint.h>
#include <span>
#include <string_view>
struct HAL_MatchInfo;
struct HAL_OpModeOption;
struct HAL_Value;
namespace wpi::hal {
void ReportError(JNIEnv* env, int32_t status, bool doThrow = true);
void ThrowError(JNIEnv* env, int32_t status, int32_t minRange, int32_t maxRange,
int32_t requestedValue);
inline bool CheckStatus(JNIEnv* env, int32_t status, bool doThrow = true) {
if (status != 0) {
ReportError(env, status, doThrow);
}
return status == 0;
}
inline bool CheckStatusRange(JNIEnv* env, int32_t status, int32_t minRange,
int32_t maxRange, int32_t requestedValue) {
if (status != 0) {
ThrowError(env, status, minRange, maxRange, requestedValue);
}
return status == 0;
}
inline bool CheckStatusForceThrow(JNIEnv* env, int32_t status) {
if (status != 0) {
ThrowError(env, status, 0, 0, 0);
}
return status == 0;
}
void ThrowNullPointerException(JNIEnv* env, std::string_view msg);
void ThrowCANStreamOverflowException(JNIEnv* env, jobjectArray messages,
jint length);
void ThrowIllegalArgumentException(JNIEnv* env, std::string_view msg);
void ThrowIndexOutOfBoundsException(JNIEnv* env, std::string_view msg);
void ThrowBoundaryException(JNIEnv* env, double value, double lower,
double upper);
jobject CreateOpModeOption(JNIEnv* env, const HAL_OpModeOption& option);
jobjectArray CreateOpModeOptionArray(JNIEnv* env,
std::span<const HAL_OpModeOption> options);
HAL_OpModeOption CreateOpModeOptionFromJava(JNIEnv* env, jobject option);
jobject CreateREVPHVersion(JNIEnv* env, uint32_t firmwareMajor,
uint32_t firmwareMinor, uint32_t firmwareFix,
uint32_t hardwareMinor, uint32_t hardwareMajor,
uint32_t uniqueId);
void SetCanStatusObject(JNIEnv* env, jobject canStatus,
float percentBusUtilization, uint32_t busOffCount,
uint32_t txFullCount, uint32_t receiveErrorCount,
uint32_t transmitErrorCount);
void SetMatchInfoObject(JNIEnv* env, jobject matchStatus,
const HAL_MatchInfo& matchInfo);
jbyteArray SetCANReceiveMessageObject(JNIEnv* env, jobject canData,
int32_t length, int32_t flags,
uint64_t timestamp);
jbyteArray SetCANStreamObject(JNIEnv* env, jobject canStreamData,
int32_t length, int32_t flags, uint32_t messageId,
uint64_t timestamp);
jobject CreateHALValue(JNIEnv* env, const HAL_Value& value);
jobject CreatePowerDistributionVersion(JNIEnv* env, uint32_t firmwareMajor,
uint32_t firmwareMinor,
uint32_t firmwareFix,
uint32_t hardwareMinor,
uint32_t hardwareMajor,
uint32_t uniqueId);
jobject CreateCANStreamMessage(JNIEnv* env);
JavaVM* GetJVM();
} // namespace wpi::hal