Sample code to operate 6 of PCA9622_LED8x8 module

Dependencies:   PCA9622_LED8x8 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /**
00002  *  Sample code to operate 6 of PCA9622_LED8x8 module
00003  *
00004  *  @author  Tedd OKANO
00005  *  @version 1.0
00006  *  @date    25-Dec-2014
00007  */
00008 
00009 #include "mbed.h"
00010 #include "PCA9622_LED8x8.h"
00011 
00012 I2C  i2c( p28, p27 );
00013 
00014 PCA9622_LED8x8  matrix[]    = {
00015     PCA9622_LED8x8( i2c, 0xA0 ),
00016     PCA9622_LED8x8( i2c, 0xA2 ),
00017     PCA9622_LED8x8( i2c, 0xA4 ),
00018     PCA9622_LED8x8( i2c, 0xA6 ),
00019     PCA9622_LED8x8( i2c, 0xA8 ),
00020     PCA9622_LED8x8( i2c, 0xAA )
00021 };
00022 
00023 static char bm_nxp[] = {
00024     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00025 
00026     0xFF, 0xFF, 0xFF, 0xF0, 0x78, 0x3C, 0x1E, 0x0F,
00027     0xFF, 0x7E, 0xBD, 0xDB, 0xE7, 0x7E, 0x3C, 0x18,
00028     0x3C, 0x7E, 0xE7, 0xDB, 0xBD, 0x7E, 0xFF, 0xCC,
00029     0xCC, 0xCC, 0xCC, 0xCC, 0xFC, 0x78, 0x78,
00030 
00031     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00032 };
00033 
00034 #define     N_OF_MTX    6
00035 
00036 int main()
00037 {
00038     float   image[ 8 ][ 8 ];
00039     int     index;
00040     int     count   = 0;
00041 
00042     while(1) {
00043 
00044         for ( int offset = 0; offset < N_OF_MTX; offset++) {
00045             index       = ((count + offset * 11) % (sizeof( bm_nxp ) - 8));
00046             for ( int i = 0; i < 8; i++ ) {
00047                 for ( int j = 0; j < 8; j++ ) {
00048                     image[ j ][ 7 - i ]   = (bm_nxp[ index + j ] >> (7 - i)) & 0x1;
00049                 }
00050             }
00051             matrix[ offset ].set_data( image );
00052         }
00053 
00054         count++;
00055         wait( 0.02 );
00056     }
00057 }