This is a project to replace the 8051 on a existing RGB LED board and add USB functionality. The original board relied on 8051 firmware to control the LEDs so any changes required software development. This version provides a USB interface for LED control. The USB interface is implemented as a HID with a 9 byte OutReport. In conjunction with a simple GUI the RGB LED board can now be controlled to set color patterns, intensity and pattern sequencing.

Dependencies:   PCA9635-6 mbed USBDevice

RGB GUI - Windows program to control the PCA9635 board.

/media/uploads/JimCarver/rgb_led.jpg

Revision:
1:ee2692588275
Parent:
0:5e18eb7da208
--- a/i2cmessages.h	Fri Dec 09 21:40:36 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#include "i2cexprt.h"
-
-#define    SW_RESET_I2C_ADDRESS        0x06
-#define    ALL_CALL_I2C_ADDRESS        0xE0
-#define    SUB_ADDRESS_1                0xE2
-#define    SUB_ADDRESS_2                0xE4
-#define    SUB_ADDRESS_3                0xE8
-
-BYTE SW_RESET[3]    = {2,0xA5,0x5A};
-
-BYTE WAKE_UP_AND_INIT[4] = {3,0x80,0x81,0x01};
-
-BYTE GLOBAL_BLINK_SUB_ADDR_1[4] = {3,0x80,0x89,0x21};    // Blink + All Call/Sub-Addr1
-BYTE GLOBAL_BLINK_SUB_ADDR_2[4] = {3,0x80,0x85,0x21};    // Blink + All Call/Sub-Addr2
-BYTE GLOBAL_BLINK_SUB_ADDR_3[4] = {3,0x80,0x83,0x21};    // Blink + All Call/Sub-Addr3
-BYTE GLOBAL_DIM[3] = {2,0x01,0x01};
-BYTE GLOBAL_INTENSITY[3] = { 2, 0x92, 0};
-
-void Write_All_Devices(void);
-BYTE ALL_LED_FULL_PWM[18]={17,0x82,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
-
-BYTE LED_ALL_ON[6]                                    = {5,0x94,0x55,0x55,0x55,0x55};
-BYTE LED_ALL_OFF[6]                                    = {5,0x94,0x00,0x00,0x00,0x00};
-BYTE LED_ALL_INDVDL_PLUS_GLOBL_PWM_CTRL[6]    = {5,0x94,0xFF,0xFF,0xFF,0xFF};
-
-BYTE LED_0_3_6_9_12_15_ON[6]             = {5,0x94,0x41,0x10,0x04,0x41};
-BYTE LED_1_4_7_10_13_ON[6]             = {5,0x94,0x10,0x04,0x41,0x10};
-BYTE LED_2_5_8_11_14_ON[6]             = {5,0x94,0x04,0x41,0x10,0x04};
-
-
-