Ricky Kwon / Freedman_v2

Dependencies:   CameraC328 WizFi250Interface mbed-src

Fork of WizFi250TcpUdpExample by WIZnet

Revision:
4:4c280f259bf8
Parent:
3:390016675fc8
diff -r 390016675fc8 -r 4c280f259bf8 main.cpp
--- a/main.cpp	Tue Jun 23 01:23:15 2015 +0000
+++ b/main.cpp	Wed Aug 26 07:55:54 2015 +0000
@@ -20,174 +20,101 @@
 #include <stdio.h>
 #include "mbed.h"
 #include "WizFi250Interface.h"
-
+#include "CameraC328.h"
 
 #define SECURE WizFi250::SEC_AUTO
-#define SSID "wizohp"
-#define PASS "wiznet218"
+#define SSID "Ricky"
+#define PASS "ricky123"
+
+//#define ECHO_SERVER_ADDRESS "192.168.0.2"
+//#define ECHO_SERVER_PORT    5000
 
-#define ECHO_SERVER_ADDRESS "192.168.15.14"
-#define ECHO_SERVER_PORT    5000
+/* CAMERA */
+#define USE_JPEG_HIGH_RESOLUTION    2//1=80x64 <--- not working -_-;;, 2=160x128, 3=320x240, 4=640x480
+#define START                       "start"
+#define END                         "end"
+CameraC328 camera(PC_10, PC_11, CameraC328::Baud115200);
 
+/* NETWORK */
 #if defined(TARGET_FRDM_KL25Z)
     WizFi250Interface wizfi250(PTE0,PTE1,PTD5,PTD0,PTD4,NC,115200);
 #else
-    WizFi250Interface wizfi250(D0,D1,D7,D8,PA_12,NC,115200);
+    WizFi250Interface wizfi250(D1,D0,D7,D8,PA_12,NC,115200);
+    //Serial pc(USBTX, USBRX);
+    //Serial pc2(PC_10,PC_11);
 #endif
-
+TCPSocketConnection Streaming;
+const char dest_ip[] = "192.168.0.2";
+int dest_port = 1212;
+static char buf[128];
 
 
-void testUdpEchoClient();
-void testUdpEchoServer();
-void testTcpEchoClient();
-void testTcpEchoServer();
+/* Function*/ 
+void jpeg_callback(char *buf, size_t siz);
+void sync(void);
+void test_jpeg_snapshot_picture(void);
 
 int main()
 {
-        int i;
-        char input;
-        
+
         wizfi250.init();
         if ( wizfi250.connect(SECURE, SSID, PASS))      return -1;
         printf("IP Address is %s\r\n", wizfi250.getIPAddress());
 
-
+        sync();
+        while (Streaming.connect(dest_ip, dest_port) < 0) {
+            printf("Unable to connect to (%s) on port (%d)\r\n", dest_ip, dest_port);
+            wait(1);
+        }
+    
         while(1)
         {
-            printf("\r\nInput Test Mode ( 1:)\r\n");
-            scanf("%c",&input);
-
-            if(input == 'q')
-                break;
-
-            switch(input)
-            {
-            case '1':
-                testTcpEchoServer();
-                break;
-            case '2':
-                testTcpEchoClient();
-                break;
-            case '3':
-                testUdpEchoClient();
-                break;
-            case '4':
-                testUdpEchoServer();
-                break;
-            }
+            Streaming.send(START, sizeof(START)-1);
+            test_jpeg_snapshot_picture();
+            Streaming.send(END, sizeof(END)-1);
         }
 
-        printf("End the test program\r\n");
 }
 
