Revision:
2:98b11b7dd7b2
Parent:
1:be3a691c4a56
Child:
3:d0fc1ce5e516
--- a/colors.h	Sun Feb 13 01:27:10 2011 +0000
+++ b/colors.h	Sun Feb 13 02:12:32 2011 +0000
@@ -1,5 +1,5 @@
 /*
-* Copyright or © or Copr. 2010, Thomas SOETE
+* Copyright or © or Copr. 2010, Thomas SOETE
 * 
 *    MODIFIED BY J.P. ARMSTRONG FROM WWW.MBEDGC.COM
 *
@@ -52,12 +52,270 @@
 
 #define COLOR_MASK ( RED1 | RED2 | RED3 | GRN1 | GRN2 | GRN3 | BLU1 | BLU2 )
 
+const uint32_t COLOR_VAR_MASK[] = {
+	RED1, 
+	RED2, 
+	RED1|RED2, 
+	RED3, 
+	RED1|RED3, 
+	RED2|RED3, 
+	RED1|RED2|RED3, 
+	GRN1, 
+	RED1|GRN1, 
+	RED2|GRN1, 
+	RED1|RED2|GRN1, 
+	RED3|GRN1, 
+	RED1|RED3|GRN1, 
+	RED2|RED3|GRN1, 
+	RED1|RED2|RED3|GRN1, 
+	GRN2, 
+	RED1|GRN2, 
+	RED2|GRN2, 
+	RED1|RED2|GRN2, 
+	RED3|GRN2, 
+	RED1|RED3|GRN2, 
+	RED2|RED3|GRN2, 
+	RED1|RED2|RED3|GRN2, 
+	GRN1|GRN2, 
+	RED1|GRN1|GRN2, 
+	RED2|GRN1|GRN2, 
+	RED1|RED2|GRN1|GRN2, 
+	RED3|GRN1|GRN2, 
+	RED1|RED3|GRN1|GRN2, 
+	RED2|RED3|GRN1|GRN2, 
+	RED1|RED2|RED3|GRN1|GRN2, 
+	GRN3, 
+	RED1|GRN3, 
+	RED2|GRN3, 
+	RED1|RED2|GRN3, 
+	RED3|GRN3, 
+	RED1|RED3|GRN3, 
+	RED2|RED3|GRN3, 
+	RED1|RED2|RED3|GRN3, 
+	GRN1|GRN3, 
+	RED1|GRN1|GRN3, 
+	RED2|GRN1|GRN3, 
+	RED1|RED2|GRN1|GRN3, 
+	RED3|GRN1|GRN3, 
+	RED1|RED3|GRN1|GRN3, 
+	RED2|RED3|GRN1|GRN3, 
+	RED1|RED2|RED3|GRN1|GRN3, 
+	GRN2|GRN3, 
+	RED1|GRN2|GRN3, 
+	RED2|GRN2|GRN3, 
+	RED1|RED2|GRN2|GRN3, 
+	RED3|GRN2|GRN3, 
+	RED1|RED3|GRN2|GRN3, 
+	RED2|RED3|GRN2|GRN3, 
+	RED1|RED2|RED3|GRN2|GRN3, 
+	GRN1|GRN2|GRN3, 
+	RED1|GRN1|GRN2|GRN3, 
+	RED2|GRN1|GRN2|GRN3, 
+	RED1|RED2|GRN1|GRN2|GRN3, 
+	RED3|GRN1|GRN2|GRN3, 
+	RED1|RED3|GRN1|GRN2|GRN3, 
+	RED2|RED3|GRN1|GRN2|GRN3, 
+	RED1|RED2|RED3|GRN1|GRN2|GRN3, 
+	BLU1, 
+	RED1|BLU1, 
+	RED2|BLU1, 
+	RED1|RED2|BLU1, 
+	RED3|BLU1, 
+	RED1|RED3|BLU1, 
+	RED2|RED3|BLU1, 
+	RED1|RED2|RED3|BLU1, 
+	GRN1|BLU1, 
+	RED1|GRN1|BLU1, 
+	RED2|GRN1|BLU1, 
+	RED1|RED2|GRN1|BLU1, 
+	RED3|GRN1|BLU1, 
+	RED1|RED3|GRN1|BLU1, 
+	RED2|RED3|GRN1|BLU1, 
+	RED1|RED2|RED3|GRN1|BLU1, 
+	GRN2|BLU1, 
+	RED1|GRN2|BLU1, 
+	RED2|GRN2|BLU1, 
+	RED1|RED2|GRN2|BLU1, 
+	RED3|GRN2|BLU1, 
+	RED1|RED3|GRN2|BLU1, 
+	RED2|RED3|GRN2|BLU1, 
+	RED1|RED2|RED3|GRN2|BLU1, 
+	GRN1|GRN2|BLU1, 
+	RED1|GRN1|GRN2|BLU1, 
+	RED2|GRN1|GRN2|BLU1, 
+	RED1|RED2|GRN1|GRN2|BLU1, 
+	RED3|GRN1|GRN2|BLU1, 
+	RED1|RED3|GRN1|GRN2|BLU1, 
+	RED2|RED3|GRN1|GRN2|BLU1, 
+	RED1|RED2|RED3|GRN1|GRN2|BLU1, 
+	GRN3|BLU1, 
+	RED1|GRN3|BLU1, 
+	RED2|GRN3|BLU1, 
+	RED1|RED2|GRN3|BLU1, 
+	RED3|GRN3|BLU1, 
+	RED1|RED3|GRN3|BLU1, 
+	RED2|RED3|GRN3|BLU1, 
+	RED1|RED2|RED3|GRN3|BLU1, 
+	GRN1|GRN3|BLU1, 
+	RED1|GRN1|GRN3|BLU1, 
+	RED2|GRN1|GRN3|BLU1, 
+	RED1|RED2|GRN1|GRN3|BLU1, 
+	RED3|GRN1|GRN3|BLU1, 
+	RED1|RED3|GRN1|GRN3|BLU1, 
+	RED2|RED3|GRN1|GRN3|BLU1, 
+	RED1|RED2|RED3|GRN1|GRN3|BLU1, 
+	GRN2|GRN3|BLU1, 
+	RED1|GRN2|GRN3|BLU1, 
+	RED2|GRN2|GRN3|BLU1, 
+	RED1|RED2|GRN2|GRN3|BLU1, 
+	RED3|GRN2|GRN3|BLU1, 
+	RED1|RED3|GRN2|GRN3|BLU1, 
+	RED2|RED3|GRN2|GRN3|BLU1, 
+	RED1|RED2|RED3|GRN2|GRN3|BLU1, 
+	GRN1|GRN2|GRN3|BLU1, 
+	RED1|GRN1|GRN2|GRN3|BLU1, 
+	RED2|GRN1|GRN2|GRN3|BLU1, 
+	RED1|RED2|GRN1|GRN2|GRN3|BLU1, 
+	RED3|GRN1|GRN2|GRN3|BLU1, 
+	RED1|RED3|GRN1|GRN2|GRN3|BLU1, 
+	RED2|RED3|GRN1|GRN2|GRN3|BLU1, 
+	RED1|RED2|RED3|GRN1|GRN2|GRN3|BLU1, 
+	BLU2, 
+	RED1|BLU2, 
+	RED2|BLU2, 
+	RED1|RED2|BLU2, 
+	RED3|BLU2, 
+	RED1|RED3|BLU2, 
+	RED2|RED3|BLU2, 
+	RED1|RED2|RED3|BLU2, 
+	GRN1|BLU2, 
+	RED1|GRN1|BLU2, 
+	RED2|GRN1|BLU2, 
+	RED1|RED2|GRN1|BLU2, 
+	RED3|GRN1|BLU2, 
+	RED1|RED3|GRN1|BLU2, 
+	RED2|RED3|GRN1|BLU2, 
+	RED1|RED2|RED3|GRN1|BLU2, 
+	GRN2|BLU2, 
+	RED1|GRN2|BLU2, 
+	RED2|GRN2|BLU2, 
+	RED1|RED2|GRN2|BLU2, 
+	RED3|GRN2|BLU2, 
+	RED1|RED3|GRN2|BLU2, 
+	RED2|RED3|GRN2|BLU2, 
+	RED1|RED2|RED3|GRN2|BLU2, 
+	GRN1|GRN2|BLU2, 
+	RED1|GRN1|GRN2|BLU2, 
+	RED2|GRN1|GRN2|BLU2, 
+	RED1|RED2|GRN1|GRN2|BLU2, 
+	RED3|GRN1|GRN2|BLU2, 
+	RED1|RED3|GRN1|GRN2|BLU2, 
+	RED2|RED3|GRN1|GRN2|BLU2, 
+	RED1|RED2|RED3|GRN1|GRN2|BLU2, 
+	GRN3|BLU2, 
+	RED1|GRN3|BLU2, 
+	RED2|GRN3|BLU2, 
+	RED1|RED2|GRN3|BLU2, 
+	RED3|GRN3|BLU2, 
+	RED1|RED3|GRN3|BLU2, 
+	RED2|RED3|GRN3|BLU2, 
+	RED1|RED2|RED3|GRN3|BLU2, 
+	GRN1|GRN3|BLU2, 
+	RED1|GRN1|GRN3|BLU2, 
+	RED2|GRN1|GRN3|BLU2, 
+	RED1|RED2|GRN1|GRN3|BLU2, 
+	RED3|GRN1|GRN3|BLU2, 
+	RED1|RED3|GRN1|GRN3|BLU2, 
+	RED2|RED3|GRN1|GRN3|BLU2, 
+	RED1|RED2|RED3|GRN1|GRN3|BLU2, 
+	GRN2|GRN3|BLU2, 
+	RED1|GRN2|GRN3|BLU2, 
+	RED2|GRN2|GRN3|BLU2, 
+	RED1|RED2|GRN2|GRN3|BLU2, 
+	RED3|GRN2|GRN3|BLU2, 
+	RED1|RED3|GRN2|GRN3|BLU2, 
+	RED2|RED3|GRN2|GRN3|BLU2, 
+	RED1|RED2|RED3|GRN2|GRN3|BLU2, 
+	GRN1|GRN2|GRN3|BLU2, 
+	RED1|GRN1|GRN2|GRN3|BLU2, 
+	RED2|GRN1|GRN2|GRN3|BLU2, 
+	RED1|RED2|GRN1|GRN2|GRN3|BLU2, 
+	RED3|GRN1|GRN2|GRN3|BLU2, 
+	RED1|RED3|GRN1|GRN2|GRN3|BLU2, 
+	RED2|RED3|GRN1|GRN2|GRN3|BLU2, 
+	RED1|RED2|RED3|GRN1|GRN2|GRN3|BLU2, 
+	BLU1|BLU2, 
+	RED1|BLU1|BLU2, 
+	RED2|BLU1|BLU2, 
+	RED1|RED2|BLU1|BLU2, 
+	RED3|BLU1|BLU2, 
+	RED1|RED3|BLU1|BLU2, 
+	RED2|RED3|BLU1|BLU2, 
+	RED1|RED2|RED3|BLU1|BLU2, 
+	GRN1|BLU1|BLU2, 
+	RED1|GRN1|BLU1|BLU2, 
+	RED2|GRN1|BLU1|BLU2, 
+	RED1|RED2|GRN1|BLU1|BLU2, 
+	RED3|GRN1|BLU1|BLU2, 
+	RED1|RED3|GRN1|BLU1|BLU2, 
+	RED2|RED3|GRN1|BLU1|BLU2, 
+	RED1|RED2|RED3|GRN1|BLU1|BLU2, 
+	GRN2|BLU1|BLU2, 
+	RED1|GRN2|BLU1|BLU2, 
+	RED2|GRN2|BLU1|BLU2, 
+	RED1|RED2|GRN2|BLU1|BLU2, 
+	RED3|GRN2|BLU1|BLU2, 
+	RED1|RED3|GRN2|BLU1|BLU2, 
+	RED2|RED3|GRN2|BLU1|BLU2, 
+	RED1|RED2|RED3|GRN2|BLU1|BLU2, 
+	GRN1|GRN2|BLU1|BLU2, 
+	RED1|GRN1|GRN2|BLU1|BLU2, 
+	RED2|GRN1|GRN2|BLU1|BLU2, 
+	RED1|RED2|GRN1|GRN2|BLU1|BLU2, 
+	RED3|GRN1|GRN2|BLU1|BLU2, 
+	RED1|RED3|GRN1|GRN2|BLU1|BLU2, 
+	RED2|RED3|GRN1|GRN2|BLU1|BLU2, 
+	RED1|RED2|RED3|GRN1|GRN2|BLU1|BLU2, 
+	GRN3|BLU1|BLU2, 
+	RED1|GRN3|BLU1|BLU2, 
+	RED2|GRN3|BLU1|BLU2, 
+	RED1|RED2|GRN3|BLU1|BLU2, 
+	RED3|GRN3|BLU1|BLU2, 
+	RED1|RED3|GRN3|BLU1|BLU2, 
+	RED2|RED3|GRN3|BLU1|BLU2, 
+	RED1|RED2|RED3|GRN3|BLU1|BLU2, 
+	GRN1|GRN3|BLU1|BLU2, 
+	RED1|GRN1|GRN3|BLU1|BLU2, 
+	RED2|GRN1|GRN3|BLU1|BLU2, 
+	RED1|RED2|GRN1|GRN3|BLU1|BLU2, 
+	RED3|GRN1|GRN3|BLU1|BLU2, 
+	RED1|RED3|GRN1|GRN3|BLU1|BLU2, 
+	RED2|RED3|GRN1|GRN3|BLU1|BLU2, 
+	RED1|RED2|RED3|GRN1|GRN3|BLU1|BLU2, 
+	GRN2|GRN3|BLU1|BLU2, 
+	RED1|GRN2|GRN3|BLU1|BLU2, 
+	RED2|GRN2|GRN3|BLU1|BLU2, 
+	RED1|RED2|GRN2|GRN3|BLU1|BLU2, 
+	RED3|GRN2|GRN3|BLU1|BLU2, 
+	RED1|RED3|GRN2|GRN3|BLU1|BLU2, 
+	RED2|RED3|GRN2|GRN3|BLU1|BLU2, 
+	RED1|RED2|RED3|GRN2|GRN3|BLU1|BLU2, 
+	GRN1|GRN2|GRN3|BLU1|BLU2, 
+	RED1|GRN1|GRN2|GRN3|BLU1|BLU2, 
+	RED2|GRN1|GRN2|GRN3|BLU1|BLU2, 
+	RED1|RED2|GRN1|GRN2|GRN3|BLU1|BLU2, 
+	RED3|GRN1|GRN2|GRN3|BLU1|BLU2, 
+	RED1|RED3|GRN1|GRN2|GRN3|BLU1|BLU2, 
+	RED2|RED3|GRN1|GRN2|GRN3|BLU1|BLU2, 
+	RED1|RED2|RED3|GRN1|GRN2|GRN3|BLU1|BLU2
+};
+
 /** Macros **/
 #define COLOR_INIT()     LPC_GPIO0->FIODIR |= COLOR_MASK;
 
 #define COLOR_SET(value) do {                                 \
                             LPC_GPIO0->FIOMASK = ~COLOR_MASK; \
-                            LPC_GPIO0->FIOPIN = (value);     \
+                            LPC_GPIO0->FIOPIN = COLOR_VAR_MASK[value];      \
                         } while(0)
 
 #endif
\ No newline at end of file