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-05-30 14:04:05 -04:00
|
|
|
#include "edu_wpi_first_wpilibj_hal_PDPJNI.h"
|
|
|
|
|
#include "HAL/PDP.hpp"
|
2015-11-01 09:11:52 -08:00
|
|
|
#include "HALUtil.h"
|
|
|
|
|
|
|
|
|
|
extern "C" {
|
2014-05-30 14:04:05 -04:00
|
|
|
|
2015-06-16 16:47:35 -04:00
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: getPDPTemperature
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (I)V
|
2015-06-16 16:47:35 -04:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_initializePDP
|
|
|
|
|
(JNIEnv *, jclass, jint module)
|
|
|
|
|
{
|
|
|
|
|
initializePDP(module);
|
|
|
|
|
}
|
|
|
|
|
|
2014-05-30 14:04:05 -04:00
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: getPDPTemperature
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (I)D
|
2014-05-30 14:04:05 -04:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_getPDPTemperature
|
2015-11-01 09:11:52 -08:00
|
|
|
(JNIEnv *env, jclass, jint module)
|
2014-05-30 14:04:05 -04:00
|
|
|
{
|
2015-11-01 09:11:52 -08:00
|
|
|
int32_t status = 0;
|
2015-11-06 15:43:06 -08:00
|
|
|
double temperature = getPDPTemperature(module, &status);
|
2015-11-01 09:11:52 -08:00
|
|
|
CheckStatus(env, status, false);
|
|
|
|
|
return temperature;
|
2014-05-30 14:04:05 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: getPDPVoltage
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (I)D
|
2014-05-30 14:04:05 -04:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_getPDPVoltage
|
2015-11-01 09:11:52 -08:00
|
|
|
(JNIEnv *env, jclass, jint module)
|
2014-05-30 14:04:05 -04:00
|
|
|
{
|
2015-11-01 09:11:52 -08:00
|
|
|
int32_t status = 0;
|
2015-11-06 15:43:06 -08:00
|
|
|
double voltage = getPDPVoltage(module, &status);
|
2015-11-01 09:11:52 -08:00
|
|
|
CheckStatus(env, status, false);
|
|
|
|
|
return voltage;
|
2014-05-30 14:04:05 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: getPDPChannelCurrent
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (BI)D
|
2014-05-30 14:04:05 -04:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_getPDPChannelCurrent
|
2015-11-01 09:11:52 -08:00
|
|
|
(JNIEnv *env, jclass, jbyte channel, jint module)
|
2014-05-30 14:04:05 -04:00
|
|
|
{
|
2015-11-01 09:11:52 -08:00
|
|
|
int32_t status = 0;
|
2015-11-06 15:43:06 -08:00
|
|
|
double current = getPDPChannelCurrent(module, channel, &status);
|
2015-11-01 09:11:52 -08:00
|
|
|
CheckStatus(env, status, false);
|
|
|
|
|
return current;
|
2014-05-30 14:04:05 -04:00
|
|
|
}
|
|
|
|
|
|
2014-12-07 14:36:25 -05:00
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: getPDPTotalCurrent
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (I)D
|
2014-12-07 14:36:25 -05:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_getPDPTotalCurrent
|
2015-11-01 09:11:52 -08:00
|
|
|
(JNIEnv *env, jclass, jint module)
|
2014-12-07 14:36:25 -05:00
|
|
|
{
|
2015-11-01 09:11:52 -08:00
|
|
|
int32_t status = 0;
|
2015-11-06 15:43:06 -08:00
|
|
|
double current = getPDPTotalCurrent(module, &status);
|
2015-11-01 09:11:52 -08:00
|
|
|
CheckStatus(env, status, false);
|
|
|
|
|
return current;
|
2014-12-07 14:36:25 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: getPDPTotalPower
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (I)D
|
2014-12-07 14:36:25 -05:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_getPDPTotalPower
|
2015-11-01 09:11:52 -08:00
|
|
|
(JNIEnv *env, jclass, jint module)
|
2014-12-07 14:36:25 -05:00
|
|
|
{
|
2015-11-01 09:11:52 -08:00
|
|
|
int32_t status = 0;
|
2015-11-06 15:43:06 -08:00
|
|
|
double power = getPDPTotalPower(module, &status);
|
2015-11-01 09:11:52 -08:00
|
|
|
CheckStatus(env, status, false);
|
|
|
|
|
return power;
|
2014-12-07 14:36:25 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: resetPDPTotalEnergy
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (I)D
|
2014-12-07 14:36:25 -05:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT jdouble JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_getPDPTotalEnergy
|
2015-11-01 09:11:52 -08:00
|
|
|
(JNIEnv *env, jclass, jint module)
|
2014-12-07 14:36:25 -05:00
|
|
|
{
|
2015-11-01 09:11:52 -08:00
|
|
|
int32_t status = 0;
|
2015-11-06 15:43:06 -08:00
|
|
|
double energy = getPDPTotalEnergy(module, &status);
|
2015-11-01 09:11:52 -08:00
|
|
|
CheckStatus(env, status, false);
|
|
|
|
|
return energy;
|
2014-12-07 14:36:25 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: resetPDPTotalEnergy
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (I)V
|
2014-12-07 14:36:25 -05:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_resetPDPTotalEnergy
|
2015-11-01 09:11:52 -08:00
|
|
|
(JNIEnv *env, jclass, jint module)
|
2014-12-07 14:36:25 -05:00
|
|
|
{
|
2015-11-01 09:11:52 -08:00
|
|
|
int32_t status = 0;
|
2015-11-06 15:43:06 -08:00
|
|
|
resetPDPTotalEnergy(module, &status);
|
2015-11-01 09:11:52 -08:00
|
|
|
CheckStatus(env, status, false);
|
2014-12-07 14:36:25 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class: edu_wpi_first_wpilibj_hal_PDPJNI
|
|
|
|
|
* Method: clearStickyFaults
|
2015-11-01 09:11:52 -08:00
|
|
|
* Signature: (I)V
|
2014-12-07 14:36:25 -05:00
|
|
|
*/
|
|
|
|
|
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_PDPJNI_clearPDPStickyFaults
|
2015-11-01 09:11:52 -08:00
|
|
|
(JNIEnv *env, jclass, jint module)
|
2014-12-07 14:36:25 -05:00
|
|
|
{
|
2015-11-01 09:11:52 -08:00
|
|
|
int32_t status = 0;
|
2015-11-06 15:43:06 -08:00
|
|
|
clearPDPStickyFaults(module, &status);
|
2015-11-01 09:11:52 -08:00
|
|
|
CheckStatus(env, status, false);
|
2015-09-29 23:45:55 -07:00
|
|
|
}
|
2015-11-01 09:11:52 -08:00
|
|
|
|
|
|
|
|
} // extern "C"
|