mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
495 lines
14 KiB
C++
495 lines
14 KiB
C++
// 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 <jni.h>
|
|
|
|
#include "CallbackStore.h"
|
|
#include "org_wpilib_hardware_hal_simulation_RoboRioDataJNI.h"
|
|
#include "wpi/hal/simulation/RoboRioData.h"
|
|
#include "wpi/util/jni_util.hpp"
|
|
|
|
using namespace hal;
|
|
using namespace wpi::java;
|
|
|
|
extern "C" {
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: registerVInVoltageCallback
|
|
* Signature: (Ljava/lang/Object;Z)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_registerVInVoltageCallback
|
|
(JNIEnv* env, jclass, jobject callback, jboolean initialNotify)
|
|
{
|
|
return sim::AllocateCallbackNoIndex(
|
|
env, callback, initialNotify, &HALSIM_RegisterRoboRioVInVoltageCallback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: cancelVInVoltageCallback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_cancelVInVoltageCallback
|
|
(JNIEnv* env, jclass, jint handle)
|
|
{
|
|
return sim::FreeCallbackNoIndex(env, handle,
|
|
&HALSIM_CancelRoboRioVInVoltageCallback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getVInVoltage
|
|
* Signature: ()D
|
|
*/
|
|
JNIEXPORT jdouble JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getVInVoltage
|
|
(JNIEnv*, jclass)
|
|
{
|
|
return HALSIM_GetRoboRioVInVoltage();
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setVInVoltage
|
|
* Signature: (D)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setVInVoltage
|
|
(JNIEnv*, jclass, jdouble value)
|
|
{
|
|
HALSIM_SetRoboRioVInVoltage(value);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: registerUserVoltage3V3Callback
|
|
* Signature: (Ljava/lang/Object;Z)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_registerUserVoltage3V3Callback
|
|
(JNIEnv* env, jclass, jobject callback, jboolean initialNotify)
|
|
{
|
|
return sim::AllocateCallbackNoIndex(
|
|
env, callback, initialNotify,
|
|
&HALSIM_RegisterRoboRioUserVoltage3V3Callback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: cancelUserVoltage3V3Callback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_cancelUserVoltage3V3Callback
|
|
(JNIEnv* env, jclass, jint handle)
|
|
{
|
|
return sim::FreeCallbackNoIndex(env, handle,
|
|
&HALSIM_CancelRoboRioUserVoltage3V3Callback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getUserVoltage3V3
|
|
* Signature: ()D
|
|
*/
|
|
JNIEXPORT jdouble JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getUserVoltage3V3
|
|
(JNIEnv*, jclass)
|
|
{
|
|
return HALSIM_GetRoboRioUserVoltage3V3();
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setUserVoltage3V3
|
|
* Signature: (D)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setUserVoltage3V3
|
|
(JNIEnv*, jclass, jdouble value)
|
|
{
|
|
HALSIM_SetRoboRioUserVoltage3V3(value);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: registerUserCurrent3V3Callback
|
|
* Signature: (Ljava/lang/Object;Z)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_registerUserCurrent3V3Callback
|
|
(JNIEnv* env, jclass, jobject callback, jboolean initialNotify)
|
|
{
|
|
return sim::AllocateCallbackNoIndex(
|
|
env, callback, initialNotify,
|
|
&HALSIM_RegisterRoboRioUserCurrent3V3Callback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: cancelUserCurrent3V3Callback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_cancelUserCurrent3V3Callback
|
|
(JNIEnv* env, jclass, jint handle)
|
|
{
|
|
return sim::FreeCallbackNoIndex(env, handle,
|
|
&HALSIM_CancelRoboRioUserCurrent3V3Callback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getUserCurrent3V3
|
|
* Signature: ()D
|
|
*/
|
|
JNIEXPORT jdouble JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getUserCurrent3V3
|
|
(JNIEnv*, jclass)
|
|
{
|
|
return HALSIM_GetRoboRioUserCurrent3V3();
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setUserCurrent3V3
|
|
* Signature: (D)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setUserCurrent3V3
|
|
(JNIEnv*, jclass, jdouble value)
|
|
{
|
|
HALSIM_SetRoboRioUserCurrent3V3(value);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: registerUserActive3V3Callback
|
|
* Signature: (Ljava/lang/Object;Z)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_registerUserActive3V3Callback
|
|
(JNIEnv* env, jclass, jobject callback, jboolean initialNotify)
|
|
{
|
|
return sim::AllocateCallbackNoIndex(
|
|
env, callback, initialNotify,
|
|
&HALSIM_RegisterRoboRioUserActive3V3Callback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: cancelUserActive3V3Callback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_cancelUserActive3V3Callback
|
|
(JNIEnv* env, jclass, jint handle)
|
|
{
|
|
return sim::FreeCallbackNoIndex(env, handle,
|
|
&HALSIM_CancelRoboRioUserActive3V3Callback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getUserActive3V3
|
|
* Signature: ()Z
|
|
*/
|
|
JNIEXPORT jboolean JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getUserActive3V3
|
|
(JNIEnv*, jclass)
|
|
{
|
|
return HALSIM_GetRoboRioUserActive3V3();
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setUserActive3V3
|
|
* Signature: (Z)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setUserActive3V3
|
|
(JNIEnv*, jclass, jboolean value)
|
|
{
|
|
HALSIM_SetRoboRioUserActive3V3(value);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: registerUserFaults3V3Callback
|
|
* Signature: (Ljava/lang/Object;Z)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_registerUserFaults3V3Callback
|
|
(JNIEnv* env, jclass, jobject callback, jboolean initialNotify)
|
|
{
|
|
return sim::AllocateCallbackNoIndex(
|
|
env, callback, initialNotify,
|
|
&HALSIM_RegisterRoboRioUserFaults3V3Callback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: cancelUserFaults3V3Callback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_cancelUserFaults3V3Callback
|
|
(JNIEnv* env, jclass, jint handle)
|
|
{
|
|
return sim::FreeCallbackNoIndex(env, handle,
|
|
&HALSIM_CancelRoboRioUserFaults3V3Callback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getUserFaults3V3
|
|
* Signature: ()I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getUserFaults3V3
|
|
(JNIEnv*, jclass)
|
|
{
|
|
return HALSIM_GetRoboRioUserFaults3V3();
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setUserFaults3V3
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setUserFaults3V3
|
|
(JNIEnv*, jclass, jint value)
|
|
{
|
|
HALSIM_SetRoboRioUserFaults3V3(value);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: registerBrownoutVoltageCallback
|
|
* Signature: (Ljava/lang/Object;Z)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_registerBrownoutVoltageCallback
|
|
(JNIEnv* env, jclass, jobject callback, jboolean initialNotify)
|
|
{
|
|
return sim::AllocateCallbackNoIndex(
|
|
env, callback, initialNotify,
|
|
&HALSIM_RegisterRoboRioBrownoutVoltageCallback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: cancelBrownoutVoltageCallback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_cancelBrownoutVoltageCallback
|
|
(JNIEnv* env, jclass, jint handle)
|
|
{
|
|
return sim::FreeCallbackNoIndex(env, handle,
|
|
&HALSIM_CancelRoboRioBrownoutVoltageCallback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getBrownoutVoltage
|
|
* Signature: ()D
|
|
*/
|
|
JNIEXPORT jdouble JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getBrownoutVoltage
|
|
(JNIEnv*, jclass)
|
|
{
|
|
return HALSIM_GetRoboRioBrownoutVoltage();
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setBrownoutVoltage
|
|
* Signature: (D)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setBrownoutVoltage
|
|
(JNIEnv*, jclass, jdouble value)
|
|
{
|
|
HALSIM_SetRoboRioBrownoutVoltage(value);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: registerCPUTempCallback
|
|
* Signature: (Ljava/lang/Object;Z)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_registerCPUTempCallback
|
|
(JNIEnv* env, jclass, jobject callback, jboolean initialNotify)
|
|
{
|
|
return sim::AllocateCallbackNoIndex(env, callback, initialNotify,
|
|
&HALSIM_RegisterRoboRioCPUTempCallback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: cancelCPUTempCallback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_cancelCPUTempCallback
|
|
(JNIEnv* env, jclass, jint handle)
|
|
{
|
|
return sim::FreeCallbackNoIndex(env, handle,
|
|
&HALSIM_CancelRoboRioCPUTempCallback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getCPUTemp
|
|
* Signature: ()D
|
|
*/
|
|
JNIEXPORT jdouble JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getCPUTemp
|
|
(JNIEnv*, jclass)
|
|
{
|
|
return HALSIM_GetRoboRioCPUTemp();
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setCPUTemp
|
|
* Signature: (D)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setCPUTemp
|
|
(JNIEnv*, jclass, jdouble cpuTemp)
|
|
{
|
|
HALSIM_SetRoboRioCPUTemp(cpuTemp);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: registerTeamNumberCallback
|
|
* Signature: (Ljava/lang/Object;Z)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_registerTeamNumberCallback
|
|
(JNIEnv* env, jclass, jobject callback, jboolean initialNotify)
|
|
{
|
|
return sim::AllocateCallbackNoIndex(
|
|
env, callback, initialNotify, &HALSIM_RegisterRoboRioTeamNumberCallback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: cancelTeamNumberCallback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_cancelTeamNumberCallback
|
|
(JNIEnv* env, jclass, jint handle)
|
|
{
|
|
return sim::FreeCallbackNoIndex(env, handle,
|
|
&HALSIM_CancelRoboRioTeamNumberCallback);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getTeamNumber
|
|
* Signature: ()I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getTeamNumber
|
|
(JNIEnv*, jclass)
|
|
{
|
|
return HALSIM_GetRoboRioTeamNumber();
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setTeamNumber
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setTeamNumber
|
|
(JNIEnv*, jclass, jint value)
|
|
{
|
|
HALSIM_SetRoboRioTeamNumber(value);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getSerialNumber
|
|
* Signature: ()Ljava/lang/String;
|
|
*/
|
|
JNIEXPORT jstring JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getSerialNumber
|
|
(JNIEnv* env, jclass)
|
|
{
|
|
WPI_String str;
|
|
HALSIM_GetRoboRioSerialNumber(&str);
|
|
auto jstr = MakeJString(env, wpi::to_string_view(&str));
|
|
WPI_FreeString(&str);
|
|
return jstr;
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setSerialNumber
|
|
* Signature: (Ljava/lang/String;)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setSerialNumber
|
|
(JNIEnv* env, jclass, jstring serialNumber)
|
|
{
|
|
JStringRef serialNumberJString{env, serialNumber};
|
|
auto str = wpi::make_string(serialNumberJString);
|
|
HALSIM_SetRoboRioSerialNumber(&str);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: getComments
|
|
* Signature: ()Ljava/lang/String;
|
|
*/
|
|
JNIEXPORT jstring JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_getComments
|
|
(JNIEnv* env, jclass)
|
|
{
|
|
WPI_String str;
|
|
HALSIM_GetRoboRioComments(&str);
|
|
auto jstr = MakeJString(env, wpi::to_string_view(&str));
|
|
WPI_FreeString(&str);
|
|
return jstr;
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: setComments
|
|
* Signature: (Ljava/lang/String;)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_setComments
|
|
(JNIEnv* env, jclass, jstring comments)
|
|
{
|
|
JStringRef commentsJString{env, comments};
|
|
auto str = wpi::make_string(commentsJString);
|
|
HALSIM_SetRoboRioComments(&str);
|
|
}
|
|
|
|
/*
|
|
* Class: org_wpilib_hardware_hal_simulation_RoboRioDataJNI
|
|
* Method: resetData
|
|
* Signature: ()V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_org_wpilib_hardware_hal_simulation_RoboRioDataJNI_resetData
|
|
(JNIEnv*, jclass)
|
|
{
|
|
HALSIM_ResetRoboRioData();
|
|
}
|
|
|
|
} // extern "C"
|