35 explicit PCA9685(uint8_t address = 0x40, TwoWire *wire = &Wire)
38 SUPLA_LOG_ERROR(
"Unable to find PCA9685 at address 0x%x", address);
40 SUPLA_LOG_DEBUG(
"PCA9685 is connected at address: 0x%x, "
41 "with PWM freq: %d Hz", address, pca_.getFrequency());
45 void customPinMode(
int channelNumber, uint8_t pin, uint8_t mode)
override {
47 void customDigitalWrite(
int channelNumber, uint8_t pin,
48 uint8_t val)
override {
50 int customDigitalRead(
int channelNumber, uint8_t pin)
override {
53 unsigned int customPulseIn(
int channelNumber, uint8_t pin, uint8_t value,
54 uint64_t timeoutMicro)
override {
57 void customAnalogWrite(
int channelNumber, uint8_t pin,
int val)
override {
58 if (pca_.isConnected()) {
59 val = map(val, 0, 1023, 0, 4095);
60 pca_.setPWM(pin, val);
64 int customAnalogRead(
int channelNumber, uint8_t pin)
override {
69 void setPWMFrequency(uint16_t frequency) {
70 if (pca_.isConnected()) {
71 pca_.setFrequency(frequency);
72 SUPLA_LOG_DEBUG(
"[PCA9685] set PWM frequency: %d Hz",