Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface LM75B mbed-rtos mbed
Fork of communication by
Revision 1:550192b4ae8e, committed 2018-03-13
- 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
--- 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
