Skip to content

PCA9685-Arduino v1.2.15

Latest
Compare
Choose a tag to compare
@NachtRaveVL NachtRaveVL released this 16 Oct 06:02
· 1 commit to master since this release

I'm very happy to announce v1.2.15 of PCA9685-Arduino, with many updates to address commonly raised issues, fixes to documentation, and hopefully provide a more accurate, complete, and user friendly IC control library.

Some of the major features of this version includes:

  • Changing of mode registers into separate enumerations, for clarity and readability.
  • Lots of documentation updates that more accurately describe the behavior of the IC and its circuitry.
  • Linear phase balancing has been identified as broken (causing LED flickering beyond PWM ch 4~5 or so), and so now software phase balancing is disabled by default, linear mode only shifts channels 16 steps instead of 256 steps between one another, and weaved mode has been removed.
    • Instead, if you're connecting a lot of devices to it, just install a 10v 1F decoupling capacitor. You'll be fine.
    • I might revisit this in the future as a feature request for a dynamic phase balancer that actually works a whole lot better, which may be a win for those who really don't want to install the additional decoupling capacitor. However, the gain we get by making this change now is a lot fewer frustrated users of this library, and better knowledge transfer for the use of the decoupling capacitor available on the breakout. That's a win in my book. Sometimes software just doesn't work and it's okay to admit that.
  • All examples have been fixed, and with better debug output, with a bit better look to it.
  • Shortened servo evaluator class name because of this minimalism thing I'm doing.
  • Fixed issues with compiling for software i2c mode.
  • Fixed all the warnings so you have a clean compilation window.
  • Made switch statements fail when a new enum gets added but not handled in all the various switch statements we're using. Yes, it's a cute treat for myself.
  • Added assertion for invalid combination of init vars. I might regret this - we'll see what happens. Disable assertions by compiling with -DNDEBUG if you must.
  • Bunch of other general standardizations and general code updates/fixes that I forgot to put down somewhere because weee programming.

Happy coding!