Freedman v2
Dependencies: CameraC328 WizFi250Interface mbed-src
Fork of WizFi250TcpUdpExample by
Revision 4:4c280f259bf8, committed 2015-08-26
- Comitter:
- Ricky_Kwon
- Date:
- Wed Aug 26 07:55:54 2015 +0000
- Parent:
- 3:390016675fc8
- Child:
- 5:98fcc092982a
- Commit message:
- Freedman v2
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CameraC328.lib Wed Aug 26 07:55:54 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/shintamainjp/code/CameraC328/#49cfda6c547f
--- a/WizFi250Interface.lib Tue Jun 23 01:23:15 2015 +0000 +++ b/WizFi250Interface.lib Wed Aug 26 07:55:54 2015 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/kaizen/code/WizFi250Interface/#187e3fd24123 +http://mbed.org/users/kaizen/code/WizFi250Interface/#502d9c5a0053
--- 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-src.lib Wed Aug 26 07:55:54 2015 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/users/kaizen/code/mbed-src/#d1b257119699
--- a/mbed.bld Tue Jun 23 01:23:15 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/7cff1c4259d7 \ No newline at end of file