dotmatrixLED animation with ht1632 LED driver.

Dependencies:   SDFileSystem mbed

Committer:
kohacraft
Date:
Sat Aug 22 04:57:19 2015 +0000
Revision:
0:62dc51c731b4
Child:
1:0c055badeb8f
v0.1;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 0:62dc51c731b4 1 #include "mbed.h"
kohacraft 0:62dc51c731b4 2 #include "ht1632.h"
kohacraft 0:62dc51c731b4 3
kohacraft 0:62dc51c731b4 4 #include "SDFileSystem.h"
kohacraft 0:62dc51c731b4 5 #define SD_MOSI dp2
kohacraft 0:62dc51c731b4 6 #define SD_MISO dp1
kohacraft 0:62dc51c731b4 7 #define SD_SCLK dp6
kohacraft 0:62dc51c731b4 8 #define SD_CS dp13
kohacraft 0:62dc51c731b4 9 SDFileSystem sd(SD_MOSI, SD_MISO, SD_SCLK, SD_CS, "sd"); // mosi, miso, sclk, cs, name (HW modification candidate)
kohacraft 0:62dc51c731b4 10
kohacraft 0:62dc51c731b4 11 DigitalOut myled(LED1);
kohacraft 0:62dc51c731b4 12
kohacraft 0:62dc51c731b4 13 void bmpDisp( FILE *fp )
kohacraft 0:62dc51c731b4 14 {
kohacraft 0:62dc51c731b4 15 unsigned char data[32];
kohacraft 0:62dc51c731b4 16 unsigned char *gData =&data[0],*rData=&data[8],*bData=&data[16];
kohacraft 0:62dc51c731b4 17
kohacraft 0:62dc51c731b4 18 fseek(fp, 54 , SEEK_SET);//bitmap headder throw
kohacraft 0:62dc51c731b4 19 for( int j = 7 ; j>=0 ; j-- )
kohacraft 0:62dc51c731b4 20 {
kohacraft 0:62dc51c731b4 21 rData[j] = 0;
kohacraft 0:62dc51c731b4 22 gData[j] = 0;
kohacraft 0:62dc51c731b4 23 bData[j] = 0;
kohacraft 0:62dc51c731b4 24 for( int i=0 ; i<8 ; i++ )
kohacraft 0:62dc51c731b4 25 {
kohacraft 0:62dc51c731b4 26 bData[j] = bData[j] <<1;
kohacraft 0:62dc51c731b4 27 if ( fgetc(fp) > 127 )
kohacraft 0:62dc51c731b4 28 bData[j] = bData[j] | 0x01;
kohacraft 0:62dc51c731b4 29
kohacraft 0:62dc51c731b4 30 gData[j] = gData[j]<<1;
kohacraft 0:62dc51c731b4 31 if ( fgetc(fp) > 127 )
kohacraft 0:62dc51c731b4 32 gData[j] |= 0x01;
kohacraft 0:62dc51c731b4 33
kohacraft 0:62dc51c731b4 34 rData[j] = rData[j]<<1;
kohacraft 0:62dc51c731b4 35 if ( fgetc(fp) > 127 )
kohacraft 0:62dc51c731b4 36 rData[j] |= 0x01;
kohacraft 0:62dc51c731b4 37
kohacraft 0:62dc51c731b4 38 }
kohacraft 0:62dc51c731b4 39 }
kohacraft 0:62dc51c731b4 40 sendData( 0 , data , sizeof(data) );
kohacraft 0:62dc51c731b4 41 }
kohacraft 0:62dc51c731b4 42
kohacraft 0:62dc51c731b4 43
kohacraft 0:62dc51c731b4 44 int main() {
kohacraft 0:62dc51c731b4 45
kohacraft 0:62dc51c731b4 46 myled = 0;
kohacraft 0:62dc51c731b4 47 FILE *fp;
kohacraft 0:62dc51c731b4 48 initHt1632();
kohacraft 0:62dc51c731b4 49 unsigned char data[32];
kohacraft 0:62dc51c731b4 50 for( int i=0 ; i< sizeof(data) ; i++ )
kohacraft 0:62dc51c731b4 51 data[i] = (unsigned char)0;
kohacraft 0:62dc51c731b4 52
kohacraft 0:62dc51c731b4 53 int color = 8*2;
kohacraft 0:62dc51c731b4 54 for( int i=0 ; i< 8 ; i++ )
kohacraft 0:62dc51c731b4 55 {
kohacraft 0:62dc51c731b4 56 data[i+color] = i*2;
kohacraft 0:62dc51c731b4 57 data[i+color] = data[i+color] | (unsigned char)(i*2+1)<<4;
kohacraft 0:62dc51c731b4 58 data[i+color] = data[i+color];
kohacraft 0:62dc51c731b4 59 }
kohacraft 0:62dc51c731b4 60 sendData( 0 , data , sizeof(data) );
kohacraft 0:62dc51c731b4 61
kohacraft 0:62dc51c731b4 62 char filePath[256] = "";
kohacraft 0:62dc51c731b4 63
kohacraft 0:62dc51c731b4 64 for( int fileNum = 1 ; fileNum <100 ; fileNum++ )
kohacraft 0:62dc51c731b4 65 {
kohacraft 0:62dc51c731b4 66 sprintf( filePath , "/sd/%02d.bmp" , fileNum );
kohacraft 0:62dc51c731b4 67
kohacraft 0:62dc51c731b4 68 if( ( fp = fopen(filePath, "r") ) == NULL )
kohacraft 0:62dc51c731b4 69 {
kohacraft 0:62dc51c731b4 70 break;
kohacraft 0:62dc51c731b4 71 }
kohacraft 0:62dc51c731b4 72 else
kohacraft 0:62dc51c731b4 73 {
kohacraft 0:62dc51c731b4 74 myled = 1;
kohacraft 0:62dc51c731b4 75
kohacraft 0:62dc51c731b4 76 bmpDisp( fp );
kohacraft 0:62dc51c731b4 77 fclose( fp );
kohacraft 0:62dc51c731b4 78 free( fp );
kohacraft 0:62dc51c731b4 79 wait(0.1);
kohacraft 0:62dc51c731b4 80
kohacraft 0:62dc51c731b4 81 }
kohacraft 0:62dc51c731b4 82 }
kohacraft 0:62dc51c731b4 83
kohacraft 0:62dc51c731b4 84
kohacraft 0:62dc51c731b4 85
kohacraft 0:62dc51c731b4 86 while(1) {
kohacraft 0:62dc51c731b4 87
kohacraft 0:62dc51c731b4 88 for( int i =0 ; i<16 ; i++ )
kohacraft 0:62dc51c731b4 89 {
kohacraft 0:62dc51c731b4 90 myled = 1;
kohacraft 0:62dc51c731b4 91 wait(0.5);
kohacraft 0:62dc51c731b4 92 myled = 0;
kohacraft 0:62dc51c731b4 93 wait(0.5);
kohacraft 0:62dc51c731b4 94
kohacraft 0:62dc51c731b4 95 }
kohacraft 0:62dc51c731b4 96 }
kohacraft 0:62dc51c731b4 97 }