project met UDP IP
Dependencies: EthernetInterface LM75B mbed-rtos mbed
Fork of communication by
Diff: slave.cpp
- Revision:
- 4:4848f847d2ce
- Parent:
- 3:9c600fb19ed2
diff -r 9c600fb19ed2 -r 4848f847d2ce slave.cpp --- 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