Test client

Dependencies:   EthernetInterface mbed-rtos mbed

Files at this revision

API Documentation at this revision

Comitter:
timmey9
Date:
Wed Mar 04 20:20:42 2015 +0000
Commit message:
Initial commit.

Changed in this revision

EthernetInterface.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 52cf7c36ef83 EthernetInterface.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EthernetInterface.lib	Wed Mar 04 20:20:42 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/EthernetInterface/#65b0d840274c
diff -r 000000000000 -r 52cf7c36ef83 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Mar 04 20:20:42 2015 +0000
@@ -0,0 +1,122 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+
+#define PORT   54321
+
+#define LEN_PACKET 1460
+
+#define IP         "169.254.225.220"
+#define GATEWAY    "169.254.225.1"
+#define MASK       "255.255.0.0"
+#define DES_ADDR   "169.254.225.206"
+#define DES_LAPTOP "169.254.225.210"
+
+#define LEN 18980
+uint16_t sample_array0[LEN];
+
+Serial pc(USBTX,USBRX);
+
+int main (void) {
+    for(int i = 0; i < LEN; i++) sample_array0[i] = ((0x0031<<8) | 0x0032);
+    pc.baud(230400);
+    pc.printf("Starting test client\r\n");
+    EthernetInterface eth;
+    eth.init(IP, MASK, GATEWAY);
+    eth.connect();
+    pc.printf("IP Address is %s\r\n", eth.getIPAddress());
+    
+    TCPSocketConnection mallet;
+    mallet.set_blocking(false,5000);
+    char buffer[LEN_PACKET];
+    
+    for(int i = 0; i < LEN_PACKET; i++) buffer[i] = i;
+    while (true) {
+        if(pc.readable() > 0){
+            char temp = pc.getc();
+            int var = 0;
+            switch(temp){
+                case 'Q':
+                case 'q':
+                    var = mallet.connect(DES_LAPTOP,5005);
+                    if(var == 0) pc.printf("Connected to laptop successfully\r\n");
+                    else if(var == -1) pc.printf("Connecting failed\r\n");
+                    break;
+                case 'A':
+                case 'a':
+                    var = mallet.connect(DES_ADDR,PORT);
+                    if(var == 0) pc.printf("Connected to FRDM server successfully\r\n");
+                    else if(var == -1) pc.printf("Connecting failed\r\n");
+                    break;
+                case 'S':
+                case 's':
+                    var = mallet.send(buffer,LEN_PACKET);
+                    pc.printf("Sent %i bytes\r\n",var);
+                    break;
+                case 'D':
+                case 'd':
+                    var = mallet.receive_all((char *)sample_array0,LEN*2);
+                    pc.printf("Received %i bytes\r\n",var);
+                    break;
+                case 'F':
+                case 'f':
+                    var = mallet.close();
+                    if(var == 0) pc.printf("Connection closed\r\n");
+                    else pc.printf("Error while closing connection\r\n");
+                    break;
+                case 'Z':
+                case 'z':
+                    pc.printf("Status: ");
+                    if(mallet.is_connected()) pc.printf("Connected\r\n");
+                    else pc.printf("Not connected\r\n");
+                    break;
+                case 'R':
+                case 'r':
+                    // open connection
+                    var = mallet.connect(DES_ADDR,PORT);
+                    if(var == 0) pc.printf("Connected successfully\r\n");
+                    else if(var == -1) pc.printf("Connection already open\r\n");
+                    
+                    // send data
+                    var = mallet.send(buffer,LEN_PACKET);
+                    pc.printf("Sent %i bytes\r\n",var);
+                    
+                    // receive data
+                    var = mallet.receive_all((char *)sample_array0,LEN*2);
+                    pc.printf("Received %i bytes\r\n",var);
+                    
+                    // closed connection
+                    var = mallet.close();
+                    if(var == 0) pc.printf("Connection closed\r\n\n");
+                    else pc.printf("Error while closing connection\r\n\n");
+                    break;
+                case 'L':
+                case 'l':
+                    for(int i = 0; i < 1000; i++){
+                        //wait_ms(100);
+                        pc.printf("%3i: ",i);
+                        
+                        // open connection
+                        var = mallet.connect(DES_ADDR,PORT);
+                        if(var == -1) {i = 50; break;}
+                        
+                        // send data
+                        var = mallet.send(buffer,LEN_PACKET);
+                        pc.printf("Sent %i: ",var);
+                        if(var == -1) {i = 50; break;}
+                        
+                        // receive data
+                        var = mallet.receive_all((char *)sample_array0,LEN*2);
+                        pc.printf("Rec %i: ",var);
+                        if(var == -1) {i = 50; break;}
+                        
+                        // closed connection
+                        var = mallet.close();
+                        if(var == -1) {i = 50; break;}
+                        pc.printf("\r\n");
+                        
+                    }
+                    break;
+            }
+        }
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r 52cf7c36ef83 mbed-rtos.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Wed Mar 04 20:20:42 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#63988a2238f7
diff -r 000000000000 -r 52cf7c36ef83 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Mar 04 20:20:42 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/7e07b6fb45cf
\ No newline at end of file