Ondřej Hruška 6 years ago
parent 7cee780201
commit 89b2cfc1dd
Signed by: MightyPork
GPG Key ID: 2C5FD5035250423D
  1. 1
      README.md
  2. 46
      UNIT_I2C.md

@ -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

@ -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.*
Loading…
Cancel
Save