The frequency the part runs at once the prescaler has rounded the one asked for, in hertz.
The prescale value the driver writes for its frequency.
Reads one channel's four register bytes back from the part, one register a transfer, so the read works whatever MODE1 holds and changes nothing on the part. Rejects a channel past 15.
Programs the prescale and the output wiring with the oscillator asleep, wakes it, waits the 500 us it needs, and restarts the channels.
Loads every channel with the same four bytes in one transfer.
Loads one channel with the four register bytes the pwm builders make, initializing
the part first if init has not run. Rejects a channel past 15.
Stops the oscillator; the channels keep their settings.
Sends the general-call software reset, which returns every PCA9685 on the bus to its power-on state. It goes to address 0x00, which nothing on a simulated bus answers.
Wakes the oscillator, waits the 500 us it needs, and restarts the channels that were running before the sleep.
An NXP PCA9685 on an I2C bus, driving sixteen PWM outputs.