Jelle Raes / Mbed 2 deprecated Projec_1_projectlab

Dependencies:   EthernetInterface LM75B mbed-rtos mbed

Fork of communication by Jelle Raes

Files at this revision

API Documentation at this revision

Comitter:
JelleRaes
Date:
Tue Mar 13 10:31:27 2018 +0000
Parent:
0:52e944ca21ea
Child:
2:067142778937
Commit message:
versie met afgewerkt ACK response;

Changed in this revision

master.cpp Show annotated file Show diff for this revision Revisions of this file
slave.cpp Show annotated file Show diff for this revision Revisions of this file
slave.h Show annotated file Show diff for this revision Revisions of this file
--- a/master.cpp	Tue Mar 13 09:40:51 2018 +0000
+++ b/master.cpp	Tue Mar 13 10:31:27 2018 +0000
@@ -30,7 +30,7 @@
             }
             
             char ipArray[14]={NULL};
-            masterpc.printf("insert ip address to send to:\n\r  ");
+            masterpc.printf("\n\rinsert ip address to send to:\n\r  ");
             for(int i = 0;i<14;i++){
                 char key = masterpc.getc();
                 if(key != 13){
@@ -47,7 +47,7 @@
             const char *ECHO_SERVER_ADDRESS = ipArray;
             Endpoint echo_server;
             echo_server.set_address(ECHO_SERVER_ADDRESS,4000);
-            masterpc.printf("Sending \"%s\" to IPAddress :%s\n\r",masterBuffer,ECHO_SERVER_ADDRESS);
+            masterpc.printf("\n\rSending \"%s\" to IPAddress :%s\n\r",masterBuffer,ECHO_SERVER_ADDRESS);
             sock.sendTo(echo_server,masterBuffer,sizeof(masterBuffer));
             
             int n = sock.receiveFrom(echo_server, masterBuffer, sizeof(masterBuffer));
--- a/slave.cpp	Tue Mar 13 09:40:51 2018 +0000
+++ b/slave.cpp	Tue Mar 13 10:31:27 2018 +0000
@@ -39,7 +39,7 @@
         
         while (true){
             char slaveBuffer[512]={NULL};
-            slavepc.printf("\nWaiting for UDP packet...\n\r");
+            slavepc.printf("\n\rWaiting for UDP packet...\n\r");
             int n = server.receiveFrom(client, slaveBuffer, sizeof(slaveBuffer));
             slaveBuffer[n] = '\0';
             
@@ -47,29 +47,31 @@
             slavepc.printf("Packet contents : '%s'\n\r",slaveBuffer);
             
             slavepc.printf("Sending Packet back to Client\n\r");
-            server.sendTo(client, getResponse(slaveBuffer), 20);
+            server.sendTo(client, getResponse(slaveBuffer,eth.getIPAddress()), 512);
         }
 }    
-char *getResponse(const char *buffer){
+char *getResponse(const char *buffer,const char *ip){
     char *request = strtok((char*)buffer," ");//{buffer[0],buffer[1],buffer[2],'\0'};
     char *resource = strtok(NULL," ");
-    slavepc.printf("resource =%s",resource);
+    slavepc.printf("\n\rresource =%s\n\r",resource);
     if(strcmp(request,"GET")==0){
         if(strcmp(resource,"/TEMPERATURE")==0){
-            char *tempbuffer;
-            sprintf(tempbuffer,"okditisdom%9f",getTemp());
-            slavepc.printf("%s",tempbuffer);
+            char tempbuffer[512];
+            sprintf(tempbuffer,"ACK 2.05 %14s %9f", ip, getTemp());
+            slavepc.printf("%s\n\r",tempbuffer);
             return tempbuffer;
         }
         else if(strcmp(resource,"/POTENTIOMETER")==0){
-            char *tempbuffer;
+            char tempbuffer[512];
             slavepc.printf("%f",getPot());
-            sprintf(tempbuffer,"potwaarde%9f",getPot());
-            slavepc.printf("%s",tempbuffer);
+            sprintf(tempbuffer,"ACK 2.05 %14s %3d", ip,int(255* getPot()));
+            slavepc.printf("%s\n\r",tempbuffer);
             return tempbuffer;
         }
         else{
-            return "get request failed";
+            char tempbuffer[512];
+            sprintf(tempbuffer,"ACK 2.04 %14s",ip);
+            return tempbuffer;
         }
     }
     else if(strcmp(request,"PUT")==0){
@@ -79,22 +81,32 @@
             int first = atoi(eerste);
             int last = atoi(tweede);
             putBuzzer(first,last);
-            return "put buz request received";
+            char tempbuffer[512];
+            sprintf(tempbuffer,"ACK 2.04 %14s",ip);
+            return tempbuffer;
         }
         else if(strcmp(resource,"/LED")==0){
             putLED(strtok(NULL,'\0'));
-            return "put led request received";
+            char tempbuffer[512];
+            sprintf(tempbuffer,"ACK 2.04 %14s",ip);
+            return tempbuffer;
         }
         else if(strcmp(resource,"/LCD")==0){
             putLCD(strtok(NULL,'\0'));
-            return "put lcd request received";
+            char tempbuffer[512];
+            sprintf(tempbuffer,"ACK 2.04 %14s",ip);
+            return tempbuffer;
         }
         else{
-            return "put request failed";
+            char tempbuffer[512];
+            sprintf(tempbuffer,"ACK 4.00 %14s",ip);
+            return tempbuffer;
         }
     }
     else{
-        return "failed";
+        char tempbuffer[512];
+        sprintf(tempbuffer,"ACK 4.00 %14s",ip);
+        return tempbuffer;
     }
 }
 
--- a/slave.h	Tue Mar 13 09:40:51 2018 +0000
+++ b/slave.h	Tue Mar 13 10:31:27 2018 +0000
@@ -10,5 +10,5 @@
 void putBuzzer(int,int);
 
 void startSlave(const char *ip);
-char *getResponse(const char *request);
+char *getResponse(const char *request,const char *ip);
 #endif
\ No newline at end of file