-
Notifications
You must be signed in to change notification settings - Fork 1
I2C
I2C is one of many communication protocols which allows a host device to control follower devices. I2C contains two main lines: SDA and SCL or data and clock, respectively. Honestly, as much as I would like to create an I2C library in Python just for Robotics, that is well outside of the scope of this project. There are plenty of libraries that are available for this because I2C has become a very popular protocol. As such, you need not worry about the specifics of the protocol. If you're still interested in learning more about it, the most recent I2C spec can be found here: https://www.nxp.com/docs/en/user-guide/UM10204.pdf
With that out of the way, all that matters is what to plug into the library that you choose. You need to figure out what address your devices are on so the host can communicate with them properly. You also need to figure out what I2C speeds are supported by your devices because there are at least four different speeds that I2C can run at. Furthermore, you need to be able to read/write to/from the proper registers in order to make these devices function properly. Read up on your specific device to figure out what pointer address your registers are located at.