Zoltan Hudak / Mbed OS TcpClient_ENC28J60

Dependencies:   UIPEthernet

Files at this revision

API Documentation at this revision

Comitter:
hudakz
Date:
Fri Jun 30 20:18:02 2017 +0000
Parent:
1:4e4b811a7f9b
Child:
3:9c32e3375fc5
Commit message:
Updated.

Changed in this revision

UIPEthernet.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.bld Show annotated file Show diff for this revision Revisions of this file
--- a/UIPEthernet.lib	Sat Dec 05 14:42:49 2015 +0000
+++ b/UIPEthernet.lib	Fri Jun 30 20:18:02 2017 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/hudakz/code/UIPEthernet/#10e42359e217
+http://mbed.org/users/hudakz/code/UIPEthernet/#4acb22344932
--- a/main.cpp	Sat Dec 05 14:42:49 2015 +0000
+++ b/main.cpp	Fri Jun 30 20:18:02 2017 +0000
@@ -11,7 +11,7 @@
 Serial  pc(USBTX, USBRX);
 
 #if defined(TARGET_LPC1768)
-UIPEthernetClass    UIPEthernet(p11, p12, p13, p8);         // mosi, miso, sck, cs
+UIPEthernet    uIPEthernet(p11, p12, p13, p8);         // mosi, miso, sck, cs
 #elif defined(TARGET_NUCLEO_F103RB) || defined(TARGET_NUCLEO_L152RE) || defined(TARGET_NUCLEO_F030R8)  \
    || defined(TARGET_NUCLEO_F401RE) || defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_L053R8)  \
    || defined(TARGET_NUCLEO_F411RE) || defined(TARGET_NUCLEO_F334R8) || defined(TARGET_NUCLEO_F072RB)  \
@@ -20,10 +20,10 @@
    || defined(TARGET_K20D50M) || defined(TARGET_K22F) \
    || defined(TARGET_NRF51822) \
    || defined(TARGET_RZ_A1H)
-UIPEthernetClass    UIPEthernet(D11, D12, D13, D10);        // mosi, miso, sck, cs
+UIPEthernet    uIPEthernet(D11, D12, D13, D10);        // mosi, miso, sck, cs
 #endif
 
-// MAC number must be unique within the connected network. Modify as appropriate.
+// MAC address must be unique within the connected network. Modify as appropriate.
 const uint8_t   MY_MAC[6] = { 0x05, 0x04, 0x03, 0x02, 0x01, 0x00 };
 EthernetClient  client;
 
@@ -41,7 +41,7 @@
 #define DHCP    1   // if you'd like to use static IP address comment out this line 
 #if defined(DHCP)
     pc.printf("Searching for DHCP server..\r\n");
-    if(UIPEthernet.begin(MY_MAC) != 1) {
+    if(uIPEthernet.begin(MY_MAC) != 1) {
         pc.printf("No DHCP server found.\r\n");
         pc.printf("Exiting application.\r\n");
         return 0;
@@ -50,13 +50,10 @@
 #else
     // IP address must be unique and compatible with your network.
     const IPAddress MY_IP(192, 168, 1, 181);    //  Change as appropriate.
-    UIPEthernet.begin(MY_MAC, MY_IP);
+    uIPEthernet.begin(MY_MAC, MY_IP);
 #endif
-    IPAddress   localIP = UIPEthernet.localIP();
-    pc.printf("Local IP = ");
-    for(uint8_t i = 0; i < 3; i++)
-        pc.printf("%d.", localIP[i]);
-    pc.printf("%d\r\n", localIP[3]);
+    IPAddress   localIP = uIPEthernet.localIP();
+    pc.printf("Local IP = %s\r\n", localIP.toString());
 
     while(1) {
         if(time(NULL) > timeOut) {
@@ -72,24 +69,26 @@
                 pc.printf("Awaiting message from server:\r\n");
                 while(client.available() == 0) {
                     if(time(NULL) > timeOut) {
-                        printf("Connection timed out.\r\n");
-                        goto close;
+                        pc.printf("Connection time out.\r\n");
+                        client.stop();
+                        pc.printf("Disconnected from server.\r\n");
+                        break;
                     }
                 }
-                pc.printf("Message received from server:\r\n");
-                int size;
-                while((size = client.available()) > 0) {
-                    uint8_t* msg = (uint8_t*)malloc(size);
-                    size = client.read(msg, size);
-                    for(int i = 0; i < size; i++)
-                        pc.printf("0x%x ", msg[i]);
-                    pc.printf("\r\n");
-                    free(msg);
+                if(client.connected()) {
+                    pc.printf("Message received from server:\r\n");
+                    int size;
+                    while((size = client.available()) > 0) {
+                        uint8_t* msg = (uint8_t*)malloc(size);
+                        size = client.read(msg, size);
+                        for(int i = 0; i < size; i++)
+                            pc.printf("0x%x ", msg[i]);
+                        pc.printf("\r\n");
+                        free(msg);
+                    }
+                    client.stop();
+                    pc.printf("Disconnected from server.\r\n");
                 }
-close:
-                //disconnect client
-                client.stop();
-                pc.printf("Disconnected from server.\r\n");
             } else {
                 pc.printf("Failed to connect to server\r\n");
             }
--- a/mbed.bld	Sat Dec 05 14:42:49 2015 +0000
+++ b/mbed.bld	Fri Jun 30 20:18:02 2017 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/165afa46840b
\ No newline at end of file
+https://mbed.org/users/mbed_official/code/mbed/builds/97feb9bacc10
\ No newline at end of file