5 #ifndef ARUNA_PCA9685_H 6 #define ARUNA_PCA9685_H 46 USE_INTERNAL_CLOCK = 0x0,
47 USE_EXTCLK_PIN_CLOCK = 0x40,
52 AUTO_INCREMENT_DISABLED = 0x0,
53 AUTO_INCREMENT_ENABLED = 0x20,
64 NOT_RESPOND_TO_SUBADDRESS1 = 0x0,
65 RESPOND_TO_SUBADDRESS1 = 0x8,
70 NOT_RESPOND_TO_SUBADDRESS2 = 0x0,
71 RESPOND_TO_SUBADDRESS2 = 0x4,
76 NOT_RESPOND_TO_SUBADDRESS3 = 0x0,
77 RESPOND_TO_SUBADDRESS3 = 0x2,
82 NOT_RESPOND_TO_LED_ALL = 0x0,
83 RESPOND_TO_LED_ALL = 0x1,
89 OUTPUT_LOGIC_NOT_INVERTED = 0x0,
90 OUTPUT_LOGIC_INVERTED = 0x10,
95 OUTPUT_CHANGE_ON_STOP_COMMAND = 0x0,
96 OUTPUT_CHANGE_ON_ACK = 0x8,
108 LEDn_1_OUTDRV_1 = 0b01,
109 LEDn_HIGH_IMPEDANCE = 0b10,
126 PCA9685(uint8_t led,
I2C_master *i2c_bus, uint8_t i2c_address = default_i2c_address);
175 #endif //ARUNA_PCA9685_H
err_t _set_duty(uint16_t duty) override
err_t is_connected()
Is the PCA9685 connected to the I²C bus.
PCA9685(uint8_t led, I2C_master *i2c_bus, uint8_t i2c_address=default_i2c_address)
PCA9685 pwm object for every LED.
uint8_t static const default_i2c_address
static aruna::log::channel_t log
err_t _set_frequency(uint32_t frequency_hz) override
Link * driver
stores the driver.
const uint8_t i2c_address
err_t set_duty(uint16_t on, uint16_t off)
Set the on and off timing of the PCA9685 led.
register_address_pointer
Pointer to the registers.