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...

Files at this revision

API Documentation at this revision

Comitter:
nxp_ip
Date:
Wed Feb 25 06:45:58 2015 +0000
Child:
1:8b5c26cc269c
Commit message:
Initial version

Changed in this revision

PCA995xA.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PCA995xA.lib	Wed Feb 25 06:45:58 2015 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/nxp_ip/code/PCA995xA/#a624e2eeccac
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Feb 25 06:45:58 2015 +0000
@@ -0,0 +1,19 @@
+#include "mbed.h"
+
+#include "PCA9955A.h"
+PCA9955A    led_cntlr( p28, p27, 0x02 );    //  SDA, SCL, Slave_address(option)
+
+int main1()
+{
+    led_cntlr.current( ALLPORTS, 1.0 ); //  Set all ports output current 100%
+
+    while(1) {
+        for ( int port = 0; port < led_cntlr.number_of_ports(); port++ ) {
+            for ( int i = 1; i <= 100; i++ ) {
+                led_cntlr.pwm(  port, (float)i / 100.0 );
+                wait( 0.01 );
+            }
+        }
+        led_cntlr.pwm( ALLPORTS, 0.0 ); //  Set all ports output PWM 0%
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Feb 25 06:45:58 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9ad691361fac
\ No newline at end of file