Tedd OKANO / Mbed 2 deprecated MARY_CAMERA_Hello

Dependencies:   MARY_CAMERA NokiaLCD mbed

Revision:
10:3c8fc9569377
Parent:
9:68408189efde
Child:
11:149993faf2be
--- a/main.cpp	Mon Feb 17 23:44:53 2014 +0000
+++ b/main.cpp	Tue Feb 18 05:03:58 2014 +0000
@@ -10,6 +10,7 @@
 #define Y_OFFSET        ((MARY_CAMERA::LINE_PER_FRAME - MARMEX_OB_oled::HEIGHT) / 2)
 
 void line_mirroring( short *buf );
+void save_still_image( char *file_name );
 
 int main()
 {
@@ -19,15 +20,17 @@
 
     short   buf[ MARMEX_OB_oled::WIDTH ];
 
+    save_still_image( "image.bmp" );
+
     while ( 1 ) {
 
         led    = 0x1;
         camera.open_transfer();
 
-        for ( int line = 0; line < 128; line++  ) {
-            camera.transfer_a_line( buf, line + Y_OFFSET, X_OFFSET, 128 );
+        for ( int line = 0; line < MARMEX_OB_oled::HEIGHT; line++  ) {
+            camera.transfer_a_line( buf, line + Y_OFFSET, X_OFFSET, MARMEX_OB_oled::WIDTH );
             line_mirroring( buf );
-            oled1.blit565( 0, line, 128, 1, buf );
+            oled1.blit565( 0, line, MARMEX_OB_oled::WIDTH, 1, buf );
         }
 
         camera.close_transfer();
@@ -45,4 +48,26 @@
         buf[ i ]    = buf[ (MARMEX_OB_oled::WIDTH - 1) - i ];
         buf[ (MARMEX_OB_oled::WIDTH - 1) - i ]  = tmp;
     }
+}
+
+
+#include    "bmp_handler.h"
+
+void save_still_image( char *file_name )
+{
+    short   buf[ MARY_CAMERA::PIXEL_PER_LINE ];
+
+    if ( open_BMP( file_name ) )
+        return;
+
+    camera.open_transfer();
+
+    for ( int line = (MARY_CAMERA::LINE_PER_FRAME - 1); 0 <= line; line--  ) {
+        camera.transfer_a_line( buf, line, 0, MARY_CAMERA::PIXEL_PER_LINE );
+        write_BMP( buf, MARY_CAMERA::PIXEL_PER_LINE );
+    }
+
+    camera.close_transfer();
+    
+    close_BMP();
 }
\ No newline at end of file