Modules | |
I2C hal tests | |
The I2C HAL tests ensure driver conformance to defined behaviour. | |
Functions | |
void | i2c_init_direct (i2c_t *obj, const i2c_pinmap_t *pinmap) |
Initialize the I2C peripheral. More... | |
void | i2c_init (i2c_t *obj, PinName sda, PinName scl) |
Initialize the I2C peripheral. More... | |
void | i2c_free (i2c_t *obj) |
Release a I2C object. More... | |
void | i2c_frequency (i2c_t *obj, int hz) |
Configure the I2C frequency. More... | |
int | i2c_start (i2c_t *obj) |
Send START command. More... | |
int | i2c_stop (i2c_t *obj) |
Send STOP command. More... | |
int | i2c_read (i2c_t *obj, int address, char *data, int length, int stop) |
Blocking reading data. More... | |
int | i2c_write (i2c_t *obj, int address, const char *data, int length, int stop) |
Blocking sending data. More... | |
void | i2c_reset (i2c_t *obj) |
Reset I2C peripheral. More... | |
int | i2c_byte_read (i2c_t *obj, int last) |
Read one byte. More... | |
int | i2c_byte_write (i2c_t *obj, int data) |
Write one byte. More... | |
const PinMap * | i2c_master_sda_pinmap (void) |
Get the pins that support I2C SDA. More... | |
const PinMap * | i2c_master_scl_pinmap (void) |
Get the pins that support I2C SCL. More... | |
const PinMap * | i2c_slave_sda_pinmap (void) |
Get the pins that support I2C SDA. More... | |
const PinMap * | i2c_slave_scl_pinmap (void) |
Get the pins that support I2C SCL. More... | |
length
bytes from the I2C slave specified by address
to the data
bufferstop
parameter is non-zerolength
bytes to the I2C slave specified by address
from the data
bufferstop
parameter is non-zerolast
parameter to inform the slave that all bytes have been readlength
bytes from the I2C master to the data
bufferlength
bytes to the I2C master from the data
buffertx_length
bytes to the I2C slave specified by address
from the tx
bufferrx_length
bytes from the I2C slave specified by address
to the rx
bufferstop
parameter is non-zeroDMAUsage
hint to select the appropriate async algorithmi2c_t
i2c_t
I2C
peripheral with invalid SDA
and SCL
pins.obj
to any functionnull
pointer as an argument to any function.I2C
reserved valueread
or write
functionshandler
int i2c_byte_read | ( | i2c_t * | obj, |
int | last | ||
) |
Read one byte.
obj | The I2C object |
last | Acknoledge |
int i2c_byte_write | ( | i2c_t * | obj, |
int | data | ||
) |
Write one byte.
obj | The I2C object |
data | Byte to be written |
void i2c_free | ( | i2c_t * | obj | ) |
Release a I2C object.
Return the pins owned by the I2C object to their reset state
obj | The I2C object to deinitialize |
void i2c_frequency | ( | i2c_t * | obj, |
int | hz | ||
) |
Configure the I2C frequency.
obj | The I2C object |
hz | Frequency in Hz |
void i2c_init | ( | i2c_t * | obj, |
PinName | sda, | ||
PinName | scl | ||
) |
Initialize the I2C peripheral.
It sets the default parameters for I2C peripheral, and configures its specifieds pins.
obj | The I2C object |
sda | The sda pin |
scl | The scl pin |
void i2c_init_direct | ( | i2c_t * | obj, |
const i2c_pinmap_t * | pinmap | ||
) |
Initialize the I2C peripheral.
It sets the default parameters for I2C peripheral, and configures its specifieds pins.
obj | The I2C object |
pinmap | Pinmap pointer to structure which holds static pinmap |
const PinMap* i2c_master_scl_pinmap | ( | void | ) |
const PinMap* i2c_master_sda_pinmap | ( | void | ) |
int i2c_read | ( | i2c_t * | obj, |
int | address, | ||
char * | data, | ||
int | length, | ||
int | stop | ||
) |
Blocking reading data.
obj | The I2C object |
address | 7-bit address (last bit is 1) |
data | The buffer for receiving |
length | Number of bytes to read |
stop | Stop to be generated after the transfer is done |
void i2c_reset | ( | i2c_t * | obj | ) |
Reset I2C peripheral.
TODO: The action here. Most of the implementation sends stop()
obj | The I2C object |
const PinMap* i2c_slave_scl_pinmap | ( | void | ) |
const PinMap* i2c_slave_sda_pinmap | ( | void | ) |
int i2c_start | ( | i2c_t * | obj | ) |
Send START command.
obj | The I2C object |
int i2c_stop | ( | i2c_t * | obj | ) |
Send STOP command.
obj | The I2C object |
int i2c_write | ( | i2c_t * | obj, |
int | address, | ||
const char * | data, | ||
int | length, | ||
int | stop | ||
) |
Blocking sending data.
obj | The I2C object |
address | 7-bit address (last bit is 0) |
data | The buffer for sending |
length | Number of bytes to write |
stop | Stop to be generated after the transfer is done |