According to the documentation (https://docs.emlid.com/navio2/Navio-dev/rgb-led/) the Navio 2 LED is directly connected to GPIO pins, which means it is no longer connected to a PCA9685 hardware PWM generator. That means only 16 colours are possible without some kind of software PWM implementation?
I was confused by the continued presence of source files for the PCA9685 in the Navio directory of the Navio 2 samples repository (Navio2/C++/Navio at navio2 · emlid/Navio2 · GitHub). But that doesn’t make sense as there is a reference to the PWM output also being “microcontroller” controlled with individual update frequencies, which the PCA9685 cannot do.
Overall this is not a problem, I just want to get the facts right as I implement support for it on Windows IoT. We can’t see the difference between 16 or 68 million (4096^3) colours at a distance anyway . But I guess I need to get direct access to this STM32 to achieve any kind of PWM or RC Input on other platforms / without the Navio Linux drivers?
Please clarify the hardware interconnects on Navio 2 regarding STM32, LED and PWM.
p.s. I note the STM32 SWDIO and SWDCLK are exposed. Anything interesting coming out there from the firmware, how do you manage firmware updates and where is the source for that?