Go to the source code of this file.
Functions | |
static int | knet_i2c_exit (knet_bus_t *bus) |
static struct knet_dev_s * | knet_i2c_open (struct knet_bus_s *bus, knet_ext_t ext, knet_mod_t mod, const char *name, int argc, char *argv[]) |
static int | knet_i2c_transfer (knet_bus_t *bus, knet_dev_t *dev, const char *write_buf, unsigned int write_len, char *read_buf, unsigned int read_len) |
static int | knet_i2c_read (knet_bus_t *bus, knet_dev_t *dev, char *buf, unsigned int len) |
static int | knet_i2c_write (knet_bus_t *bus, knet_dev_t *dev, const char *buf, unsigned int len) |
static int | knet_i2c_scan_callback (i2c_t *i2c, i2c_dev_t dev, void *context) |
int | knet_i2c_init (knet_bus_t *bus, int argc, char *argv[]) |
I²C Communication Adaptor for K-Net
Definition in file knet_i2c.c.
static int knet_i2c_exit | ( | knet_bus_t * | bus | ) | [static] |
This function releases all resources used by an I²C Bus
bus | KNet I²C bus handle |
Definition at line 148 of file knet_i2c.c.
References knet_bus_s::bus_info, i2c_close(), and kb_free.
Referenced by knet_i2c_init().
int knet_i2c_init | ( | knet_bus_t * | bus, | |
int | argc, | |||
char * | argv[] | |||
) |
This function initializes the I²C bus.
bus | KNet Bus Handle | |
argc | number of elements in argv | |
argv | string used as initialization parameters |
Definition at line 80 of file knet_i2c.c.
References knet_bus_s::bus_info, knet_bus_s::close, device, knet_bus_s::exit, i2c_close(), i2c_open(), i2c_scan(), KB_ALLOC, kb_error(), KB_ERROR_OPENBUS, KB_ERROR_SCANBUS, kb_free, knet_i2c_exit(), knet_i2c_open(), knet_i2c_read(), knet_i2c_scan_callback(), knet_i2c_transfer(), knet_i2c_write(), knet_bus_s::open, knet_bus_s::read, knet_bus_s::transfer, and knet_bus_s::write.
Referenced by knet_init().
static struct knet_dev_s * knet_i2c_open | ( | struct knet_bus_s * | bus, | |
knet_ext_t | ext, | |||
knet_mod_t | mod, | |||
const char * | name, | |||
int | argc, | |||
char * | argv[] | |||
) | [static, read] |
This function opens a given device on the I²C Bus
bus | KNet I²C bus handle | |
ext | KNet Extension Id (don't care for I²C Bus) | |
mod | KNet Module Id (I²C Device Address). |
Definition at line 168 of file knet_i2c.c.
References knet_bus_s::bus_info, i2c_exists(), kb_error(), KB_ERROR_NODEVFOUND, knet_bus_find_device(), and knet_device_create().
Referenced by knet_i2c_init().
static int knet_i2c_read | ( | knet_bus_t * | bus, | |
knet_dev_t * | dev, | |||
char * | buf, | |||
unsigned int | len | |||
) | [static] |
This function reads data from an I²C bus.
bus | KNet I²C bus handle | |
dev | KNet I²C device handle | |
buf | Pointer to the buffer that will receive the data | |
len | Size of the buffer |
Definition at line 250 of file knet_i2c.c.
References knet_bus_s::bus_info, i2c_llread(), and knet_dev_s::mod_addr.
Referenced by knet_i2c_init().
This function is used internally.
Definition at line 56 of file knet_i2c.c.
References knet_dev_s::bus, knet_device_create(), and knet_bus_s::lock.
Referenced by knet_i2c_init().
static int knet_i2c_transfer | ( | knet_bus_t * | bus, | |
knet_dev_t * | dev, | |||
const char * | write_buf, | |||
unsigned int | write_len, | |||
char * | read_buf, | |||
unsigned int | read_len | |||
) | [static] |
This function transfers data to and from an I²C bus.
bus | KNet I²C bus handle | |
dev | KNet I²C device handle | |
write_buf | Pointer to the buffer that contains data to be written | |
write_len | Number of bytes in the write buffer | |
read_buf | Pointer to the buffer that will receive data | |
read_len | Size of the read buffer in bytes |
Definition at line 223 of file knet_i2c.c.
References knet_bus_s::bus_info, i2c_lltransfer(), and knet_dev_s::mod_addr.
Referenced by knet_i2c_init().
static int knet_i2c_write | ( | knet_bus_t * | bus, | |
knet_dev_t * | dev, | |||
const char * | buf, | |||
unsigned int | len | |||
) | [static] |
This function writes data to an I²C bus.
bus | KNet I²C bus handle | |
dev | KNet I²C device handle | |
buf | Pointer to the buffer that contains the data to be written | |
len | Number of the bytes in the buffer |
Definition at line 276 of file knet_i2c.c.
References knet_bus_s::bus_info, i2c_llwrite(), and knet_dev_s::mod_addr.
Referenced by knet_i2c_init().