001/*----------------------------------------------------------------------------*/
002/* Copyright (c) FIRST 2016-2017. All Rights Reserved.                        */
003/* Open Source Software - may be modified and shared by FRC teams. The code   */
004/* must be accompanied by the FIRST BSD license file in the root directory of */
005/* the project.                                                               */
006/*----------------------------------------------------------------------------*/
007
008package edu.wpi.first.wpilibj.hal;
009
010import java.nio.ByteBuffer;
011
012public class SerialPortJNI extends JNIWrapper {
013  public static native void serialInitializePort(byte port);
014
015  public static native void serialSetBaudRate(byte port, int baud);
016
017  public static native void serialSetDataBits(byte port, byte bits);
018
019  public static native void serialSetParity(byte port, byte parity);
020
021  public static native void serialSetStopBits(byte port, byte stopBits);
022
023  public static native void serialSetWriteMode(byte port, byte mode);
024
025  public static native void serialSetFlowControl(byte port, byte flow);
026
027  public static native void serialSetTimeout(byte port, double timeout);
028
029  public static native void serialEnableTermination(byte port, char terminator);
030
031  public static native void serialDisableTermination(byte port);
032
033  public static native void serialSetReadBufferSize(byte port, int size);
034
035  public static native void serialSetWriteBufferSize(byte port, int size);
036
037  public static native int serialGetBytesRecieved(byte port);
038
039  public static native int serialRead(byte port, ByteBuffer buffer, int count);
040
041  public static native int serialWrite(byte port, ByteBuffer buffer, int count);
042
043  public static native void serialFlush(byte port);
044
045  public static native void serialClear(byte port);
046
047  public static native void serialClose(byte port);
048}