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/
Diff: main.h
- 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;