
#ifndef _LINPAC_XVBOARD_H
#define _LINPAC_XVBOARD_H
#include "modbus.h"

#define __XV_BOARD_TIMEOUT__ 50
#define XV_BOARD_BASE 0
#define modbusRequestXV(cPort, cFunction, wAddr, wCount, szBuf, wBufLen) modbusRequest(cPort, 1, cFunction, wAddr-XV_BOARD_BASE, wCount, szBuf, wBufLen, __XV_BOARD_TIMEOUT__, NULL);
#define getXVBitBack(cPort, wAddr, wCount, szBuf, wBufLen) modbusRequest(cPort, 1, FC01ReadCoilStatus, wAddr-XV_BOARD_BASE, wCount, szBuf, wBufLen, __XV_BOARD_TIMEOUT__, NULL);
#define getXVBit(cPort, wAddr, wCount, szBuf, wBufLen) modbusRequest(cPort, 1, FC02ReadInputStatus, wAddr-XV_BOARD_BASE, wCount, szBuf, wBufLen, __XV_BOARD_TIMEOUT__, NULL);
#define getXVRegBack(cPort, wAddr, wCount, szBuf, wBufLen) modbusRequest(cPort, 1, FC03ReadHoldingRegister, wAddr-XV_BOARD_BASE, wCount, szBuf, wBufLen, __XV_BOARD_TIMEOUT__, NULL);
#define getXVReg(cPort, wAddr, wCount, szBuf, wBufLen) modbusRequest(cPort, 1, FC04ReadInputRegister, wAddr-XV_BOARD_BASE, wCount, szBuf, wBufLen, __XV_BOARD_TIMEOUT__, NULL);
#define setXVBit(cPort, wAddr, wCount, szBuf, wBufLen) modbusRequest(cPort, 1, FC15ForceMultipleCoil, wAddr-XV_BOARD_BASE, wCount, szBuf, wBufLen, __XV_BOARD_TIMEOUT__, NULL);
#define setXVReg(cPort, wAddr, wCount, szBuf, wBufLen) modbusRequest(cPort, 1, FC16PresetMultipleRegister, wAddr-XV_BOARD_BASE, wCount, szBuf, wBufLen, __XV_BOARD_TIMEOUT__, NULL);

#endif
