2016-01-02 03:02:34 -08:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
/* Copyright (c) FIRST 2016. All Rights Reserved. */
|
|
|
|
|
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
|
|
|
|
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
|
|
|
|
/* the project. */
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
2014-01-06 09:27:51 -05:00
|
|
|
#include <assert.h>
|
2016-05-20 17:30:37 -07:00
|
|
|
#include <jni.h>
|
2016-07-14 00:17:29 -07:00
|
|
|
#include "HAL/cpp/Log.h"
|
2014-01-06 09:27:51 -05:00
|
|
|
|
|
|
|
|
#include "edu_wpi_first_wpilibj_hal_EncoderJNI.h"
|
|
|
|
|
|
2016-05-24 00:58:10 -07:00
|
|
|
#include "HAL/Encoder.h"
|
2016-05-22 21:41:22 -07:00
|
|
|
#include "HAL/Errors.h"
|
2015-11-01 09:11:52 -08:00
|
|
|
#include "HALUtil.h"
|
2014-01-06 09:27:51 -05:00
|
|
|
|
|
|
|
|
// set the logging level
|
2015-01-18 18:57:34 -08:00
|
|
|
TLogLevel encoderJNILogLevel = logWARNING;
|
2014-01-06 09:27:51 -05:00
|
|
|
|
2016-05-20 17:30:37 -07:00
|
|
|
#define ENCODERJNI_LOG(level) \
|
|
|
|
|
if (level > encoderJNILogLevel) \
|
|
|
|
|
; \
|
|
|
|
|
else \
|
|
|
|
|
Log().Get(level)
|
2014-01-06 09:27:51 -05:00
|
|
|
|
2015-11-01 09:11:52 -08:00
|
|
|
extern "C" {
|
|
|
|
|
|
2014-01-06 09:27:51 -05:00
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: initializeEncoder
|
2016-07-07 21:43:55 -07:00
|
|
|
* Signature: (IIIIZI)I
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEXPORT jint JNICALL
|
2016-05-20 17:30:37 -07:00
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_initializeEncoder(
|
2016-07-07 21:43:55 -07:00
|
|
|
JNIEnv* env, jclass, jint digitalSourceHandleA, jint analogTriggerTypeA,
|
|
|
|
|
jint digitalSourceHandleB, jint analogTriggerTypeB, jboolean reverseDirection,
|
|
|
|
|
jint encodingType) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI initializeEncoder";
|
2016-07-07 21:43:55 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Source Handle A = " << digitalSourceHandleA;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Analog Trigger Type A = "
|
|
|
|
|
<< analogTriggerTypeA;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Source Handle B = " << digitalSourceHandleB;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Analog Trigger Type B = "
|
|
|
|
|
<< analogTriggerTypeB;
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Reverse direction = " << (jint)reverseDirection;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "EncodingType = " << encodingType;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
auto encoder = HAL_InitializeEncoder(
|
|
|
|
|
(HAL_Handle)digitalSourceHandleA, (HAL_AnalogTriggerType)analogTriggerTypeA,
|
|
|
|
|
(HAL_Handle)digitalSourceHandleB, (HAL_AnalogTriggerType)analogTriggerTypeB,
|
|
|
|
|
reverseDirection, (HAL_EncoderEncodingType)encodingType, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "ENCODER Handle = " << encoder;
|
2016-09-29 20:18:40 -07:00
|
|
|
CheckStatusForceThrow(env, status);
|
2016-07-03 15:22:22 -07:00
|
|
|
return (jint)encoder;
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: freeEncoder
|
2016-07-03 15:22:22 -07:00
|
|
|
* Signature: (I)V
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_EncoderJNI_freeEncoder(
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEnv* env, jclass, jint id) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI freeEncoder";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
HAL_FreeEncoder((HAL_EncoderHandle)id, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
CheckStatus(env, status);
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
2016-07-03 15:22:22 -07:00
|
|
|
* Method: getEncoder
|
|
|
|
|
* Signature: (I)I
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEXPORT jint JNICALL Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoder(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoder";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoder((HAL_EncoderHandle)id, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncoderResult = " << returnValue;
|
2016-05-20 17:30:37 -07:00
|
|
|
CheckStatus(env, status);
|
2016-07-03 15:22:22 -07:00
|
|
|
return returnValue;
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
2016-07-03 15:22:22 -07:00
|
|
|
* Method: getEncoderRaw
|
|
|
|
|
* Signature: (I)I
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEXPORT jint JNICALL Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderRaw(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderRaw";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoderRaw((HAL_EncoderHandle)id, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getRawEncoderResult = " << returnValue;
|
2016-05-20 17:30:37 -07:00
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
2016-07-03 15:22:22 -07:00
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncodingScaleFactor
|
|
|
|
|
* Signature: (I)I
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT jint JNICALL Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncodingScaleFactor(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncodingScaleFactor";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoderEncodingScale((HAL_EncoderHandle)id, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncodingScaleFactorResult = " << returnValue;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: resetEncoder
|
|
|
|
|
* Signature: (I)V
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_EncoderJNI_resetEncoder(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI resetEncoder";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
HAL_ResetEncoder((HAL_EncoderHandle)id, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-06 09:27:51 -05:00
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderPeriod
|
2016-07-03 15:22:22 -07:00
|
|
|
* Signature: (I)D
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT jdouble JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderPeriod(
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEnv* env, jclass, jint id) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderPeriod";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
double returnValue = HAL_GetEncoderPeriod((HAL_EncoderHandle)id, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncoderPeriodEncoderResult = " << returnValue;
|
2016-05-20 17:30:37 -07:00
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: setEncoderMaxPeriod
|
2016-07-03 15:22:22 -07:00
|
|
|
* Signature: (ID)V
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT void JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_setEncoderMaxPeriod(
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEnv* env, jclass, jint id, jdouble value) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI setEncoderMaxPeriod";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
HAL_SetEncoderMaxPeriod((HAL_EncoderHandle)id, value, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
CheckStatus(env, status);
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderStopped
|
2016-07-03 15:22:22 -07:00
|
|
|
* Signature: (I)Z
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT jboolean JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderStopped(
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEnv* env, jclass, jint id) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderStopped";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jboolean returnValue = HAL_GetEncoderStopped((HAL_EncoderHandle)id, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getStoppedEncoderResult = " << returnValue;
|
2016-05-20 17:30:37 -07:00
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderDirection
|
2016-07-03 15:22:22 -07:00
|
|
|
* Signature: (I)Z
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT jboolean JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderDirection(
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEnv* env, jclass, jint id) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderDirection";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jboolean returnValue = HAL_GetEncoderDirection((HAL_EncoderHandle)id, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getDirectionEncoderResult = " << returnValue;
|
2016-05-20 17:30:37 -07:00
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
2016-07-03 15:22:22 -07:00
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderDistance
|
|
|
|
|
* Signature: (I)D
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderDistance(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderDistance";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jdouble returnValue = HAL_GetEncoderDistance((HAL_EncoderHandle)id, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getDistanceEncoderResult = " << returnValue;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderRate
|
|
|
|
|
* Signature: (I)D
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderRate(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderRate";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jdouble returnValue = HAL_GetEncoderRate((HAL_EncoderHandle)id, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getRateEncoderResult = " << returnValue;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: setEncoderMinRate
|
|
|
|
|
* Signature: (ID)V
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT void JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_setEncoderMinRate(
|
|
|
|
|
JNIEnv* env, jclass, jint id, jdouble value) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI setEncoderMinRate";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
HAL_SetEncoderMinRate((HAL_EncoderHandle)id, value, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: setEncoderDistancePerPulse
|
|
|
|
|
* Signature: (ID)V
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT void JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_setEncoderDistancePerPulse(
|
|
|
|
|
JNIEnv* env, jclass, jint id, jdouble value) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI setEncoderDistancePerPulse";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
HAL_SetEncoderDistancePerPulse((HAL_EncoderHandle)id, value, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-06 09:27:51 -05:00
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: setEncoderReverseDirection
|
2016-07-03 15:22:22 -07:00
|
|
|
* Signature: (IZ)V
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT void JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_setEncoderReverseDirection(
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEnv* env, jclass, jint id, jboolean value) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI setEncoderReverseDirection";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
HAL_SetEncoderReverseDirection((HAL_EncoderHandle)id, value, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
CheckStatus(env, status);
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: setEncoderSamplesToAverage
|
2016-07-03 15:22:22 -07:00
|
|
|
* Signature: (II)V
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT void JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_setEncoderSamplesToAverage(
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEnv* env, jclass, jint id, jint value) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI setEncoderSamplesToAverage";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
HAL_SetEncoderSamplesToAverage((HAL_EncoderHandle)id, value, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
if (status == PARAMETER_OUT_OF_RANGE) {
|
|
|
|
|
ThrowBoundaryException(env, value, 1, 127);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
CheckStatus(env, status);
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderSamplesToAverage
|
2016-07-03 15:22:22 -07:00
|
|
|
* Signature: (I)I
|
2014-01-06 09:27:51 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT jint JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderSamplesToAverage(
|
2016-07-03 15:22:22 -07:00
|
|
|
JNIEnv* env, jclass, jint id) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderSamplesToAverage";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoderSamplesToAverage((HAL_EncoderHandle)id, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncoderSamplesToAverageResult = "
|
|
|
|
|
<< returnValue;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
2014-01-06 09:27:51 -05:00
|
|
|
}
|
2015-01-08 00:23:32 -05:00
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: setEncoderIndexSource
|
2016-07-07 21:43:55 -07:00
|
|
|
* Signature: (IIII)V
|
2015-01-08 00:23:32 -05:00
|
|
|
*/
|
2016-05-20 17:30:37 -07:00
|
|
|
JNIEXPORT void JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_setEncoderIndexSource(
|
2016-07-07 21:43:55 -07:00
|
|
|
JNIEnv* env, jclass, jint id, jint digitalSourceHandle,
|
|
|
|
|
jint analogTriggerType, jint type) {
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI setEncoderIndexSource";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-07 21:43:55 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Source Handle = " << digitalSourceHandle;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Analog Trigger Type = "
|
|
|
|
|
<< analogTriggerType;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "IndexingType = " << type;
|
|
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
HAL_SetEncoderIndexSource((HAL_EncoderHandle)id, (HAL_Handle)digitalSourceHandle,
|
|
|
|
|
(HAL_AnalogTriggerType)analogTriggerType,
|
|
|
|
|
(HAL_EncoderIndexingType)type, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderFPGAIndex
|
|
|
|
|
* Signature: (I)I
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT jint JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderFPGAIndex(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderSamplesToAverage";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoderFPGAIndex((HAL_EncoderHandle)id, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncoderSamplesToAverageResult = "
|
|
|
|
|
<< returnValue;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderEncodingScale
|
|
|
|
|
* Signature: (I)I
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT jint JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderEncodingScale(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderSamplesToAverage";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoderEncodingScale((HAL_EncoderHandle)id, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncoderSamplesToAverageResult = "
|
|
|
|
|
<< returnValue;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderDecodingScaleFactor
|
|
|
|
|
* Signature: (I)D
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderDecodingScaleFactor(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderSamplesToAverage";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoderDecodingScaleFactor((HAL_EncoderHandle)id, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncoderSamplesToAverageResult = "
|
|
|
|
|
<< returnValue;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderDistancePerPulse
|
|
|
|
|
* Signature: (I)D
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderDistancePerPulse(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderSamplesToAverage";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-05-20 17:30:37 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoderDistancePerPulse((HAL_EncoderHandle)id, &status);
|
2016-05-20 17:30:37 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncoderSamplesToAverageResult = "
|
|
|
|
|
<< returnValue;
|
2016-05-20 17:30:37 -07:00
|
|
|
CheckStatus(env, status);
|
2016-07-03 15:22:22 -07:00
|
|
|
return returnValue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_EncoderJNI
|
|
|
|
|
* Method: getEncoderEncodingType
|
|
|
|
|
* Signature: (I)I
|
|
|
|
|
*/
|
|
|
|
|
JNIEXPORT jint JNICALL
|
|
|
|
|
Java_edu_wpi_first_wpilibj_hal_EncoderJNI_getEncoderEncodingType(
|
|
|
|
|
JNIEnv* env, jclass, jint id) {
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Calling ENCODERJNI getEncoderSamplesToAverage";
|
2016-07-09 00:24:26 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Encoder Handle = " << (HAL_EncoderHandle)id;
|
2016-07-03 15:22:22 -07:00
|
|
|
int32_t status = 0;
|
2016-07-09 00:24:26 -07:00
|
|
|
jint returnValue = HAL_GetEncoderEncodingType((HAL_EncoderHandle)id, &status);
|
2016-07-03 15:22:22 -07:00
|
|
|
ENCODERJNI_LOG(logDEBUG) << "Status = " << status;
|
|
|
|
|
ENCODERJNI_LOG(logDEBUG) << "getEncoderSamplesToAverageResult = "
|
|
|
|
|
<< returnValue;
|
|
|
|
|
CheckStatus(env, status);
|
|
|
|
|
return returnValue;
|
2015-01-08 00:23:32 -05:00
|
|
|
}
|
2015-11-01 09:11:52 -08:00
|
|
|
|
|
|
|
|
} // extern "C"
|