Function i2c_master_read_packet_wait_no_stop()

Reads data packet from slave without sending a stop condition when done.

enum status_code i2c_master_read_packet_wait_no_stop(
		struct i2c_master_module *const module,
		struct i2c_master_packet *const packet)

Reads a data packet from the specified slave address on the I2C bus without sending a stop condition when done, thus retaining ownership of the bus when done. To end the transaction, a read or write with stop condition must be performed.

Note: This will stall the device from any other operation. For interrupt-driven operation, see i2c_master_read_packet_job.
Table 1. Parameters
Data direction Parameter name Description

[in, out]

module

Pointer to software module struct

[in, out]

packet

Pointer to I2C packet to transfer

Returns

Status of reading packet.

Table 2. Return Values
Return value Description

STATUS_OK

The packet was read successfully

STATUS_ERR_TIMEOUT

If no response was given within specified timeout period

STATUS_ERR_DENIED

If error on bus

STATUS_ERR_PACKET_COLLISION

If arbitration is lost

STATUS_ERR_BAD_ADDRESS

If slave is busy, or no slave acknowledged the address