Program to demonstrate NXP semiconductor's PCA9955B chip working with the BBC micro:bit
Dependencies: PCA995xA microbit
Fork of PCA9955A_Hello by
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, committed 2015-03-04
- Comitter:
- nxp_ip
- Date:
- Wed Mar 04 10:33:14 2015 +0000
- Parent:
- 1:8b5c26cc269c
- Child:
- 3:a67c21ad4173
- Commit message:
- Library updated
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 |
--- a/PCA995xA.lib Wed Feb 25 06:48:49 2015 +0000 +++ b/PCA995xA.lib Wed Mar 04 10:33:14 2015 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/users/nxp_ip/code/PCA995xA/#a624e2eeccac +http://mbed.org/users/nxp_ip/code/PCA995xA/#d2865e756169
--- 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
