LTPS C++ API
|
Base Virtual I2C I/O class. More...
#include <Ci2c.h>
Public Member Functions | |||||||
int | set_slave (uint16_t _addr) | ||||||
Set slave device to work with. No need to call it obviously. Call it only for test if device exists. BUT nowtime result is not guaranteed if it can return an error "no such device" due to SMBUS i2c driver realization. More... | |||||||
Bus methods | |||||||
| |||||||
int | set_bus (uint16_t _busn) | ||||||
int | set_bus (const char *_buss, i2cmap_t *_map=NULL) | ||||||
int | cur_bus (void) | ||||||
Virtual I/O methods | |||||||
It may take too long time to read/write i2c device so make this functions non-blockable
| |||||||
virtual int | R1b (uint16_t _addr, uint8_t _reg, uint8_t &_b)=0 | ||||||
virtual int | W1b (uint16_t _addr, uint8_t _reg, uint8_t _b)=0 | ||||||
virtual int | R2b (uint16_t _addr, uint8_t _reg, uint16_t &_b)=0 | ||||||
virtual int | W2b (uint16_t _addr, uint8_t _reg, uint16_t _b)=0 | ||||||
virtual int | Rbb (uint16_t _addr, uint8_t _reg, uint8_t *_b, uint8_t _blen)=0 | ||||||
virtual int | Wbb (uint16_t _addr, uint8_t _reg, uint8_t *_b, uint8_t _blen)=0 | ||||||
virtual int | Rqb (uint16_t _addr, uint8_t _reg, uint8_t *_b, uint8_t _blen)=0 | ||||||
virtual int | Wqb (uint16_t _addr, uint8_t _reg, uint8_t *_b, uint8_t _blen)=0 | ||||||
Static Public Member Functions | |
static int | find_bus (const char *_sock) |
Base Virtual I2C I/O class.
Virtual I2C I/O functions have to be declared in child class
|
static |
-1 | Not found |
int Ci2c::set_slave | ( | uint16_t | _addr | ) |
Set slave device to work with. No need to call it obviously. Call it only for test if device exists. BUT nowtime result is not guaranteed if it can return an error "no such device" due to SMBUS i2c driver realization.
Better to use R* or W* functions to probe the devices on a bus, for example R1b( _addr, 0x00, b);
1 | OK |
0 | Not opened |
<0 | Errno |