aboutsummaryrefslogtreecommitdiff
path: root/docs/i2c_driver.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/i2c_driver.md')
-rw-r--r--docs/i2c_driver.md48
1 files changed, 46 insertions, 2 deletions
diff --git a/docs/i2c_driver.md b/docs/i2c_driver.md
index 9017b44ed..95c588af4 100644
--- a/docs/i2c_driver.md
+++ b/docs/i2c_driver.md
@@ -187,7 +187,7 @@ Receive multiple bytes from the selected SPI device.
187 187
188### `i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` 188### `i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)`
189 189
190Writes to a register on the I2C device. 190Writes to a register with an 8-bit address on the I2C device.
191 191
192#### Arguments 192#### Arguments
193 193
@@ -208,9 +208,32 @@ Writes to a register on the I2C device.
208 208
209--- 209---
210 210
211### `i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)`
212
213Writes to a register with a 16-bit address (big endian) on the I2C device.
214
215#### Arguments
216
217 - `uint8_t devaddr`
218 The 7-bit I2C address of the device.
219 - `uint16_t regaddr`
220 The register address to write to.
221 - `uint8_t *data`
222 A pointer to the data to transmit.
223 - `uint16_t length`
224 The number of bytes to write. Take care not to overrun the length of `data`.
225 - `uint16_t timeout`
226 The time in milliseconds to wait for a response from the target device.
227
228#### Return Value
229
230`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`.
231
232---
233
211### `i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` 234### `i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)`
212 235
213Reads from a register on the I2C device. 236Reads from a register with an 8-bit address on the I2C device.
214 237
215#### Arguments 238#### Arguments
216 239
@@ -229,6 +252,27 @@ Reads from a register on the I2C device.
229 252
230--- 253---
231 254
255### `i2c_status_t i2c_readReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)`
256
257Reads from a register with a 16-bit address (big endian) on the I2C device.
258
259#### Arguments
260
261 - `uint8_t devaddr`
262 The 7-bit I2C address of the device.
263 - `uint16_t regaddr`
264 The register address to read from.
265 - `uint16_t length`
266 The number of bytes to read. Take care not to overrun the length of `data`.
267 - `uint16_t timeout`
268 The time in milliseconds to wait for a response from the target device.
269
270#### Return Value
271
272`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`.
273
274---
275
232### `i2c_status_t i2c_stop(void)` 276### `i2c_status_t i2c_stop(void)`
233 277
234Stop the current I2C transaction. 278Stop the current I2C transaction.