project met UDP IP

Dependencies:   EthernetInterface LM75B mbed-rtos mbed

Fork of communication by Jelle Raes

Revision:
4:4848f847d2ce
Parent:
3:9c600fb19ed2
--- a/slave.cpp	Wed Mar 14 14:39:08 2018 +0000
+++ b/slave.cpp	Fri Mar 23 13:43:04 2018 +0000
@@ -58,63 +58,42 @@
     char *request = strtok((char*)buffer," ");//{buffer[0],buffer[1],buffer[2],'\0'};
     char *resource = strtok(NULL," ");
     slavepc.printf("\n\rresource =%s\n\r",resource);
+    char tempbuffer[512];
     if(strcmp(request,"GET")==0){
-        if(strcmp(resource,"/TEMPERATURE")==0){
-            char tempbuffer[512];
-            sprintf(tempbuffer,"ACK 2.05 %14s %3.3f", ip, getTemp());
+        if(strcmp(resource,"/temperature")==0){
+            sprintf(tempbuffer,"ACK 2.05 %3s %3.3f", getID(ip), getTemp());
             slavepc.printf("%s\n\r",tempbuffer);
-            return tempbuffer;
         }
-        else if(strcmp(resource,"/POTENTIOMETER")==0){
-            char tempbuffer[512];
+        else if(strcmp(resource,"/potentiometer")==0){
             slavepc.printf("%f",getPot());
-            sprintf(tempbuffer,"ACK 2.05 %14s %3d", ip,int(255* getPot()));
+            sprintf(tempbuffer,"ACK 2.05 %3s %3d", getID(ip),int(255* getPot()));
             slavepc.printf("%s\n\r",tempbuffer);
-            return tempbuffer;
         }
         else{
-            char tempbuffer[512];
-            sprintf(tempbuffer,"ACK 4.00 %14s",ip);
-            return tempbuffer;
+            sprintf(tempbuffer,"ACK 4.00 %3s",getID(ip));
         }
     }
     else if(strcmp(request,"PUT")==0){
         if(strcmp(resource,"/BUZZER")==0){            
-            putBuzzer(atoi(strtok(NULL," -")),atoi(strtok(NULL," -")));            
-            char tempbuffer[512];
-            sprintf(tempbuffer,"ACK 2.04 %14s",ip);
-            return tempbuffer;
+            putBuzzer(atoi(strtok(NULL," -_")),atoi(strtok(NULL," -_")));
+            sprintf(tempbuffer,"ACK 2.04 %3s",getID(ip));
         }
         else if(strcmp(resource,"/LED")==0){
-            char *color=strtok(NULL,'\0');
-            putLED(color);
-            char tempbuffer[512];
-            //if(strcmp(color,"found")==0){
-                sprintf(tempbuffer,"ACK 2.04 %14s",ip);
-                return tempbuffer;
-            //}
-            /*else{
-                sprintf(tempbuffer,"ACK 4.00 %14s",ip);
-                return tempbuffer;
-            }*/
+            putLED(strtok(NULL,'\0'));
+            sprintf(tempbuffer,"ACK 2.04 %3s",getID(ip));
         }
         else if(strcmp(resource,"/LCD")==0){
             putLCD(strtok(NULL,'\0'));
-            char tempbuffer[512];
-            sprintf(tempbuffer,"ACK 2.04 %14s",ip);
-            return tempbuffer;
+            sprintf(tempbuffer,"ACK 2.04 %3s",getID(ip));
         }
         else{
-            char tempbuffer[512];
-            sprintf(tempbuffer,"ACK 4.00 %14s",ip);
-            return tempbuffer;
+            sprintf(tempbuffer,"ACK 4.00 %3s",getID(ip));
         }
     }
     else{
-        char tempbuffer[512];
-        sprintf(tempbuffer,"ACK 4.00 %14s",ip);
-        return tempbuffer;
+        sprintf(tempbuffer,"ACK 4.00 %3s",getID(ip));
     }
+    return tempbuffer;
 }
 
 float slave::getTemp(){
@@ -132,15 +111,10 @@
 }
 
 void slave::putLED(char *color){
-    r=mijnobject.getCOLOR(color).redValue;
-    g=mijnobject.getCOLOR(color).greenValue;
-    b=mijnobject.getCOLOR(color).blueValue;
-}
-
-void slave::putLED(float red, float green, float blue){
-    r= red;
-    g= green;
-    b= blue;
+        led::COLOR testcolor = mijnobject.getCOLOR(color);
+        r=testcolor.redValue;
+        g=testcolor.greenValue;
+        b=testcolor.blueValue;
 }
 
 void slave::putBuzzer(int start,int einde){
@@ -152,3 +126,14 @@
         wait(delay[start]/1000);
     } 
 }
+
+char *slave::getID(const char* ip){
+    char temp[14];
+    sprintf(temp,"%13s",(char*)ip);
+    char *temp2;
+    temp2 = strtok(temp,".");
+    temp2 = strtok(NULL,".");
+    temp2 = strtok(NULL,".");
+    char *id = strtok(NULL,'\0');
+    return id;
+}
\ No newline at end of file