Sample code to operate 6 of PCA9622_LED8x8 module
Dependencies: PCA9622_LED8x8 mbed
Simple demo program to show 6 of PCA9622_LED8x8 modules individually.
Component page is available
Please refer to the component page for for more information.
main.cpp@0:e16bcfb2d84e, 2014-12-25 (annotated)
- Committer:
- nxp_ip
- Date:
- Thu Dec 25 05:41:53 2014 +0000
- Revision:
- 0:e16bcfb2d84e
Sample code to operate six of PCA9622_LED8x8 module
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nxp_ip | 0:e16bcfb2d84e | 1 | /** |
nxp_ip | 0:e16bcfb2d84e | 2 | * Sample code to operate 6 of PCA9622_LED8x8 module |
nxp_ip | 0:e16bcfb2d84e | 3 | * |
nxp_ip | 0:e16bcfb2d84e | 4 | * @author Tedd OKANO |
nxp_ip | 0:e16bcfb2d84e | 5 | * @version 1.0 |
nxp_ip | 0:e16bcfb2d84e | 6 | * @date 25-Dec-2014 |
nxp_ip | 0:e16bcfb2d84e | 7 | */ |
nxp_ip | 0:e16bcfb2d84e | 8 | |
nxp_ip | 0:e16bcfb2d84e | 9 | #include "mbed.h" |
nxp_ip | 0:e16bcfb2d84e | 10 | #include "PCA9622_LED8x8.h" |
nxp_ip | 0:e16bcfb2d84e | 11 | |
nxp_ip | 0:e16bcfb2d84e | 12 | I2C i2c( p28, p27 ); |
nxp_ip | 0:e16bcfb2d84e | 13 | |
nxp_ip | 0:e16bcfb2d84e | 14 | PCA9622_LED8x8 matrix[] = { |
nxp_ip | 0:e16bcfb2d84e | 15 | PCA9622_LED8x8( i2c, 0xA0 ), |
nxp_ip | 0:e16bcfb2d84e | 16 | PCA9622_LED8x8( i2c, 0xA2 ), |
nxp_ip | 0:e16bcfb2d84e | 17 | PCA9622_LED8x8( i2c, 0xA4 ), |
nxp_ip | 0:e16bcfb2d84e | 18 | PCA9622_LED8x8( i2c, 0xA6 ), |
nxp_ip | 0:e16bcfb2d84e | 19 | PCA9622_LED8x8( i2c, 0xA8 ), |
nxp_ip | 0:e16bcfb2d84e | 20 | PCA9622_LED8x8( i2c, 0xAA ) |
nxp_ip | 0:e16bcfb2d84e | 21 | }; |
nxp_ip | 0:e16bcfb2d84e | 22 | |
nxp_ip | 0:e16bcfb2d84e | 23 | static char bm_nxp[] = { |
nxp_ip | 0:e16bcfb2d84e | 24 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nxp_ip | 0:e16bcfb2d84e | 25 | |
nxp_ip | 0:e16bcfb2d84e | 26 | 0xFF, 0xFF, 0xFF, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, |
nxp_ip | 0:e16bcfb2d84e | 27 | 0xFF, 0x7E, 0xBD, 0xDB, 0xE7, 0x7E, 0x3C, 0x18, |
nxp_ip | 0:e16bcfb2d84e | 28 | 0x3C, 0x7E, 0xE7, 0xDB, 0xBD, 0x7E, 0xFF, 0xCC, |
nxp_ip | 0:e16bcfb2d84e | 29 | 0xCC, 0xCC, 0xCC, 0xCC, 0xFC, 0x78, 0x78, |
nxp_ip | 0:e16bcfb2d84e | 30 | |
nxp_ip | 0:e16bcfb2d84e | 31 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
nxp_ip | 0:e16bcfb2d84e | 32 | }; |
nxp_ip | 0:e16bcfb2d84e | 33 | |
nxp_ip | 0:e16bcfb2d84e | 34 | #define N_OF_MTX 6 |
nxp_ip | 0:e16bcfb2d84e | 35 | |
nxp_ip | 0:e16bcfb2d84e | 36 | int main() |
nxp_ip | 0:e16bcfb2d84e | 37 | { |
nxp_ip | 0:e16bcfb2d84e | 38 | float image[ 8 ][ 8 ]; |
nxp_ip | 0:e16bcfb2d84e | 39 | int index; |
nxp_ip | 0:e16bcfb2d84e | 40 | int count = 0; |
nxp_ip | 0:e16bcfb2d84e | 41 | |
nxp_ip | 0:e16bcfb2d84e | 42 | while(1) { |
nxp_ip | 0:e16bcfb2d84e | 43 | |
nxp_ip | 0:e16bcfb2d84e | 44 | for ( int offset = 0; offset < N_OF_MTX; offset++) { |
nxp_ip | 0:e16bcfb2d84e | 45 | index = ((count + offset * 11) % (sizeof( bm_nxp ) - 8)); |
nxp_ip | 0:e16bcfb2d84e | 46 | for ( int i = 0; i < 8; i++ ) { |
nxp_ip | 0:e16bcfb2d84e | 47 | for ( int j = 0; j < 8; j++ ) { |
nxp_ip | 0:e16bcfb2d84e | 48 | image[ j ][ 7 - i ] = (bm_nxp[ index + j ] >> (7 - i)) & 0x1; |
nxp_ip | 0:e16bcfb2d84e | 49 | } |
nxp_ip | 0:e16bcfb2d84e | 50 | } |
nxp_ip | 0:e16bcfb2d84e | 51 | matrix[ offset ].set_data( image ); |
nxp_ip | 0:e16bcfb2d84e | 52 | } |
nxp_ip | 0:e16bcfb2d84e | 53 | |
nxp_ip | 0:e16bcfb2d84e | 54 | count++; |
nxp_ip | 0:e16bcfb2d84e | 55 | wait( 0.02 ); |
nxp_ip | 0:e16bcfb2d84e | 56 | } |
nxp_ip | 0:e16bcfb2d84e | 57 | } |