Set I2C Device/Slave Address; Write I2C Command & Data - Avalue Technology VNS-10W01 Quick Reference Manual

Table of Contents

Advertisement

int i2cbus: i2c bus number, should be 2 for EC device.
char* filename: return i2c device name, ex: "/dev/i2c-2".
size_t size: size of filename.
int quiet: quiet mode for debug message, should be 0.
Example:
int fd;
char filename[20];
fd = open_i2c_dev(i2cbus, filename, sizeof(filename), 0);

3.3.5.2 Set I2C device/slave address

int set_slave_addr(int fd, int address, int force);
Set I2C device/slave address.
Parameter:
int fd: i2c driver file handle.
int address: device/slave address, should be 0x70 for EC address.
int force: force writing, should be 1.
Example:
int res;
res = set_slave_addr(fd, address, 1);
3.3.5.3 Write I2C command & data
static inline __s32 i2c_smbus_write_i2c_block_data(int fd, __u8 command,
Parameter:
int fd: i2c driver file handle.
__u8 command: data address, should be 0x01 for LED control.
__u8 length: data length.
const __u8 *values: data buffer.
Example:
int res, i2cbus=2, address=0x70, daddress=0x01, led=0;
// 0x81=EC I2C Write, 0xbc=LED data address, 0x00=LED ID
unsigned char block[16] = {0x81, 0xbc, 0x00};
block[2] = led;
res = i2c_smbus_write_i2c_block_data(fd, daddress, 3, block);
Quick Reference Guide
__u8 length,
const __u8 *values);
VNS-10W01 Quick Reference Guide 27

Advertisement

Table of Contents
loading

Table of Contents