2024-10-23(6): Project: Linux I2C/PWM/SPI
I2C
Our project has two I2C devices that need to be programmed from userspace (we want to create prototypes that can be used in other contexts, and therefore cannot use Linux kernel drivers).
These devices are:
Go over Linux userspace I2C:
Explain difference between userspace I2C, and a kernel driver - coincidentally using a driver for a PWM device:
Userspace I2C |
Reading device registers |
Kernel OO/UML |
|---|---|---|
|
|
|
PWM
(DONE) Motor Control: BTN9960LV
That device is controlled via two PWM channels. The Raspberry has only one (pin 18 has an alternative setting), so we use a PCA9685 which is connected over I2C.