I2C
This commit is contained in:
@@ -14,4 +14,5 @@ This repository specifies the control protocol implemented by [gex-core](https:/
|
||||
- [UNIT_DI.md](UNIT_DI.md) - Digital Input
|
||||
- [UNIT_NEOPIXEL.md](UNIT_NEOPIXEL.md) - NeoPixel driver
|
||||
- [UNIT_SIPO.md](UNIT_SIPO.md) - Multi-cast Shift Register Driver
|
||||
- [UNIT_I2C.md](UNIT_I2C.md) - I2C master
|
||||
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
# I2C master
|
||||
|
||||
## Commands
|
||||
|
||||
### WRITE (0x00)
|
||||
|
||||
*Request:*
|
||||
- u16 - slave address
|
||||
- u8[] - bytes to write
|
||||
|
||||
### READ (0x01)
|
||||
|
||||
*Request:*
|
||||
- u16 - slave address
|
||||
- u16 - number of bytes to read
|
||||
|
||||
*Response:*
|
||||
- u8[] - received bytes
|
||||
|
||||
### READ_REG (0x02)
|
||||
|
||||
Read a register value. First writes the register number, then reads a number of bytes.
|
||||
For devices implementing auto-increment, the register width field can be used to read
|
||||
multiple registers at once.
|
||||
|
||||
*Request:*
|
||||
- u16 - address
|
||||
- u8 - register number
|
||||
- u16 - register width (number of bytes to read)
|
||||
|
||||
*Response:*
|
||||
- u8[] - received bytes
|
||||
|
||||
### WRITE_REG (0x03)
|
||||
|
||||
Write a register; first writes the register number, then (in the same transaction)
|
||||
the data. If the device supports it, can write multiple registers at once.
|
||||
|
||||
*Request:*
|
||||
- u16 - address
|
||||
- u8 - register number
|
||||
- u8[] - bytes to write
|
||||
|
||||
## Events
|
||||
|
||||
*No events defined for this unit type.*
|
||||
Reference in New Issue
Block a user