-
-void testTcpEchoServer()
-{
-    char buffer[1024];
-    int n = 0;
+void jpeg_callback(char *buf, size_t siz) {
+    //for (int i = 0; i < (int)siz; i++) {
+        //fprintf(fp_jpeg, "%c", buf[i]);
+        Streaming.send(buf, siz);
+    //}
+}
+void sync(void) {
+    CameraC328::ErrorNumber err = CameraC328::NoError;
 
-    TCPSocketServer server;
-    server.bind(ECHO_SERVER_PORT);
-    server.listen();
-
-    printf("\nWait for new connection...\r\n");
-    TCPSocketConnection client;
-    server.accept(client);
-    client.set_blocking(false, 1500);
+    err = camera.sync();
+    if (CameraC328::NoError == err) {
+        printf("[ OK ] : CameraC328::sync\r\n");
+    } else {
+        printf("[FAIL] : CameraC328::sync (Error=%02X)\r\n", (int)err);
+    }
+}
+void test_jpeg_snapshot_picture() {
+    CameraC328::ErrorNumber err = CameraC328::NoError;
 
-    printf("Connection from: %s\r\n", client.get_address());
-    while (true)
-    {
-        if( client.is_connected() == false )
-        {
-            client.close();
-            break;
-        }
+#if (USE_JPEG_HIGH_RESOLUTION==1)
+    err = camera.init(CameraC328::Jpeg, CameraC328::RawResolution80x60, CameraC328::JpegResolution80x64);
+#elif (USE_JPEG_HIGH_RESOLUTION==2)
+    err = camera.init(CameraC328::Jpeg, CameraC328::RawResolution80x60, CameraC328::JpegResolution160x128);
+#elif (USE_JPEG_HIGH_RESOLUTION==3)
+    err = camera.init(CameraC328::Jpeg, CameraC328::RawResolution80x60, CameraC328::JpegResolution320x240);
+#elif (USE_JPEG_HIGH_RESOLUTION==4)
+    err = camera.init(CameraC328::Jpeg, CameraC328::RawResolution80x60, CameraC328::JpegResolution640x480);
+#endif
+    if (CameraC328::NoError == err) {
+        printf("[ OK ] : CameraC328::init\r\n");
+    } else {
+        printf("[FAIL] : CameraC328::init (Error=%02X)\r\n", (int)err);
+    }
 
-        n = client.receive_all(buffer, sizeof(buffer));
-        if ( n > 0 )
-        {
-            buffer[n] = '\0';
-            printf("length : %d\r\n", n);
-
-            client.send_all(buffer, n);
-        }
+    err = camera.getJpegSnapshotPicture(jpeg_callback);
+    if (CameraC328::NoError == err) {
+        printf("[ OK ] : CameraC328::getJpegSnapshotPicture\r\n");
+    } else {
+        printf("[FAIL] : CameraC328::getJpegSnapshotPicture (Error=%02X)\r\n", (int)err);
     }
 }
 
-void testUdpEchoClient()
-{
-    int i;
-    UDPSocket sock;
-    sock.init();
-
-    Endpoint echo_server;
-    echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
-
-
-    for(i=0;i<10;i++)
-    {
-        char out_buffer[] = "Hello World\n";
-        sock.sendTo(echo_server, out_buffer, sizeof(out_buffer));
-
-        char in_buffer[256];
-        int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));
-        in_buffer[n] = '\0';
-
-        if( n > 0 )
-            printf("%s\r\n", in_buffer);
-    }
-
-    sock.close();
-}
-
-
-void testUdpEchoServer()
-{
-        UDPSocket server;
-        server.set_blocking(false);
-        server.bind(ECHO_SERVER_PORT);
-
-        Endpoint client;
-        char buffer[256];
-        while(true)
-        {
-            int n = server.receiveFrom(client, buffer, sizeof(buffer));
-            if(n > 0)
-            {
-                //INFO("Received packet from: %s\n", client.get_address());
-                buffer[n] = '\0';
-                printf("%s\r\n", buffer);
-                server.sendTo(client, buffer, n);
-                break;
-            }
-        }
-}
-
-
-void testTcpEchoClient()
-{
-    char buffer[512];
-    TCPSocketConnection socket;
-
-    while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0)
-    {
-        printf("Unable to connect to (%s) on port (%d)\r\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
-        wait(1);
-    }
-
-    while(true)
-    {
-        int n = socket.receive(buffer, sizeof(buffer));
-        if(n > 0)
-        {
-            buffer[n] = '\0';
-            printf("%s\r\n",buffer);
-            socket.send(buffer, strlen(buffer));
-            //socket.send_all(buffer, sizeof(buffer)-1);
-            break;
-        }
-    }
-
-    socket.close();
-}
\ No newline at end of file