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}