/*----------------------------------------------------------------------------*/ /* 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. */ /*----------------------------------------------------------------------------*/ #include "HAL/HAL.h" #include "HALUtil.h" #include "Log.h" #include "edu_wpi_first_wpilibj_hal_CompressorJNI.h" extern "C" { /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: initializeCompressor * Signature: (B)I */ JNIEXPORT jint JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_initializeCompressor( JNIEnv *env, jclass, jbyte module) { int32_t status = 0; auto handle = HAL_InitializeCompressor(module, &status); if (status == PARAMETER_OUT_OF_RANGE) { ThrowBoundaryException(env, module, 0, HAL_GetNumPCMModules()); } return (jint)handle; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: checkCompressorModule * Signature: (B)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_checkCompressorModule( JNIEnv *env, jclass, jbyte module) { return HAL_CheckCompressorModule(module); } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressor * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressor( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressor((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: setCompressorClosedLoopControl * Signature: (JZ)V */ JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_setCompressorClosedLoopControl( JNIEnv *env, jclass, jint compressor_handle, jboolean value) { int32_t status = 0; HAL_SetCompressorClosedLoopControl((HAL_CompressorHandle)compressor_handle, value, &status); CheckStatus(env, status); } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorClosedLoopControl * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorClosedLoopControl( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressorClosedLoopControl((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorPressureSwitch * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorPressureSwitch( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressorPressureSwitch((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorCurrent * Signature: (J)F */ JNIEXPORT jfloat JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorCurrent( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; float val = HAL_GetCompressorCurrent((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorCurrentTooHighFault * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorCurrentTooHighFault( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressorCurrentTooHighFault((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorCurrentTooHighStickyFault * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorCurrentTooHighStickyFault( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressorCurrentTooHighStickyFault((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorShortedStickyFault * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorShortedStickyFault( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressorShortedStickyFault((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorShortedFault * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorShortedFault( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressorShortedFault((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorNotConnectedStickyFault * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorNotConnectedStickyFault( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressorNotConnectedStickyFault((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: getCompressorNotConnectedFault * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_getCompressorNotConnectedFault( JNIEnv *env, jclass, jint compressor_handle) { int32_t status = 0; bool val = HAL_GetCompressorNotConnectedFault((HAL_CompressorHandle)compressor_handle, &status); CheckStatus(env, status); return val; } /* * Class: edu_wpi_first_wpilibj_hal_CompressorJNI * Method: clearAllPCMStickyFaults * Signature: (J)V */ JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_CompressorJNI_clearAllPCMStickyFaults( JNIEnv *env, jclass, jbyte module) { int32_t status = 0; HAL_ClearAllPCMStickyFaults((uint8_t)module, &status); CheckStatus(env, status); } } // extern "C"