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@3:9c600fb19ed2, 2018-03-14 (annotated)
- Committer:
- JelleRaes
- Date:
- Wed Mar 14 14:39:08 2018 +0000
- Revision:
- 3:9c600fb19ed2
- Parent:
- 2:067142778937
tis bijna af;
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 | 3:9c600fb19ed2 | 8 | master::master(){ |
| JelleRaes | 3:9c600fb19ed2 | 9 | |
| JelleRaes | 3:9c600fb19ed2 | 10 | } |
| JelleRaes | 3:9c600fb19ed2 | 11 | |
| JelleRaes | 3:9c600fb19ed2 | 12 | void master::startMaster(const char* ip){ |
| JelleRaes | 0:52e944ca21ea | 13 | EthernetInterface eth; |
| JelleRaes | 0:52e944ca21ea | 14 | eth.init(ip, "255.255.255.0", "192.168.0.1"); |
| JelleRaes | 0:52e944ca21ea | 15 | eth.connect(); |
| JelleRaes | 0:52e944ca21ea | 16 | masterpc.printf("ip = %s\n\r",eth.getIPAddress()); |
| JelleRaes | 0:52e944ca21ea | 17 | masterpc.printf("gateway = %s\n\r",eth.getGateway()); |
| JelleRaes | 0:52e944ca21ea | 18 | masterpc.printf("mask = %s\n\r",eth.getNetworkMask()); |
| JelleRaes | 0:52e944ca21ea | 19 | UDPSocket sock; |
| JelleRaes | 0:52e944ca21ea | 20 | |
| JelleRaes | 0:52e944ca21ea | 21 | while(true){ |
| JelleRaes | 0:52e944ca21ea | 22 | char masterBuffer[512]={NULL}; |
| JelleRaes | 2:067142778937 | 23 | typeRequest(masterBuffer); |
| JelleRaes | 0:52e944ca21ea | 24 | |
| JelleRaes | 0:52e944ca21ea | 25 | char ipArray[14]={NULL}; |
| JelleRaes | 2:067142778937 | 26 | typeIp(ipArray); |
| JelleRaes | 0:52e944ca21ea | 27 | |
| JelleRaes | 0:52e944ca21ea | 28 | sock.init(); |
| JelleRaes | 0:52e944ca21ea | 29 | const char *ECHO_SERVER_ADDRESS = ipArray; |
| JelleRaes | 0:52e944ca21ea | 30 | Endpoint echo_server; |
| JelleRaes | 0:52e944ca21ea | 31 | echo_server.set_address(ECHO_SERVER_ADDRESS,4000); |
| JelleRaes | 1:550192b4ae8e | 32 | masterpc.printf("\n\rSending \"%s\" to IPAddress :%s\n\r",masterBuffer,ECHO_SERVER_ADDRESS); |
| JelleRaes | 0:52e944ca21ea | 33 | sock.sendTo(echo_server,masterBuffer,sizeof(masterBuffer)); |
| JelleRaes | 0:52e944ca21ea | 34 | |
| JelleRaes | 0:52e944ca21ea | 35 | int n = sock.receiveFrom(echo_server, masterBuffer, sizeof(masterBuffer)); |
| JelleRaes | 0:52e944ca21ea | 36 | masterBuffer[n] = '\0'; |
| JelleRaes | 0:52e944ca21ea | 37 | masterpc.printf("Received message from server: '%s'\n\r", masterBuffer); |
| JelleRaes | 0:52e944ca21ea | 38 | sock.close(); |
| JelleRaes | 0:52e944ca21ea | 39 | } |
| JelleRaes | 2:067142778937 | 40 | } |
| JelleRaes | 2:067142778937 | 41 | |
| JelleRaes | 3:9c600fb19ed2 | 42 | void master::typeRequest(char* buffer){ |
| JelleRaes | 2:067142778937 | 43 | masterpc.printf("type for request:\n\r"); |
| JelleRaes | 2:067142778937 | 44 | for(int i = 0;i<512;i++){ |
| JelleRaes | 2:067142778937 | 45 | char key = masterpc.getc(); |
| JelleRaes | 2:067142778937 | 46 | if(key != 13){ |
| JelleRaes | 2:067142778937 | 47 | masterpc.putc(key); |
| JelleRaes | 2:067142778937 | 48 | buffer[i]=key; |
| JelleRaes | 2:067142778937 | 49 | } |
| JelleRaes | 2:067142778937 | 50 | else{ |
| JelleRaes | 2:067142778937 | 51 | buffer[i]='\0'; |
| JelleRaes | 2:067142778937 | 52 | break; |
| JelleRaes | 2:067142778937 | 53 | } |
| JelleRaes | 2:067142778937 | 54 | } |
| JelleRaes | 2:067142778937 | 55 | } |
| JelleRaes | 2:067142778937 | 56 | |
| JelleRaes | 3:9c600fb19ed2 | 57 | void master::typeIp(char* buffer){ |
| JelleRaes | 2:067142778937 | 58 | masterpc.printf("\n\rinsert ip address to send to:\n\r "); |
| JelleRaes | 2:067142778937 | 59 | for(int i = 0;i<14;i++){ |
| JelleRaes | 2:067142778937 | 60 | char key = masterpc.getc(); |
| JelleRaes | 2:067142778937 | 61 | if(key != 13){ |
| JelleRaes | 2:067142778937 | 62 | masterpc.putc(key); |
| JelleRaes | 2:067142778937 | 63 | buffer[i]=key; |
| JelleRaes | 2:067142778937 | 64 | } |
| JelleRaes | 2:067142778937 | 65 | else{ |
| JelleRaes | 2:067142778937 | 66 | buffer[i]='\0'; |
| JelleRaes | 2:067142778937 | 67 | break; |
| JelleRaes | 2:067142778937 | 68 | } |
| JelleRaes | 2:067142778937 | 69 | } |
| JelleRaes | 0:52e944ca21ea | 70 | } |
