Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



PvDeviceI2CBus.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2009, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVDEVICEI2CBUS_H__
8 #define __PVDEVICEI2CBUS_H__
9 
10 #include <PvDeviceSerialPort.h>
11 
12 
13 namespace PvSerialLib
14 {
15 class DeviceI2CBus;
16 }
17 
24 class PV_SERIAL_API PvDeviceI2CBus
25 {
26 public:
27 
32 
36  ~PvDeviceI2CBus();
37 
48 
54  PvResult Close();
55 
61  bool IsOpened();
62 
71  static bool IsSupported( IPvDeviceAdapter *aDevice,
73 
85  PvResult BurstWrite( unsigned char aSlaveAddress,
86  const unsigned char *aBuffer,
87  uint32_t aBufferSize,
88  bool aFastMode = true );
89 
102  PvResult IndirectBurstWrite( unsigned char aSlaveAddress,
103  unsigned char aOffset,
104  const unsigned char *aBuffer,
105  uint32_t aBufferSize,
106  bool aFastMode = true );
107 
120  PvResult BurstRead( unsigned char aSlaveAddress,
121  unsigned char *aBuffer,
122  uint32_t aBufferSize,
123  uint32_t &aBytesRead,
124  bool aFastMode = true );
125 
141  PvResult IndirectBurstRead( unsigned char aSlaveAddress,
142  unsigned char aOffset,
143  unsigned char *aBuffer,
144  uint32_t aBufferSize,
145  uint32_t &aBytesRead,
146  bool aFastMode = true,
147  bool aUseCombinedFormat = true );
148 
162  PvResult MasterTransmitter( uint8_t aSlaveAddress,
163  const uint8_t *aBuffer,
164  uint32_t aBufferSize,
165  bool aFastMode = true,
166  bool aGenerateStopCondition = true );
167 
182  PvResult MasterReceiverAfterFirstByte( uint8_t aSlaveAddress,
183  uint8_t *aBuffer,
184  uint32_t aBufferSize,
185  uint32_t &aBytesRead,
186  bool aFastMode = true,
187  bool aGenerateStopCondition = true );
188 
189 private:
190  PvSerialLib::DeviceI2CBus *mThis;
191 };
192 
193 #endif
PvResult
Result information.
Definition: PvResult.h:29
IPvDeviceAdapter
Interface used by PvDeviceSerialPort to interact with a device controller.
Definition: IPvDeviceAdapter.h:48
PvDeviceI2CBus
Provides I2C bus communication interface for device serial ports.
Definition: PvDeviceI2CBus.h:24
PvDeviceSerial
PvDeviceSerial
Device serial port enumeration.
Definition: PvDeviceSerialEnums.h:19
PvDeviceSerialBulk0
@ PvDeviceSerialBulk0
Bulk interface 0, or BULK0. Can be UART, USRT or I2C depending on device configuration.
Definition: PvDeviceSerialEnums.h:29

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