2016-05-25 20:23:37 -07:00
|
|
|
/*----------------------------------------------------------------------------*/
|
2017-01-01 01:05:57 -07:00
|
|
|
/* Copyright (c) FIRST 2016-2017. All Rights Reserved. */
|
2016-05-25 20:23:37 -07:00
|
|
|
/* 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. */
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
2014-10-29 13:44:20 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
2016-11-22 21:51:47 -08:00
|
|
|
enum HAL_SerialPort : int32_t {
|
|
|
|
|
HAL_SerialPort_Onboard = 0,
|
|
|
|
|
HAL_SerialPort_MXP = 1,
|
|
|
|
|
HAL_SerialPort_USB1 = 2,
|
|
|
|
|
HAL_SerialPort_USB2 = 3
|
|
|
|
|
};
|
|
|
|
|
|
2016-07-12 21:53:06 -07:00
|
|
|
#ifdef __cplusplus
|
2016-05-20 17:30:37 -07:00
|
|
|
extern "C" {
|
2016-07-12 21:53:06 -07:00
|
|
|
#endif
|
2016-09-25 16:50:13 -07:00
|
|
|
|
2016-11-22 21:51:47 -08:00
|
|
|
void HAL_InitializeSerialPort(HAL_SerialPort port, int32_t* status);
|
|
|
|
|
void HAL_SetSerialBaudRate(HAL_SerialPort port, int32_t baud, int32_t* status);
|
|
|
|
|
void HAL_SetSerialDataBits(HAL_SerialPort port, int32_t bits, int32_t* status);
|
|
|
|
|
void HAL_SetSerialParity(HAL_SerialPort port, int32_t parity, int32_t* status);
|
|
|
|
|
void HAL_SetSerialStopBits(HAL_SerialPort port, int32_t stopBits,
|
|
|
|
|
int32_t* status);
|
|
|
|
|
void HAL_SetSerialWriteMode(HAL_SerialPort port, int32_t mode, int32_t* status);
|
|
|
|
|
void HAL_SetSerialFlowControl(HAL_SerialPort port, int32_t flow,
|
|
|
|
|
int32_t* status);
|
|
|
|
|
void HAL_SetSerialTimeout(HAL_SerialPort port, double timeout, int32_t* status);
|
|
|
|
|
void HAL_EnableSerialTermination(HAL_SerialPort port, char terminator,
|
|
|
|
|
int32_t* status);
|
|
|
|
|
void HAL_DisableSerialTermination(HAL_SerialPort port, int32_t* status);
|
|
|
|
|
void HAL_SetSerialReadBufferSize(HAL_SerialPort port, int32_t size,
|
2016-07-09 00:24:26 -07:00
|
|
|
int32_t* status);
|
2016-11-22 21:51:47 -08:00
|
|
|
void HAL_SetSerialWriteBufferSize(HAL_SerialPort port, int32_t size,
|
|
|
|
|
int32_t* status);
|
|
|
|
|
int32_t HAL_GetSerialBytesReceived(HAL_SerialPort port, int32_t* status);
|
|
|
|
|
int32_t HAL_ReadSerial(HAL_SerialPort port, char* buffer, int32_t count,
|
2016-07-12 10:45:14 -07:00
|
|
|
int32_t* status);
|
2016-11-22 21:51:47 -08:00
|
|
|
int32_t HAL_WriteSerial(HAL_SerialPort port, const char* buffer, int32_t count,
|
2016-07-09 00:24:26 -07:00
|
|
|
int32_t* status);
|
2016-11-22 21:51:47 -08:00
|
|
|
void HAL_FlushSerial(HAL_SerialPort port, int32_t* status);
|
|
|
|
|
void HAL_ClearSerial(HAL_SerialPort port, int32_t* status);
|
|
|
|
|
void HAL_CloseSerial(HAL_SerialPort port, int32_t* status);
|
2016-07-12 21:53:06 -07:00
|
|
|
#ifdef __cplusplus
|
2014-08-14 00:07:02 -07:00
|
|
|
}
|
2016-07-12 21:53:06 -07:00
|
|
|
#endif
|