mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-02 02:51:42 +00:00
Switches PWM and DIO to Handles (#120)
This commit is contained in:
committed by
Peter Johnson
parent
9b2af0d090
commit
3593ecb17e
@@ -28,78 +28,47 @@ extern "C" {
|
||||
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_DIOJNI
|
||||
* Method: initializeDigitalPort
|
||||
* Signature: (I)J;
|
||||
* Method: initializeDIOPort
|
||||
* Signature: (IZ)I;
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_DIOJNI_initializeDigitalPort(
|
||||
JNIEnv *env, jclass, jint id) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI initializeDigitalPort";
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_DIOJNI_initializeDIOPort(
|
||||
JNIEnv *env, jclass, jint id, jboolean input) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI initializeDIOPort";
|
||||
DIOJNI_LOG(logDEBUG) << "Port Handle = " << (HalPortHandle)id;
|
||||
DIOJNI_LOG(logDEBUG) << "Input = " << (jint)input;
|
||||
int32_t status = 0;
|
||||
void *dio = initializeDigitalPort((HalPortHandle)id, &status);
|
||||
auto dio = initializeDIOPort((HalPortHandle)id, (uint8_t)input, &status);
|
||||
DIOJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
DIOJNI_LOG(logDEBUG) << "DIO Ptr = " << dio;
|
||||
DIOJNI_LOG(logDEBUG) << "DIO Handle = " << dio;
|
||||
CheckStatus(env, status);
|
||||
return (jlong)dio;
|
||||
return (jint)dio;
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_DIOJNI
|
||||
* Method: freeDigitalPort
|
||||
* Signature: (J)V;
|
||||
* Method: freeDIOPort
|
||||
* Signature: (I)V;
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_freeDigitalPort(
|
||||
JNIEnv *env, jclass, jlong id) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI freeDigitalPort";
|
||||
DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void *)id;
|
||||
freeDigitalPort((void *)id);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_DIOJNI
|
||||
* Method: allocateDIO
|
||||
* Signature: (JZ)Z
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_allocateDIO(
|
||||
JNIEnv *env, jclass, jlong id, jboolean value) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI allocateDIO";
|
||||
DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void *)id;
|
||||
int32_t status = 0;
|
||||
jboolean returnValue = allocateDIO((void *)id, value, &status);
|
||||
DIOJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
DIOJNI_LOG(logDEBUG) << "allocateDIOResult = " << (jint)returnValue;
|
||||
CheckStatus(env, status);
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_DIOJNI
|
||||
* Method: freeDIO
|
||||
* Signature: (J)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_DIOJNI_freeDIO(JNIEnv *env, jclass, jlong id) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI freeDIO";
|
||||
DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void *)id;
|
||||
int32_t status = 0;
|
||||
freeDIO((void *)id, &status);
|
||||
DIOJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
CheckStatus(env, status);
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_freeDIOPort(
|
||||
JNIEnv *env, jclass, jint id) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI freeDIOPort";
|
||||
DIOJNI_LOG(logDEBUG) << "Port Handle = " << (HalDigitalHandle)id;
|
||||
freeDIOPort((HalDigitalHandle)id);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_DIOJNI
|
||||
* Method: setDIO
|
||||
* Signature: (JS)V
|
||||
* Signature: (IS)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_setDIO(
|
||||
JNIEnv *env, jclass, jlong id, jshort value) {
|
||||
JNIEnv *env, jclass, jint id, jshort value) {
|
||||
// DIOJNI_LOG(logDEBUG) << "Calling DIOJNI setDIO";
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void*)id;
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Handle = " << (HalDigitalHandle)id;
|
||||
// DIOJNI_LOG(logDEBUG) << "Value = " << value;
|
||||
int32_t status = 0;
|
||||
setDIO((void *)id, value, &status);
|
||||
setDIO((HalDigitalHandle)id, value, &status);
|
||||
// DIOJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
CheckStatus(env, status);
|
||||
}
|
||||
@@ -110,11 +79,11 @@ JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_setDIO(
|
||||
* Signature: (J)Z
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_DIOJNI_getDIO(JNIEnv *env, jclass, jlong id) {
|
||||
Java_edu_wpi_first_wpilibj_hal_DIOJNI_getDIO(JNIEnv *env, jclass, jint id) {
|
||||
// DIOJNI_LOG(logDEBUG) << "Calling DIOJNI getDIO";
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void*)id;
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Handle = " << (HalDigitalHandle)id;
|
||||
int32_t status = 0;
|
||||
jboolean returnValue = getDIO((void *)id, &status);
|
||||
jboolean returnValue = getDIO((HalDigitalHandle)id, &status);
|
||||
// DIOJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
// DIOJNI_LOG(logDEBUG) << "getDIOResult = " << (jint)returnValue;
|
||||
CheckStatus(env, status);
|
||||
@@ -128,11 +97,11 @@ Java_edu_wpi_first_wpilibj_hal_DIOJNI_getDIO(JNIEnv *env, jclass, jlong id) {
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_DIOJNI_getDIODirection(
|
||||
JNIEnv *env, jclass, jlong id) {
|
||||
JNIEnv *env, jclass, jint id) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI getDIODirection (RR upd)";
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void*)id;
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Handle = " << (HalDigitalHandle)id;
|
||||
int32_t status = 0;
|
||||
jboolean returnValue = getDIODirection((void *)id, &status);
|
||||
jboolean returnValue = getDIODirection((HalDigitalHandle)id, &status);
|
||||
// DIOJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
DIOJNI_LOG(logDEBUG) << "getDIODirectionResult = " << (jint)returnValue;
|
||||
CheckStatus(env, status);
|
||||
@@ -145,12 +114,12 @@ Java_edu_wpi_first_wpilibj_hal_DIOJNI_getDIODirection(
|
||||
* Signature: (JD)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_pulse(
|
||||
JNIEnv *env, jclass, jlong id, jdouble value) {
|
||||
JNIEnv *env, jclass, jint id, jdouble value) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI pulse (RR upd)";
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void*)id;
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Handle = " << (HalDigitalHandle)id;
|
||||
// DIOJNI_LOG(logDEBUG) << "Value = " << value;
|
||||
int32_t status = 0;
|
||||
pulse((void *)id, value, &status);
|
||||
pulse((HalDigitalHandle)id, value, &status);
|
||||
DIOJNI_LOG(logDEBUG) << "Did it work? Status = " << status;
|
||||
CheckStatus(env, status);
|
||||
}
|
||||
@@ -161,11 +130,11 @@ JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_DIOJNI_pulse(
|
||||
* Signature: (J)Z
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_DIOJNI_isPulsing(JNIEnv *env, jclass, jlong id) {
|
||||
Java_edu_wpi_first_wpilibj_hal_DIOJNI_isPulsing(JNIEnv *env, jclass, jint id) {
|
||||
DIOJNI_LOG(logDEBUG) << "Calling DIOJNI isPulsing (RR upd)";
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Ptr = " << (void*)id;
|
||||
// DIOJNI_LOG(logDEBUG) << "Port Handle = " << (HalDigitalHandle)id;
|
||||
int32_t status = 0;
|
||||
jboolean returnValue = isPulsing((void *)id, &status);
|
||||
jboolean returnValue = isPulsing((HalDigitalHandle)id, &status);
|
||||
// DIOJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
DIOJNI_LOG(logDEBUG) << "isPulsingResult = " << (jint)returnValue;
|
||||
CheckStatus(env, status);
|
||||
|
||||
@@ -17,11 +17,10 @@
|
||||
*/
|
||||
JNIEXPORT void JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_DigitalGlitchFilterJNI_setFilterSelect(
|
||||
JNIEnv* env, jclass, jlong port_pointer, jint filter_index) {
|
||||
JNIEnv* env, jclass, jint id, jint filter_index) {
|
||||
int32_t status = 0;
|
||||
void* digital_port_pointer = reinterpret_cast<void*>(port_pointer);
|
||||
|
||||
setFilterSelect(digital_port_pointer, filter_index, &status);
|
||||
setFilterSelect((HalDigitalHandle)id, filter_index, &status);
|
||||
CheckStatus(env, status);
|
||||
}
|
||||
|
||||
@@ -31,11 +30,10 @@ Java_edu_wpi_first_wpilibj_hal_DigitalGlitchFilterJNI_setFilterSelect(
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_DigitalGlitchFilterJNI_getFilterSelect(
|
||||
JNIEnv* env, jclass, jlong port_pointer) {
|
||||
JNIEnv* env, jclass, jint id) {
|
||||
int32_t status = 0;
|
||||
void* digital_port_pointer = reinterpret_cast<void*>(port_pointer);
|
||||
|
||||
jint result = getFilterSelect(digital_port_pointer, &status);
|
||||
jint result = getFilterSelect((HalDigitalHandle)id, &status);
|
||||
CheckStatus(env, status);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -28,48 +28,47 @@ extern "C" {
|
||||
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_PWMJNI
|
||||
* Method: allocatePWMChannel
|
||||
* Signature: (J)Z
|
||||
* Method: initializePWMPort
|
||||
* Signature: (I)I;
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_PWMJNI_allocatePWMChannel(
|
||||
JNIEnv* env, jclass, jlong id) {
|
||||
PWMJNI_LOG(logDEBUG) << "Calling DIOJNI allocatePWMChannel";
|
||||
PWMJNI_LOG(logDEBUG) << "Port Ptr = " << (void*)id;
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_PWMJNI_initializePWMPort(
|
||||
JNIEnv *env, jclass, jint id) {
|
||||
PWMJNI_LOG(logDEBUG) << "Calling PWMJNI initializePWMPort";
|
||||
PWMJNI_LOG(logDEBUG) << "Port Handle = " << (HalPortHandle)id;
|
||||
int32_t status = 0;
|
||||
jboolean returnValue = allocatePWMChannel((void*)id, &status);
|
||||
auto pwm = initializePWMPort((HalPortHandle)id, &status);
|
||||
PWMJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
PWMJNI_LOG(logDEBUG) << "allocatePWMChannelResult = " << (jint)returnValue;
|
||||
PWMJNI_LOG(logDEBUG) << "PWM Handle = " << pwm;
|
||||
CheckStatus(env, status);
|
||||
return returnValue;
|
||||
return (jint)pwm;
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_PWMJNI
|
||||
* Method: freePWMChannel
|
||||
* Signature: (J)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PWMJNI_freePWMChannel(
|
||||
JNIEnv* env, jclass, jlong id) {
|
||||
PWMJNI_LOG(logDEBUG) << "Calling DIOJNI freePWMChannel";
|
||||
PWMJNI_LOG(logDEBUG) << "Port Ptr = " << (void*)id;
|
||||
* Class: edu_wpi_first_wpilibj_hal_DIOJNI
|
||||
* Method: freeDIOPort
|
||||
* Signature: (I)V;
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PWMJNI_freePWMPort(
|
||||
JNIEnv *env, jclass, jint id) {
|
||||
PWMJNI_LOG(logDEBUG) << "Calling PWMJNI freePWMPort";
|
||||
PWMJNI_LOG(logDEBUG) << "Port Handle = " << (HalDigitalHandle)id;
|
||||
int32_t status = 0;
|
||||
freePWMChannel((void*)id, &status);
|
||||
PWMJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
freePWMPort((HalDigitalHandle)id, &status);
|
||||
CheckStatus(env, status);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_PWMJNI
|
||||
* Method: setPWM
|
||||
* Signature: (JS)V
|
||||
* Signature: (IS)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PWMJNI_setPWM(
|
||||
JNIEnv* env, jclass, jlong id, jshort value) {
|
||||
PWMJNI_LOG(logDEBUG) << "DigitalPort Ptr = " << (void*)id;
|
||||
JNIEnv* env, jclass, jint id, jshort value) {
|
||||
PWMJNI_LOG(logDEBUG) << "PWM Handle = " << (HalDigitalHandle)id;
|
||||
PWMJNI_LOG(logDEBUG) << "PWM Value = " << value;
|
||||
int32_t status = 0;
|
||||
setPWM((void*)id, value, &status);
|
||||
setPWM((HalDigitalHandle)id, value, &status);
|
||||
PWMJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
CheckStatus(env, status);
|
||||
}
|
||||
@@ -77,13 +76,13 @@ JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PWMJNI_setPWM(
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_PWMJNI
|
||||
* Method: getPWM
|
||||
* Signature: (J)S
|
||||
* Signature: (I)S
|
||||
*/
|
||||
JNIEXPORT jshort JNICALL
|
||||
Java_edu_wpi_first_wpilibj_hal_PWMJNI_getPWM(JNIEnv* env, jclass, jlong id) {
|
||||
PWMJNI_LOG(logDEBUG) << "PWM Ptr = " << (void*)id;
|
||||
Java_edu_wpi_first_wpilibj_hal_PWMJNI_getPWM(JNIEnv* env, jclass, jint id) {
|
||||
PWMJNI_LOG(logDEBUG) << "PWM Handle = " << (HalDigitalHandle)id;
|
||||
int32_t status = 0;
|
||||
jshort returnValue = getPWM((void*)id, &status);
|
||||
jshort returnValue = getPWM((HalDigitalHandle)id, &status);
|
||||
PWMJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
PWMJNI_LOG(logDEBUG) << "Value = " << returnValue;
|
||||
CheckStatus(env, status);
|
||||
@@ -93,13 +92,13 @@ Java_edu_wpi_first_wpilibj_hal_PWMJNI_getPWM(JNIEnv* env, jclass, jlong id) {
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_PWMJNI
|
||||
* Method: latchPWMZero
|
||||
* Signature: (J)V
|
||||
* Signature: (I)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PWMJNI_latchPWMZero(
|
||||
JNIEnv* env, jclass, jlong id) {
|
||||
PWMJNI_LOG(logDEBUG) << "PWM Ptr = " << (void*)id;
|
||||
JNIEnv* env, jclass, jint id) {
|
||||
PWMJNI_LOG(logDEBUG) << "PWM Handle = " << (HalDigitalHandle)id;
|
||||
int32_t status = 0;
|
||||
latchPWMZero((void*)id, &status);
|
||||
latchPWMZero((HalDigitalHandle)id, &status);
|
||||
PWMJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
CheckStatus(env, status);
|
||||
}
|
||||
@@ -107,14 +106,14 @@ JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PWMJNI_latchPWMZero(
|
||||
/*
|
||||
* Class: edu_wpi_first_wpilibj_hal_PWMJNI
|
||||
* Method: setPWMPeriodScale
|
||||
* Signature: (JI)V
|
||||
* Signature: (II)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PWMJNI_setPWMPeriodScale(
|
||||
JNIEnv* env, jclass, jlong id, jint value) {
|
||||
PWMJNI_LOG(logDEBUG) << "DigitalPort Ptr = " << (void*)id;
|
||||
JNIEnv* env, jclass, jint id, jint value) {
|
||||
PWMJNI_LOG(logDEBUG) << "PWM Handle = " << (HalDigitalHandle)id;
|
||||
PWMJNI_LOG(logDEBUG) << "PeriodScale Value = " << value;
|
||||
int32_t status = 0;
|
||||
setPWMPeriodScale((void*)id, value, &status);
|
||||
setPWMPeriodScale((HalDigitalHandle)id, value, &status);
|
||||
PWMJNI_LOG(logDEBUG) << "Status = " << status;
|
||||
CheckStatus(env, status);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user