Program to demonstrate NXP semiconductor's PCA9955B chip working with the BBC micro:bit

Dependencies:   PCA995xA microbit

Fork of PCA9955A_Hello by InetrfaceProducts NXP

This is a simple program that allows you to control each port on a PCA9955B connected over i2c to a BBC micro:bit using a simple USB serial communication program.

I've written it to work with the 2 digit SMD soldering kit I designed. Drop me an email at tb942@hotmail.co.uk for further info on that...

Revision:
2:cfa5103184b1
Parent:
1:8b5c26cc269c
Child:
3:a67c21ad4173
--- a/main.cpp	Wed Feb 25 06:48:49 2015 +0000
+++ b/main.cpp	Wed Mar 04 10:33:14 2015 +0000
@@ -17,3 +17,59 @@
         led_cntlr.pwm( ALLPORTS, 0.0 ); //  Set all ports output PWM 0%
     }
 }
+
+
+
+#if 0  //  Sample of using LedPwmOut API
+#include "mbed.h"
+#include "PCA9955A.h"
+
+PCA9955A    led_cntlr( p28, p27, 0x02 );
+LedPwmOutCC   leds[]  = {
+    LedPwmOutCC( led_cntlr, L0  ),
+    LedPwmOutCC( led_cntlr, L4  ),
+    LedPwmOutCC( led_cntlr, L8  ),
+    LedPwmOutCC( led_cntlr, L12 ),
+
+    LedPwmOutCC( led_cntlr, L1  ),
+    LedPwmOutCC( led_cntlr, L5  ),
+    LedPwmOutCC( led_cntlr, L9  ),
+    LedPwmOutCC( led_cntlr, L13 ),
+
+    LedPwmOutCC( led_cntlr, L2  ),
+    LedPwmOutCC( led_cntlr, L6  ),
+    LedPwmOutCC( led_cntlr, L10  ),
+    LedPwmOutCC( led_cntlr, L14 ),
+
+    LedPwmOutCC( led_cntlr, L3  ),
+    LedPwmOutCC( led_cntlr, L7  ),
+    LedPwmOutCC( led_cntlr, L11  ),
+    LedPwmOutCC( led_cntlr, L15 ),
+
+};
+
+int main()
+{
+    for ( int ch = 0; ch < 16; ch++ )
+        leds[ ch ]  = 1.0;
+    for ( int ch = 0; ch < 16; ch++ )
+        leds[ ch ].current( 0.0 );
+
+    while(1) {
+        for ( int ch = 0; ch < 16; ch++ ) {
+            for ( float p = 0.0; p < 1.0; p += 0.01 ) {
+//                leds[ ch ]  = p;
+                leds[ ch ].current( p );
+                wait( 0.01 );
+            }
+        }
+        for ( float c = 1.0; c > 0.0; c -= 0.01 ) {
+            for ( int ch = 0; ch < 16; ch++ ) {
+                leds[ ch ].current( c );
+
+            }
+            wait( 0.01 );
+        }
+    }
+}
+#endif
\ No newline at end of file