Test Code for OV7670 Camera module. The images are sent over ethernet link.

Dependencies:   EthernetInterface mbed-rtos mbed ov7670

You can find more information in this page: https://mbed.org/users/edodm85/notebook/ov7670-camera-and-ethernet-stream/

Revision:
3:df8de18d7fa9
Parent:
2:d6b38a4512eb
--- a/main.h	Sat Feb 15 15:17:08 2014 +0000
+++ b/main.h	Sat Apr 05 14:02:07 2014 +0000
@@ -15,15 +15,17 @@
 DigitalOut led3(LED3);
 DigitalOut led4(LED4);
 
+
 //Camera
 OV7670 camera
 (
-    p28,p27,            // SDA,SCL(I2C / SCCB)
-    p23,p24,p25,        // VSYNC,HREF,WEN(FIFO)  
-    Port0,0x07878000,   // PortIn data        p18(P0.26),p17(P0.25),p16(P0.24),p15(P0.23),p11(P0.18),p12(P0.17),p14(P0.16),p13(P0.15)
-    p26,p29,p30         // RRST,OE,RCLK
+    p28,p27,                // SDA,SCL(I2C / SCCB)
+    p23,NC,p25,             // VSYNC,HREF,WEN(FIFO)  
+    Port0,0x07878000,       // PortIn data        p18(P0.26),p17(P0.25),p16(P0.24),p15(P0.23),p11(P0.18),p12(P0.17),p14(P0.16),p13(P0.15)
+    p26,p29,p30             // RRST,OE,RCLK
 ); 
 
+
 //ETHERNET
 char* ip = "192.168.153.153";             // ip
 char* mask = "255.255.255.0";           // mask
@@ -32,22 +34,50 @@
 TCPSocketConnection client;
 TCPSocketServer server; 
 
+
 //ETHERNET BUFFER
 char bufferRX[20];
 char bufferTX[4800];
 
+char *StartCondition = "sRt";        // START
+bool bGrab_on = false;
+bool bSnap_on = false;
+
+
 //RESET
 extern "C" void mbed_reset();
 
+
 //TIMER
 int t1 = 0; 
 int t2 = 0;
 
+
 //THREAD
-void net_thread(void const *argument);
-osThreadDef(net_thread, osPriorityNormal, DEFAULT_STACK_SIZE); 
+void Net_Thread(void const *argument);
+void Grab_Thread(void const *argument);
+osThreadId tencid;
+osThreadDef(Net_Thread, osPriorityNormal, DEFAULT_STACK_SIZE); 
+osThreadDef(Grab_Thread, osPriorityNormal, DEFAULT_STACK_SIZE);
+
 
 //FUNCTION
 void Send();
-void parse_cmd();
+void parse_cmd(int sizeCMD);
 void CameraSnap();
+void CameraGrab();
+
+
+struct CameraSet
+{
+    char format[3];
+    int resolution;
+}CMDCamera;
+
+
+struct Register
+{
+    char type;
+    int addr;
+    int value;
+}Reg;