A "Hello" program for MARMEX_VB library. This application may work 40pin type mbed platforms ;) This application expects to have the MARMEX_VB module on a "MAPLE mini type-B (MARM03-BASE)" baseboard (slot2) with a MARMEX_OB module (on slot1)

Dependencies:   MARMEX_VB NokiaLCD mbed

Sample code for MARMEX-VB (MARY-VB) camera module.
/media/uploads/nxpfan/dsc_0497s.png

This is a very simple program just copies the data from camera to OELD.
/media/uploads/nxpfan/dsc_0513.jpg

Revision:
0:139f0c46d0fd
Child:
2:7294334432d4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Jun 09 20:14:04 2014 +0000
@@ -0,0 +1,57 @@
+/** Hello program for MARMEX_VB Camera control library
+ *
+ *  @version 0.1
+ *  @date    10-Jun-2014
+ *
+ *  Released under the Apache License, Version 2.0 : http://mbed.org/handbook/Apache-Licence
+ *
+ *      ** This program may run on 40pin type mbed platfoms ;) **
+ */
+
+#include "mbed.h"
+#include "MARMEX_OB_oled.h"
+#include "MARMEX_VB.h"
+
+MARMEX_OB_oled  oled1( p5, p7,  p20, p16, p15 );            // mosi, sclk, cs, rst, power_control       -- maple-mini-type-b-board-slot1
+MARMEX_VB       camera( p5, p6, p7, p22, p26, p28, p27 );   // mosi, miso, sclk, cs, reset, sda, scl    -- maple-mini-type-b-board-slot2
+BusOut          led( LED3, LED4 );
+
+//  image size (default image size)
+#define CAMERA_WIDTH    MARMEX_VB::QCIF_PIXEL_PER_LINE  //  176 pixels(default size)
+#define CAMERA_HEIGHT   MARMEX_VB::QCIF_LINE_PER_FRAME  //  144 lines (default size)
+
+//  screen size
+#define OLED_WIDTH      MARMEX_OB_oled::WIDTH           //  128 pixels
+#define OLED_HEIGHT     MARMEX_OB_oled::HEIGHT          //  128 lines
+
+//  x/y offset to draw center image of the camera
+#define X_OFFSET        ((CAMERA_WIDTH  - OLED_WIDTH ) / 2)
+#define Y_OFFSET        ((CAMERA_HEIGHT - OLED_HEIGHT) / 2)
+
+int main()
+{
+    short   buf[ OLED_WIDTH ];
+
+    led    = 0x3;
+    oled1.cls();    //  clear OLED screen
+
+    while ( 1 ) {
+
+        led    = 0x1;
+        camera.open_transfer();     //  pause updating the camera buffer
+        
+        //  data transfer from camera to OLED (line by line copy)
+        //  
+        for ( int line = 0; line < OLED_HEIGHT; line++  ) {
+            
+            //  1 line (128 pixels) data read from camera
+            camera.read_a_line( buf, line + Y_OFFSET, X_OFFSET, OLED_WIDTH );
+            
+            //  1 line (128 pixels) data write into OLED
+            oled1.blit565( 0, line, OLED_WIDTH, 1, buf );
+        }
+
+        led    = 0x2;
+        camera.close_transfer();    //  resume updating the camera buffer
+    }
+}