Pleora Technologies Inc. eBUS SDK v6.2.8.5877 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 
22 class PV_SERIAL_API PvDeviceSerialPort
23 {
24 public:
25 
27  virtual ~PvDeviceSerialPort();
28 
29  PvResult Open( IPvDeviceAdapter *aDevice, PvDeviceSerial aPort );
30  PvResult Close();
31  bool IsOpened();
32 
33  PvResult Write( const uint8_t *aBuffer, uint32_t aSize, uint32_t &aBytesWritten );
34  PvResult GetWriteProgress( uint32_t &aWritten, uint32_t &aTotal );
35  PvResult Read( uint8_t *aBuffer, uint32_t aBufferSize, uint32_t &aBytesRead, uint32_t aTimeout = 0 );
36  PvResult NotifyReadComplete();
37 
38  PvResult FlushRxBuffer();
39  PvResult GetRxBytesReady( uint32_t &aBytes );
40  PvResult GetRxBufferSize( uint32_t &aSize );
41  PvResult SetRxBufferSize( uint32_t aSize );
42 
43  static bool IsSupported( IPvDeviceAdapter *aDevice, PvDeviceSerial aPort );
44 
45  static PvResult RegisterEchoSink( PvDeviceSerialPortEchoSink *aSink );
46  static PvResult UnregisterEchoSink( PvDeviceSerialPortEchoSink *aSink );
47 
48  uint64_t GetBytesSent() const;
49  uint64_t GetBytesReceived() const;
50  void ResetStatistics();
51 
52 private:
53 
54  // Not implemented
56  const PvDeviceSerialPort &operator=( const PvDeviceSerialPort & );
57 
58  PvSerialLib::DeviceSerialPort * mThis;
59 };
60 
61 
62 #endif // __PVDEVICESERIALPORT_H__
63 
Result information.
Definition: PvResult.h:13
Definition: PvDeviceI2CBus.h:13
Provides access the a serial port on a Pleora GigE Vision or USB3 Vision device.
Definition: PvDeviceSerialPort.h:22
PvDeviceSerial
Device serial port enumeration.
Definition: PvDeviceSerialEnums.h:11
Interface used by PvDeviceSerialPort to interact with a device controller.
Definition: IPvDeviceAdapter.h:31
Device serial communication constants.
Event sink that can registered to PvDeviceSerialPort to be notified of serial communication events...
Definition: PvDeviceSerialPortEchoSink.h:13

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