Pleora Technologies Inc. eBUS SDK v6.4.0.6670 API



PvDeviceSerialPort.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2009, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVDEVICESERIALPORT_H__
8 #define __PVDEVICESERIALPORT_H__
9 
10 #include <PvSerialLib.h>
11 #include <PvDeviceSerialEnums.h>
12 #include <IPvDeviceAdapter.h>
13 
14 
16 namespace PvSerialLib
17 {
18  class DeviceSerialPort;
19 }
20 
21 
51 class PV_SERIAL_API PvDeviceSerialPort
52 {
53 public:
54 
59 
63  virtual ~PvDeviceSerialPort();
64 
83  PvResult Open( IPvDeviceAdapter *aDevice, PvDeviceSerial aPort );
84 
93  PvResult Close();
94 
100  bool IsOpened();
101 
115  PvResult Write( const uint8_t *aBuffer, uint32_t aSize, uint32_t &aBytesWritten );
116 
134  PvResult GetWriteProgress( uint32_t &aWritten, uint32_t &aTotal );
135 
154  PvResult Read( uint8_t *aBuffer, uint32_t aBufferSize, uint32_t &aBytesRead, uint32_t aTimeout = 0 );
155 
163  PvResult NotifyReadComplete();
164 
172  PvResult FlushRxBuffer();
173 
183  PvResult GetRxBytesReady( uint32_t &aBytes );
184 
197  PvResult GetRxBufferSize( uint32_t &aSize );
198 
212  PvResult SetRxBufferSize( uint32_t aSize );
213 
225  static bool IsSupported( IPvDeviceAdapter *aDevice, PvDeviceSerial aPort );
226 
238  static PvResult RegisterEchoSink( PvDeviceSerialPortEchoSink *aSink );
239 
251  static PvResult UnregisterEchoSink( PvDeviceSerialPortEchoSink *aSink );
252 
258  uint64_t GetBytesSent() const;
259 
265  uint64_t GetBytesReceived() const;
266 
270  void ResetStatistics();
271 
272 private:
273 
274  // Not implemented
276  const PvDeviceSerialPort &operator=( const PvDeviceSerialPort & );
277 
278  PvSerialLib::DeviceSerialPort * mThis;
279 };
280 
281 
282 #endif // __PVDEVICESERIALPORT_H__
283 
Device serial communication constants.
PvDeviceSerial
Device serial port enumeration.
Definition: PvDeviceSerialEnums.h:57
Interface used by PvDeviceSerialPort to interact with a device controller.
Definition: IPvDeviceAdapter.h:49
Event sink that can registered to PvDeviceSerialPort to be notified of serial communication events.
Definition: PvDeviceSerialPortEchoSink.h:14
Provides access the a serial port on a Pleora GigE Vision or USB3 Vision device.
Definition: PvDeviceSerialPort.h:52
Result information.
Definition: PvResult.h:30

Copyright (c) 2002-2024 Pleora Technologies Inc.
www.pleora.com