dotmatrixLED animation with ht1632 LED driver.

Dependencies:   SDFileSystem mbed

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