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
master.cpp@1:550192b4ae8e, 2018-03-13 (annotated)
- Committer:
- JelleRaes
- Date:
- Tue Mar 13 10:31:27 2018 +0000
- Revision:
- 1:550192b4ae8e
- Parent:
- 0:52e944ca21ea
- Child:
- 2:067142778937
versie met afgewerkt ACK response;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| JelleRaes | 0:52e944ca21ea | 1 | #include "mbed.h" |
| JelleRaes | 0:52e944ca21ea | 2 | #include "master.h" |
| JelleRaes | 0:52e944ca21ea | 3 | #include <string.h> |
| JelleRaes | 0:52e944ca21ea | 4 | #include "EthernetInterface.h" |
| JelleRaes | 0:52e944ca21ea | 5 | |
| JelleRaes | 0:52e944ca21ea | 6 | Serial masterpc(USBTX, USBRX); |
| JelleRaes | 0:52e944ca21ea | 7 | |
| JelleRaes | 0:52e944ca21ea | 8 | void startMaster(const char* ip){ |
| JelleRaes | 0:52e944ca21ea | 9 | EthernetInterface eth; |
| JelleRaes | 0:52e944ca21ea | 10 | eth.init(ip, "255.255.255.0", "192.168.0.1"); |
| JelleRaes | 0:52e944ca21ea | 11 | eth.connect(); |
| JelleRaes | 0:52e944ca21ea | 12 | masterpc.printf("ip = %s\n\r",eth.getIPAddress()); |
| JelleRaes | 0:52e944ca21ea | 13 | masterpc.printf("gateway = %s\n\r",eth.getGateway()); |
| JelleRaes | 0:52e944ca21ea | 14 | masterpc.printf("mask = %s\n\r",eth.getNetworkMask()); |
| JelleRaes | 0:52e944ca21ea | 15 | UDPSocket sock; |
| JelleRaes | 0:52e944ca21ea | 16 | |
| JelleRaes | 0:52e944ca21ea | 17 | while(true){ |
| JelleRaes | 0:52e944ca21ea | 18 | char masterBuffer[512]={NULL}; |
| JelleRaes | 0:52e944ca21ea | 19 | masterpc.printf("type for request:\n\r"); |
| JelleRaes | 0:52e944ca21ea | 20 | for(int i = 0;i<512;i++){ |
| JelleRaes | 0:52e944ca21ea | 21 | char key = masterpc.getc(); |
| JelleRaes | 0:52e944ca21ea | 22 | if(key != 13){ |
| JelleRaes | 0:52e944ca21ea | 23 | masterpc.putc(key); |
| JelleRaes | 0:52e944ca21ea | 24 | masterBuffer[i]=key; |
| JelleRaes | 0:52e944ca21ea | 25 | } |
| JelleRaes | 0:52e944ca21ea | 26 | else{ |
| JelleRaes | 0:52e944ca21ea | 27 | masterBuffer[i]='\0'; |
| JelleRaes | 0:52e944ca21ea | 28 | break; |
| JelleRaes | 0:52e944ca21ea | 29 | } |
| JelleRaes | 0:52e944ca21ea | 30 | } |
| JelleRaes | 0:52e944ca21ea | 31 | |
| JelleRaes | 0:52e944ca21ea | 32 | char ipArray[14]={NULL}; |
| JelleRaes | 1:550192b4ae8e | 33 | masterpc.printf("\n\rinsert ip address to send to:\n\r "); |
| JelleRaes | 0:52e944ca21ea | 34 | for(int i = 0;i<14;i++){ |
| JelleRaes | 0:52e944ca21ea | 35 | char key = masterpc.getc(); |
| JelleRaes | 0:52e944ca21ea | 36 | if(key != 13){ |
| JelleRaes | 0:52e944ca21ea | 37 | masterpc.putc(key); |
| JelleRaes | 0:52e944ca21ea | 38 | ipArray[i]=key; |
| JelleRaes | 0:52e944ca21ea | 39 | } |
| JelleRaes | 0:52e944ca21ea | 40 | else{ |
| JelleRaes | 0:52e944ca21ea | 41 | ipArray[i]='\0'; |
| JelleRaes | 0:52e944ca21ea | 42 | break; |
| JelleRaes | 0:52e944ca21ea | 43 | } |
| JelleRaes | 0:52e944ca21ea | 44 | } |
| JelleRaes | 0:52e944ca21ea | 45 | |
| JelleRaes | 0:52e944ca21ea | 46 | sock.init(); |
| JelleRaes | 0:52e944ca21ea | 47 | const char *ECHO_SERVER_ADDRESS = ipArray; |
| JelleRaes | 0:52e944ca21ea | 48 | Endpoint echo_server; |
| JelleRaes | 0:52e944ca21ea | 49 | echo_server.set_address(ECHO_SERVER_ADDRESS,4000); |
| JelleRaes | 1:550192b4ae8e | 50 | masterpc.printf("\n\rSending \"%s\" to IPAddress :%s\n\r",masterBuffer,ECHO_SERVER_ADDRESS); |
| JelleRaes | 0:52e944ca21ea | 51 | sock.sendTo(echo_server,masterBuffer,sizeof(masterBuffer)); |
| JelleRaes | 0:52e944ca21ea | 52 | |
| JelleRaes | 0:52e944ca21ea | 53 | int n = sock.receiveFrom(echo_server, masterBuffer, sizeof(masterBuffer)); |
| JelleRaes | 0:52e944ca21ea | 54 | masterBuffer[n] = '\0'; |
| JelleRaes | 0:52e944ca21ea | 55 | masterpc.printf("Received message from server: '%s'\n\r", masterBuffer); |
| JelleRaes | 0:52e944ca21ea | 56 | sock.close(); |
| JelleRaes | 0:52e944ca21ea | 57 | } |
| JelleRaes | 0:52e944ca21ea | 58 | } |
