Originally Posted by penitent_tangent
With the code in its current state, would adding a second PWM/Servo bonnet allow you to address 32 channels of PWM? I know the Adafruit site specifies that you can stack up to 62 of them together for 992 channels of control. I didn't see anything quickly looking through the source code, but I haven't really spent any time learning the syntax of Swift.
Just a follow up to my previous answer that might be interesting:
I’ve been tempted to see if I can control 0-10V light systems with this setup. Say, a Kessil light. The easiest way to prototype this would be using I2C DACs, and to control both the intensity and color spectrum channels, I would need to do the work that would make it possible to control more than one PWM Bonnet.
So this sort of hardware configurability might be something I work on pretty soon while I wait for the DACs to show up.
I've made the changes to support multiple outputs in the vNext branch. It's not quite ready for human consumption because that branch also requires a specific build of Swift 4.1.3 when using 32-bit Raspbian as the OS, and I haven't setup the bootstrap scripts to grab the right build yet, I don't think.
I also want to run it on my tank for a little while before I declare this "good" to be tagged and released.
This also does the work needed to split the hardware configuration from the schedule, which is needed for the MQTT work going forward. And it shouldn't take me long to write up something to support the MCP4725 0-10V DAC boards that exist. With a couple of those, I could have full control of a Kessil light or two.