Basic CLI application for controlling LEDs over I2C on a Raspbery Pi or similar device connected to a PCA9685 device (Like the Adafruit PWM driver board) (Most testing is being done with a Pi Zero Wireless). Written in C and designed to be small, light and fast.
I use this along with ha-bridge (https://github.com/bwssytems/ha-bridge) to easily control lighting with my Amazon Alexa device.
libPCA9685 by edlins See https://github.com/edlins/libPCA9685
mkdir build && cd build
cmake ..
make
make install (as root)
root@uniform /usr/local/src/fade9685/build [2]$ ./fade9685 -h
Usage:
fade9685 [options]
Options:
-h help, show this screen and quit
-R Reset the PCA9685
-f Frequency in Hz (24-1526)
-d Set Duty Cycle Instantly (0 - 100)
-l Fade to Luminosity (0 - 100)
-s Step (Larger value fades more quickly)
-b Bus number (default 1)
-a Address (Default 0x42)
-c Channel (0 - 15) Can be repeated for multiple channels or -1 for all
-v Show verbose outbut (0-5, 0 = NONE, 5 = DEBUG)
-D Enable libPCA9685 debugging
To reset the device and set frequency (in the examples, the device is at address 0x41 on bus 1):
./fade9685 -b 1 -a 0x41 -f 1000 -R
To set two outputs instantly to a specific duty cycle:
./fade9685 -b 1 -a 0x41 -c 0 -c 3 -d 50
To fade outputs to a certain luminosity level (0-100%): ** this might change in future revisions
./fade9685 -b 1 -a 0x41 -c 0 -c 3 -c 14 -c 15 -l 40
Fading to accurate amounts with a float is OK too:
./fade9685 -b 1 -a 0x41 -c 3 -l 0.6
To fade all outputs to a desired level use -c -1:
./fade9685 -b 1 -a 0x41 -c -1 -l 90
Note that when fading outputs you can control the fade rate with -s
-s 30 or so gives a nice rate with a Pi Zero W.