LTPS C++ API
Ci2c_smbus.h
1 
5 #ifndef __CI2C_SMBUS_H__
6 #define __CI2C_SMBUS_H__
7 
8 #include <linux/i2c.h>
9 
10 #include "Ci2c.h"
11 
15 
16 class Ci2c_smbus : public Ci2c {
17 
18 private:
19 
21  int do_smbus( uint16_t _addr, uint8_t _rw, uint32_t _dlen, union i2c_smbus_data &_data);
22 
23 protected:
24 
25 public:
26 
30 
36  int R1b( uint16_t _addr, uint8_t _reg, uint8_t &_b);
37  int W1b( uint16_t _addr, uint8_t _reg, uint8_t _b);
38  int R2b( uint16_t _addr, uint8_t _reg, uint16_t &_b);
39  int W2b( uint16_t _addr, uint8_t _reg, uint16_t _b);
40  // max block size == 32bytes
41  int Rbb( uint16_t _addr, uint8_t _reg, uint8_t *_b, uint8_t _blen);
42  int Wbb( uint16_t _addr, uint8_t _reg, uint8_t *_b, uint8_t _blen);
43  // quick type R/W (command-reg is data also)
44  int Rqb( uint16_t _addr, uint8_t _reg, uint8_t *_b, uint8_t _blen);
45  int Wqb( uint16_t _addr, uint8_t _reg, uint8_t *_b, uint8_t _blen);
47 
48 }; // class /
49 
50 #endif
Base Virtual I2C I/O class.
Definition: Ci2c.h:27
I2C SMBUS I/O class.
Definition: Ci2c_smbus.h:16