CLProtocol 3.5.1
ISerial.h
1//-----------------------------------------------------------------------------
2// (c) 2008 by Basler Vision Technologies
3// Section: Vision Components
4// Project: GenApi
5// Author: Fritz Dierks
6// $Header$
7//
8// License: This file is published under the license of the EMVA GenICam Standard Group.
9// A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10// If for some reason you are missing this file please contact the EMVA or visit the website
11// (http://www.genicam.org) for a full copy.
12//
13// THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23// POSSIBILITY OF SUCH DAMAGE.
24//-----------------------------------------------------------------------------
29#ifndef CLPROTOCOL_ISERIAL_H
30#define CLPROTOCOL_ISERIAL_H
31
32#include <CLProtocol/ClSerialTypes.h>
33
34//==============================================================================
35// Exported Functions
36//==============================================================================
37
40
42class CLPROTOCOL_DECL ISerial
43{
44protected:
45 virtual ~ISerial() {}
46public:
48 virtual CLINT32 CLPROTOCOL clSerialRead(
49 CLINT8* buffer,
53 CLUINT32* bufferSize,
54 CLUINT32 serialTimeOut
55 ) = 0;
56
58 virtual CLINT32 CLPROTOCOL clSerialWrite(
59 CLINT8* buffer,
60 CLUINT32* bufferSize,
64 CLUINT32 serialTimeOut
65 ) = 0;
66
68 virtual CLINT32 CLPROTOCOL clGetSupportedBaudRates(
69 CLUINT32 *baudRates
70 ) = 0;
72
73
75 virtual CLINT32 CLPROTOCOL clSetBaudRate(
76 CLUINT32 baudRate
77 ) = 0;
79};
80 // PublicInterfaces
82
83#endif // CLPROTOCOL_ISERIAL_H
Abstract interface used by the CLProtocol driver to use a serial port.
Definition ISerial.h:43
virtual CLINT32 CLPROTOCOL clGetSupportedBaudRates(CLUINT32 *baudRates)=0
returns the valid baud rates of the current interface.
virtual CLINT32 CLPROTOCOL clSerialWrite(CLINT8 *buffer, CLUINT32 *bufferSize, CLUINT32 serialTimeOut)=0
calls clSerialWrite as defined by the camera link standard
virtual CLINT32 CLPROTOCOL clSerialRead(CLINT8 *buffer, CLUINT32 *bufferSize, CLUINT32 serialTimeOut)=0
calls clSerialRead as defined by the camera link standard
virtual CLINT32 CLPROTOCOL clSetBaudRate(CLUINT32 baudRate)=0
This function sets the baud rate for the serial port of the selected device.