Jelle Raes / Mbed 2 deprecated Projec_1_projectlab

Dependencies:   EthernetInterface LM75B mbed-rtos mbed

Fork of communication by Jelle Raes

Committer:
JelleRaes
Date:
Tue Mar 13 12:15:05 2018 +0000
Revision:
2:067142778937
Parent:
1:550192b4ae8e
Child:
3:9c600fb19ed2
beste versie tot nu toe lol xd

Who changed what in which revision?

UserRevisionLine numberNew 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 2:067142778937 19 typeRequest(masterBuffer);
JelleRaes 0:52e944ca21ea 20
JelleRaes 0:52e944ca21ea 21 char ipArray[14]={NULL};
JelleRaes 2:067142778937 22 typeIp(ipArray);
JelleRaes 0:52e944ca21ea 23
JelleRaes 0:52e944ca21ea 24 sock.init();
JelleRaes 0:52e944ca21ea 25 const char *ECHO_SERVER_ADDRESS = ipArray;
JelleRaes 0:52e944ca21ea 26 Endpoint echo_server;
JelleRaes 0:52e944ca21ea 27 echo_server.set_address(ECHO_SERVER_ADDRESS,4000);
JelleRaes 1:550192b4ae8e 28 masterpc.printf("\n\rSending \"%s\" to IPAddress :%s\n\r",masterBuffer,ECHO_SERVER_ADDRESS);
JelleRaes 0:52e944ca21ea 29 sock.sendTo(echo_server,masterBuffer,sizeof(masterBuffer));
JelleRaes 0:52e944ca21ea 30
JelleRaes 0:52e944ca21ea 31 int n = sock.receiveFrom(echo_server, masterBuffer, sizeof(masterBuffer));
JelleRaes 0:52e944ca21ea 32 masterBuffer[n] = '\0';
JelleRaes 0:52e944ca21ea 33 masterpc.printf("Received message from server: '%s'\n\r", masterBuffer);
JelleRaes 0:52e944ca21ea 34 sock.close();
JelleRaes 0:52e944ca21ea 35 }
JelleRaes 2:067142778937 36 }
JelleRaes 2:067142778937 37
JelleRaes 2:067142778937 38 void typeRequest(char* buffer){
JelleRaes 2:067142778937 39 masterpc.printf("type for request:\n\r");
JelleRaes 2:067142778937 40 for(int i = 0;i<512;i++){
JelleRaes 2:067142778937 41 char key = masterpc.getc();
JelleRaes 2:067142778937 42 if(key != 13){
JelleRaes 2:067142778937 43 masterpc.putc(key);
JelleRaes 2:067142778937 44 buffer[i]=key;
JelleRaes 2:067142778937 45 }
JelleRaes 2:067142778937 46 else{
JelleRaes 2:067142778937 47 buffer[i]='\0';
JelleRaes 2:067142778937 48 break;
JelleRaes 2:067142778937 49 }
JelleRaes 2:067142778937 50 }
JelleRaes 2:067142778937 51 }
JelleRaes 2:067142778937 52
JelleRaes 2:067142778937 53 void typeIp(char* buffer){
JelleRaes 2:067142778937 54 masterpc.printf("\n\rinsert ip address to send to:\n\r ");
JelleRaes 2:067142778937 55 for(int i = 0;i<14;i++){
JelleRaes 2:067142778937 56 char key = masterpc.getc();
JelleRaes 2:067142778937 57 if(key != 13){
JelleRaes 2:067142778937 58 masterpc.putc(key);
JelleRaes 2:067142778937 59 buffer[i]=key;
JelleRaes 2:067142778937 60 }
JelleRaes 2:067142778937 61 else{
JelleRaes 2:067142778937 62 buffer[i]='\0';
JelleRaes 2:067142778937 63 break;
JelleRaes 2:067142778937 64 }
JelleRaes 2:067142778937 65 }
JelleRaes 0:52e944ca21ea 66 }