001package edu.wpi.first.wpilibj.hal; 002 003import java.nio.IntBuffer; 004import java.nio.ByteBuffer; 005import java.nio.LongBuffer; 006 007public class AnalogJNI extends JNIWrapper { 008 /** 009 * <i>native declaration : AthenaJava\target\native\include\HAL\Analog.h:58</i><br> 010 * enum values 011 */ 012 public static interface AnalogTriggerType { 013 /** <i>native declaration : AthenaJava\target\native\include\HAL\Analog.h:54</i> */ 014 public static final int kInWindow = 0; 015 /** <i>native declaration : AthenaJava\target\native\include\HAL\Analog.h:55</i> */ 016 public static final int kState = 1; 017 /** <i>native declaration : AthenaJava\target\native\include\HAL\Analog.h:56</i> */ 018 public static final int kRisingPulse = 2; 019 /** <i>native declaration : AthenaJava\target\native\include\HAL\Analog.h:57</i> */ 020 public static final int kFallingPulse = 3; 021 }; 022 023 public static native ByteBuffer initializeAnalogInputPort(ByteBuffer port_pointer, IntBuffer status); 024 public static native ByteBuffer initializeAnalogOutputPort(ByteBuffer port_pointer, IntBuffer status); 025 public static native byte checkAnalogModule(byte module); 026 public static native byte checkAnalogInputChannel(int pin); 027 public static native byte checkAnalogOutputChannel(int pin); 028 public static native void setAnalogOutput(ByteBuffer port_pointer, double voltage, IntBuffer status); 029 public static native double getAnalogOutput(ByteBuffer port_pointer, IntBuffer status); 030 public static native void setAnalogSampleRate(double samplesPerSecond, IntBuffer status); 031 public static native double getAnalogSampleRate(IntBuffer status); 032 public static native void setAnalogAverageBits(ByteBuffer analog_port_pointer, int bits, IntBuffer status); 033 public static native int getAnalogAverageBits(ByteBuffer analog_port_pointer, IntBuffer status); 034 public static native void setAnalogOversampleBits(ByteBuffer analog_port_pointer, int bits, IntBuffer status); 035 public static native int getAnalogOversampleBits(ByteBuffer analog_port_pointer, IntBuffer status); 036 public static native short getAnalogValue(ByteBuffer analog_port_pointer, IntBuffer status); 037 public static native int getAnalogAverageValue(ByteBuffer analog_port_pointer, IntBuffer status); 038 public static native int getAnalogVoltsToValue(ByteBuffer analog_port_pointer, double voltage, IntBuffer status); 039 public static native double getAnalogVoltage(ByteBuffer analog_port_pointer, IntBuffer status); 040 public static native double getAnalogAverageVoltage(ByteBuffer analog_port_pointer, IntBuffer status); 041 public static native int getAnalogLSBWeight(ByteBuffer analog_port_pointer, IntBuffer status); 042 public static native int getAnalogOffset(ByteBuffer analog_port_pointer, IntBuffer status); 043 public static native byte isAccumulatorChannel(ByteBuffer analog_port_pointer, IntBuffer status); 044 public static native void initAccumulator(ByteBuffer analog_port_pointer, IntBuffer status); 045 public static native void resetAccumulator(ByteBuffer analog_port_pointer, IntBuffer status); 046 public static native void setAccumulatorCenter(ByteBuffer analog_port_pointer, int center, IntBuffer status); 047 public static native void setAccumulatorDeadband(ByteBuffer analog_port_pointer, int deadband, IntBuffer status); 048 public static native long getAccumulatorValue(ByteBuffer analog_port_pointer, IntBuffer status); 049 public static native int getAccumulatorCount(ByteBuffer analog_port_pointer, IntBuffer status); 050 public static native void getAccumulatorOutput(ByteBuffer analog_port_pointer, LongBuffer value, IntBuffer count, IntBuffer status); 051 public static native ByteBuffer initializeAnalogTrigger(ByteBuffer port_pointer, IntBuffer index, IntBuffer status); 052 public static native void cleanAnalogTrigger(ByteBuffer analog_trigger_pointer, IntBuffer status); 053 public static native void setAnalogTriggerLimitsRaw(ByteBuffer analog_trigger_pointer, int lower, int upper, IntBuffer status); 054 public static native void setAnalogTriggerLimitsVoltage(ByteBuffer analog_trigger_pointer, double lower, double upper, IntBuffer status); 055 public static native void setAnalogTriggerAveraged(ByteBuffer analog_trigger_pointer, byte useAveragedValue, IntBuffer status); 056 public static native void setAnalogTriggerFiltered(ByteBuffer analog_trigger_pointer, byte useFilteredValue, IntBuffer status); 057 public static native byte getAnalogTriggerInWindow(ByteBuffer analog_trigger_pointer, IntBuffer status); 058 public static native byte getAnalogTriggerTriggerState(ByteBuffer analog_trigger_pointer, IntBuffer status); 059 public static native byte getAnalogTriggerOutput(ByteBuffer analog_trigger_pointer, int type, IntBuffer status); 060}