James Fernando / Mbed 2 deprecated frdm_labex_5_1_UDPClient

Dependencies:   mbed mbed-rtos EthernetInterface FXOS8700Q

Committer:
jamesfernando
Date:
Fri Dec 14 23:47:01 2018 +0000
Revision:
0:d3bd9c176482
Initial Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jamesfernando 0:d3bd9c176482 1 #include "mbed.h"
jamesfernando 0:d3bd9c176482 2 #include "EthernetInterface.h"
jamesfernando 0:d3bd9c176482 3 #include "FXOS8700Q.h"
jamesfernando 0:d3bd9c176482 4 #include <stdio.h>
jamesfernando 0:d3bd9c176482 5 #include <iostream>
jamesfernando 0:d3bd9c176482 6
jamesfernando 0:d3bd9c176482 7
jamesfernando 0:d3bd9c176482 8 const int PORT = 7;
jamesfernando 0:d3bd9c176482 9
jamesfernando 0:d3bd9c176482 10 static const char* SERVER_IP = "192.168.1.101"; //IP of server board
jamesfernando 0:d3bd9c176482 11 static const char* CLIENT_IP = "192.168.1.102"; //IP of client board
jamesfernando 0:d3bd9c176482 12 static const char* MASK = "255.255.255.0"; //mask
jamesfernando 0:d3bd9c176482 13 static const char* GATEWAY = "192.168.1.1"; //gateway
jamesfernando 0:d3bd9c176482 14
jamesfernando 0:d3bd9c176482 15
jamesfernando 0:d3bd9c176482 16 /*--INITS-------------------------------------------------------------------------------*/
jamesfernando 0:d3bd9c176482 17 Serial pc(USBTX, USBRX); //create PC interface
jamesfernando 0:d3bd9c176482 18 EthernetInterface eth; //create ethernet
jamesfernando 0:d3bd9c176482 19 UDPSocket sock; //creat Ethernet socket
jamesfernando 0:d3bd9c176482 20 Endpoint server; //create endpoint
jamesfernando 0:d3bd9c176482 21
jamesfernando 0:d3bd9c176482 22 DigitalOut red(LED_RED); //debug led
jamesfernando 0:d3bd9c176482 23 DigitalOut green(LED_GREEN); //debug led
jamesfernando 0:d3bd9c176482 24 FXOS8700Q_acc acc( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1);
jamesfernando 0:d3bd9c176482 25
jamesfernando 0:d3bd9c176482 26
jamesfernando 0:d3bd9c176482 27 /*--VARIABLES---------------------------------------------------------------------------*/
jamesfernando 0:d3bd9c176482 28 int n; //size of received message
jamesfernando 0:d3bd9c176482 29 char* recieveBuffer = new char[23]; //create receive buffer
jamesfernando 0:d3bd9c176482 30 char* sendBuffer = new char[23]; //sample send buffer
jamesfernando 0:d3bd9c176482 31 std::string inStr;
jamesfernando 0:d3bd9c176482 32 std::string outStr;
jamesfernando 0:d3bd9c176482 33
jamesfernando 0:d3bd9c176482 34
jamesfernando 0:d3bd9c176482 35 /*--FUNCTION DECLARATIONS---------------------------------------------------------------*/
jamesfernando 0:d3bd9c176482 36 void init_usb(void); //initializes pc.printf if required
jamesfernando 0:d3bd9c176482 37 void init_eth(void); //initializes Ethernet
jamesfernando 0:d3bd9c176482 38 void end_eth(void); //closes Ethernet socket
jamesfernando 0:d3bd9c176482 39 void printCharArr(char* arr);
jamesfernando 0:d3bd9c176482 40 int main(void); //main
jamesfernando 0:d3bd9c176482 41
jamesfernando 0:d3bd9c176482 42
jamesfernando 0:d3bd9c176482 43 /*--FUNCTION DEFINITIONS---------------------------------------------------*****************************************************************************INIT_USB***/
jamesfernando 0:d3bd9c176482 44 void init_usb(void)
jamesfernando 0:d3bd9c176482 45 {
jamesfernando 0:d3bd9c176482 46 pc.baud(9600); //baud
jamesfernando 0:d3bd9c176482 47
jamesfernando 0:d3bd9c176482 48 } //end init_usb()
jamesfernando 0:d3bd9c176482 49
jamesfernando 0:d3bd9c176482 50 /*****************************************************************************INIT_ETH***/
jamesfernando 0:d3bd9c176482 51 void init_eth(void)
jamesfernando 0:d3bd9c176482 52 {
jamesfernando 0:d3bd9c176482 53 eth.init(CLIENT_IP, MASK, GATEWAY); //set up IP
jamesfernando 0:d3bd9c176482 54 eth.connect(); //connect ethernet
jamesfernando 0:d3bd9c176482 55 pc.printf("\nCLIENT - Client IP Address is %s\r\n", eth.getIPAddress()); //get client IP address
jamesfernando 0:d3bd9c176482 56
jamesfernando 0:d3bd9c176482 57 sock.init(); //initialize socket
jamesfernando 0:d3bd9c176482 58
jamesfernando 0:d3bd9c176482 59 server.set_address(SERVER_IP, PORT); //set address of server
jamesfernando 0:d3bd9c176482 60
jamesfernando 0:d3bd9c176482 61 } //end init_eth()
jamesfernando 0:d3bd9c176482 62
jamesfernando 0:d3bd9c176482 63 /******************************************************************************END_ETH***/
jamesfernando 0:d3bd9c176482 64 void end_eth(void)
jamesfernando 0:d3bd9c176482 65 {
jamesfernando 0:d3bd9c176482 66 sock.close(); //close socket
jamesfernando 0:d3bd9c176482 67 eth.disconnect(); //close Ethernet
jamesfernando 0:d3bd9c176482 68
jamesfernando 0:d3bd9c176482 69 } //end end_eth()
jamesfernando 0:d3bd9c176482 70
jamesfernando 0:d3bd9c176482 71 void printCharArr(char* arr){
jamesfernando 0:d3bd9c176482 72 for(int i = 0; i < sizeof(arr); i++){
jamesfernando 0:d3bd9c176482 73 pc.printf("%c", arr[i]);
jamesfernando 0:d3bd9c176482 74 }
jamesfernando 0:d3bd9c176482 75 }
jamesfernando 0:d3bd9c176482 76
jamesfernando 0:d3bd9c176482 77 /*********************************************************************************MAIN***/
jamesfernando 0:d3bd9c176482 78 int main(void)
jamesfernando 0:d3bd9c176482 79 {
jamesfernando 0:d3bd9c176482 80 red = 0; //client
jamesfernando 0:d3bd9c176482 81 green = 1;
jamesfernando 0:d3bd9c176482 82
jamesfernando 0:d3bd9c176482 83 acc.enable();
jamesfernando 0:d3bd9c176482 84 float faX, faY;
jamesfernando 0:d3bd9c176482 85
jamesfernando 0:d3bd9c176482 86 init_usb(); //initialize the PC interface
jamesfernando 0:d3bd9c176482 87 init_eth(); //initialize the Ethernet connection
jamesfernando 0:d3bd9c176482 88
jamesfernando 0:d3bd9c176482 89 while(true) //repeat forever
jamesfernando 0:d3bd9c176482 90 {
jamesfernando 0:d3bd9c176482 91 acc.getX(&faX);
jamesfernando 0:d3bd9c176482 92 acc.getY(&faY);
jamesfernando 0:d3bd9c176482 93 sprintf(sendBuffer, "X:'% 5.3f' Y:'% 5.3f'\0", faX, faY);
jamesfernando 0:d3bd9c176482 94 pc.printf("\nCLIENT - Sending");
jamesfernando 0:d3bd9c176482 95 printCharArr(sendBuffer);
jamesfernando 0:d3bd9c176482 96 pc.printf(" to server %s\r\n", SERVER_IP); //print message to send
jamesfernando 0:d3bd9c176482 97 sock.sendTo(server, sendBuffer, sizeof(sendBuffer)+1); //send message
jamesfernando 0:d3bd9c176482 98 pc.printf("CLIENT - Waiting for UDP packet...\r\n"); //wait for message
jamesfernando 0:d3bd9c176482 99 n = sock.receiveFrom(server, recieveBuffer, 23); //receive message from server
jamesfernando 0:d3bd9c176482 100 pc.printf("CLIENT - Received ");
jamesfernando 0:d3bd9c176482 101 printCharArr(recieveBuffer);
jamesfernando 0:d3bd9c176482 102 pc.printf(" from server %s\r\n", SERVER_IP); //print message received
jamesfernando 0:d3bd9c176482 103
jamesfernando 0:d3bd9c176482 104
jamesfernando 0:d3bd9c176482 105 wait(1); //wait 1 second
jamesfernando 0:d3bd9c176482 106 }
jamesfernando 0:d3bd9c176482 107
jamesfernando 0:d3bd9c176482 108 } //end main()