[hal] Add RobotController.getSerialNumber() (#4783)

This commit is contained in:
Ryan Blue
2022-12-09 00:58:55 -05:00
committed by GitHub
parent 69a66ec5ec
commit 5a52b51443
19 changed files with 292 additions and 0 deletions

View File

@@ -456,6 +456,20 @@ Java_edu_wpi_first_hal_HALUtil_getFPGARevision
return returnValue;
}
/*
* Class: edu_wpi_first_hal_HALUtil
* Method: getSerialNumber
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_edu_wpi_first_hal_HALUtil_getSerialNumber
(JNIEnv* env, jclass)
{
char serialNum[9];
size_t len = HAL_GetSerialNumber(serialNum, sizeof(serialNum));
return MakeJString(env, std::string_view(serialNum, len));
}
/*
* Class: edu_wpi_first_hal_HALUtil
* Method: getFPGATime

View File

@@ -4,11 +4,14 @@
#include <jni.h>
#include <wpi/jni_util.h>
#include "CallbackStore.h"
#include "edu_wpi_first_hal_simulation_RoboRioDataJNI.h"
#include "hal/simulation/RoboRioData.h"
using namespace hal;
using namespace wpi::java;
extern "C" {
@@ -825,6 +828,34 @@ Java_edu_wpi_first_hal_simulation_RoboRioDataJNI_setBrownoutVoltage
HALSIM_SetRoboRioBrownoutVoltage(value);
}
/*
* Class: edu_wpi_first_hal_simulation_RoboRioDataJNI
* Method: getSerialNumber
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_edu_wpi_first_hal_simulation_RoboRioDataJNI_getSerialNumber
(JNIEnv* env, jclass)
{
char serialNum[9];
size_t len = HALSIM_GetRoboRioSerialNumber(serialNum, sizeof(serialNum));
return MakeJString(env, std::string_view(serialNum, len));
}
/*
* Class: edu_wpi_first_hal_simulation_RoboRioDataJNI
* Method: setSerialNumber
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_edu_wpi_first_hal_simulation_RoboRioDataJNI_setSerialNumber
(JNIEnv* env, jclass, jstring serialNumber)
{
JStringRef serialNumberJString{env, serialNumber};
HALSIM_SetRoboRioSerialNumber(serialNumberJString.c_str(),
serialNumberJString.size());
}
/*
* Class: edu_wpi_first_hal_simulation_RoboRioDataJNI
* Method: resetData