SOFTWARE DRIVERS FOR SENSORS AND ACTUATORS
Many sensors and actuators operate using communication protocols that runs over the GPIO pins, for example, I2C and SPI. These sensors and actuators generally require a software driver running on the robot that converts our “human readable” requests into the string of bit that needs to be written-to and read-from the pins of the serial interface.
This section of the wiki documents the class that we have developed for:
I2C Driver for CPP: a C++ class for abstracting I2C write and read commands on a Linux operating system.
I2C Driver for Pololu Simple Motor Controller (SMC): a C++ class for interfacing with the “Simple Motor Controller (SMC)” boards produced Pololu.
drivers-cpp-servo-pca9685: a C++ class for interfacing with the 16-channel 12-bit Pulse Width Modulation (PWM) generator PCA9685 chip produced NXP Semiconductors and used on breakout boards from Adafruit, Sparkfun, OpenMV, etc.