// 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.ByteBuffer; import java.nio.IntBuffer; import java.nio.LongBuffer; @SuppressWarnings("javadoc") public class SPIJNI extends JNIWrapper { public static native void spiInitialize(byte port); public static native int spiTransaction(byte port, ByteBuffer dataToSend, ByteBuffer dataReceived, byte size); public static native int spiWrite(byte port, ByteBuffer dataToSend, byte sendSize); public static native int spiRead(byte port, ByteBuffer dataReceived, byte size); public static native void spiClose(byte port); public static native void spiSetSpeed(byte port, int speed); public static native void spiSetOpts(byte port, int msb_first, int sample_on_trailing, int clk_idle_high); public static native void spiSetChipSelectActiveHigh(byte port); public static native void spiSetChipSelectActiveLow(byte port); public static native void spiInitAccumulator(byte port, int period, int cmd, byte xferSize, int validMask, int validValue, byte dataShift, byte dataSize, boolean isSigned, boolean bigEndian); public static native void spiFreeAccumulator(byte port); public static native void spiResetAccumulator(byte port); public static native void spiSetAccumulatorCenter(byte port, int center); public static native void spiSetAccumulatorDeadband(byte port, int deadband); public static native int spiGetAccumulatorLastValue(byte port); public static native long spiGetAccumulatorValue(byte port); public static native int spiGetAccumulatorCount(byte port); public static native double spiGetAccumulatorAverage(byte port); public static native void spiGetAccumulatorOutput(byte port, LongBuffer value, IntBuffer count); }