dotmatrixLED animation with ht1632 LED driver.
Dependencies: SDFileSystem mbed
Diff: main.cpp
- Revision:
- 1:0c055badeb8f
- Parent:
- 0:62dc51c731b4
--- a/main.cpp Sat Aug 22 04:57:19 2015 +0000 +++ b/main.cpp Sun Aug 23 22:47:55 2015 +0000 @@ -45,53 +45,49 @@ myled = 0; FILE *fp; - initHt1632(); - unsigned char data[32]; - for( int i=0 ; i< sizeof(data) ; i++ ) - data[i] = (unsigned char)0; + int fileNumMax = 100; + float waitTime = 0.1; - int color = 8*2; - for( int i=0 ; i< 8 ; i++ ) - { - data[i+color] = i*2; - data[i+color] = data[i+color] | (unsigned char)(i*2+1)<<4; - data[i+color] = data[i+color]; - } - sendData( 0 , data , sizeof(data) ); - - char filePath[256] = ""; + //LEDモジュールの初期化 + initHt1632(); - for( int fileNum = 1 ; fileNum <100 ; fileNum++ ) + //表示のwait時間を読み込み + if( ( fp = fopen("/sd/loop.txt", "r") ) != NULL ) + { + fscanf( fp, "%d,%f" , &fileNumMax , &waitTime ); + fclose(fp); + free(fp); + } + else { - sprintf( filePath , "/sd/%02d.bmp" , fileNum ); - - if( ( fp = fopen(filePath, "r") ) == NULL ) + fileNumMax = 99; + waitTime = 0.1; + } + + myled = 1; + //01.bmpから99.bmpまでを表示を繰り返す + char filePath[256] = ""; + while(1) + { + for( int fileNum = 1 ; fileNum <= fileNumMax ; fileNum++ ) { - break; - } - else - { - myled = 1; - - bmpDisp( fp ); - fclose( fp ); - free( fp ); - wait(0.1); - + sprintf( filePath , "/sd/%02d.bmp" , fileNum ); + + if( ( fp = fopen(filePath, "r") ) == NULL ) + { + free( fp ); + break; + } + else + { + myled = ~myled; + + bmpDisp( fp ); + fclose( fp ); + free( fp ); + wait(waitTime); + + } } } - - - - while(1) { - - for( int i =0 ; i<16 ; i++ ) - { - myled = 1; - wait(0.5); - myled = 0; - wait(0.5); - - } - } -} +} \ No newline at end of file