// Certain modifications are Copyright 2016 Cel Skeggs /*----------------------------------------------------------------------------*/ /* 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. */ /*----------------------------------------------------------------------------*/ package edu.wpi.first.wpilibj.hal; import java.nio.IntBuffer; import java.nio.LongBuffer; @SuppressWarnings("javadoc") public class AnalogJNI extends JNIWrapper { /** * <i>native declaration : * AthenaJava\target\native\include\HAL\Analog.h:58</i><br> * enum values */ public static interface AnalogTriggerType { /** * <i>native declaration : * AthenaJava\target\native\include\HAL\Analog.h:54</i> */ public static final int kInWindow = 0; /** * <i>native declaration : * AthenaJava\target\native\include\HAL\Analog.h:55</i> */ public static final int kState = 1; /** * <i>native declaration : * AthenaJava\target\native\include\HAL\Analog.h:56</i> */ public static final int kRisingPulse = 2; /** * <i>native declaration : * AthenaJava\target\native\include\HAL\Analog.h:57</i> */ public static final int kFallingPulse = 3; }; public static native long initializeAnalogInputPort(long port_pointer); public static native void freeAnalogInputPort(long port_pointer); public static native long initializeAnalogOutputPort(long port_pointer); public static native void freeAnalogOutputPort(long port_pointer); public static native boolean checkAnalogModule(byte module); public static native boolean checkAnalogInputChannel(int pin); public static native boolean checkAnalogOutputChannel(int pin); public static native void setAnalogOutput(long port_pointer, double voltage); public static native double getAnalogOutput(long port_pointer); public static native void setAnalogSampleRate(double samplesPerSecond); public static native double getAnalogSampleRate(); public static native void setAnalogAverageBits(long analog_port_pointer, int bits); public static native int getAnalogAverageBits(long analog_port_pointer); public static native void setAnalogOversampleBits(long analog_port_pointer, int bits); public static native int getAnalogOversampleBits(long analog_port_pointer); public static native short getAnalogValue(long analog_port_pointer); public static native int getAnalogAverageValue(long analog_port_pointer); public static native int getAnalogVoltsToValue(long analog_port_pointer, double voltage); public static native double getAnalogVoltage(long analog_port_pointer); public static native double getAnalogAverageVoltage(long analog_port_pointer); public static native int getAnalogLSBWeight(long analog_port_pointer); public static native int getAnalogOffset(long analog_port_pointer); public static native boolean isAccumulatorChannel(long analog_port_pointer); public static native void initAccumulator(long analog_port_pointer); public static native void resetAccumulator(long analog_port_pointer); public static native void setAccumulatorCenter(long analog_port_pointer, int center); public static native void setAccumulatorDeadband(long analog_port_pointer, int deadband); public static native long getAccumulatorValue(long analog_port_pointer); public static native int getAccumulatorCount(long analog_port_pointer); public static native void getAccumulatorOutput(long analog_port_pointer, LongBuffer value, IntBuffer count); public static native long initializeAnalogTrigger(long port_pointer, IntBuffer index); public static native void cleanAnalogTrigger(long analog_trigger_pointer); public static native void setAnalogTriggerLimitsRaw(long analog_trigger_pointer, int lower, int upper); public static native void setAnalogTriggerLimitsVoltage(long analog_trigger_pointer, double lower, double upper); public static native void setAnalogTriggerAveraged(long analog_trigger_pointer, boolean useAveragedValue); public static native void setAnalogTriggerFiltered(long analog_trigger_pointer, boolean useFilteredValue); public static native boolean getAnalogTriggerInWindow(long analog_trigger_pointer); public static native boolean getAnalogTriggerTriggerState(long analog_trigger_pointer); public static native boolean getAnalogTriggerOutput(long analog_trigger_pointer, int type); }