Jelle Raes / Mbed 2 deprecated Projec_1_projectlab

Dependencies:   EthernetInterface LM75B mbed-rtos mbed

Fork of communication by Jelle Raes

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?

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 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 }