Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed ros_lib_kinetic
PCA9634.h
00001 #ifndef PCA9634_H 00002 #define PCA9634_H 00003 00004 00005 #define PCA9634_REG_MODE1 0x00 // Mode register 1 00006 #define PCA9634_REG_MODE2 0x01 // Mode register 2 00007 #define PCA9634_REG_PWM0 0x02 // brightness control LED0 00008 #define PCA9634_REG_PWM1 0x03 // brightness control LED1 00009 #define PCA9634_REG_PWM2 0x04 // brightness control LED2 00010 #define PCA9634_REG_PWM3 0x05 // brightness control LED3 00011 #define PCA9634_REG_PWM4 0x06 // brightness control LED4 00012 #define PCA9634_REG_PWM5 0x07 // brightness control LED5 00013 #define PCA9634_REG_PWM6 0x08 // brightness control LED6 00014 #define PCA9634_REG_PWM7 0x09 // brightness control LED7 00015 #define PCA9634_REG_GRPPWM 0x0A // group duty cycle 00016 #define PCA9634_REG_GRPFREQ 0x0B // group frequency 00017 #define PCA9634_REG_LEDOUT0 0x0C // LED output state 0 00018 #define PCA9634_REG_LEDOUT1 0x0D // LED output state 1 00019 #define PCA9634_REG_SUBADR1 0x0E // I2C-bus subaddress 1 00020 #define PCA9634_REG_SUBADR2 0x0F // I2C-bus subaddress 2 00021 #define PCA9634_REG_SUBADR3 0x10 // I2C-bus subaddress 3 00022 #define PCA9634_REG_ALLCALLADR 0x11 // LED All I2C-bus address 00023 00024 #define PCA9634_ALL_LED_TO_OFF 0x00 00025 #define PCA9634_ALL_LED_TO_ON 0x55 00026 #define PCA9634_ALL_LED_TO_PWM 0xAA 00027 #define PCA9634_ALL_LED_TO_GRPPWM 0xFF 00028 00029 #define ADDRESS_HI 0x12 00030 #define ADDRESS_LO 0x34 00031 00032 #define PCA9634_ERROR_INVALID_LED -1 00033 00034 #include "mbed.h" 00035 00036 enum ledID { 00037 PCA_LED0 = PCA9634_REG_PWM0, 00038 PCA_LED1 = PCA9634_REG_PWM1, 00039 PCA_LED2 = PCA9634_REG_PWM2, 00040 PCA_LED3 = PCA9634_REG_PWM3, 00041 PCA_LED4 = PCA9634_REG_PWM4, 00042 PCA_LED5 = PCA9634_REG_PWM5, 00043 PCA_LED6 = PCA9634_REG_PWM6, 00044 PCA_LED7 = PCA9634_REG_PWM7 00045 }; 00046 00047 class PCA9634 00048 { 00049 public: 00050 00051 PCA9634(I2C *i2c, DigitalOut *inv_out_en, int addr); 00052 00053 void init(); 00054 void enableLED(ledID led); 00055 void disableLED(ledID led); 00056 void dimLEDs(); 00057 void commandLEDOutState(); 00058 void commandLEDBrightness(ledID led, int brightness); 00059 00060 private: 00061 I2C *i2c_; 00062 DigitalOut *inv_out_en_; 00063 00064 char led_out_state_[2]; 00065 00066 int addr_; 00067 00068 int writeReg(char reg, char cmd); 00069 }; 00070 00071 #endif
Generated on Sat Jul 23 2022 08:22:52 by
1.7.2