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...
Diff: main.cpp
- 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