Simple Thing for DJ

Dependencies:   WIZnet_Library mbed

Fork of SimpleThing_DJ by Ganesh Gore

Committer:
ganeshgore
Date:
Sat Jun 06 15:37:41 2015 +0000
Revision:
2:1e8031dab116
Parent:
1:421fd0a7b5d7
Child:
3:bf6b5491779a
initit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bangbh 0:412f9c1172b7 1 #include "mbed.h"
bangbh 0:412f9c1172b7 2 #include "WIZnetInterface.h"
bangbh 0:412f9c1172b7 3
ganeshgore 2:1e8031dab116 4 #define USE_DHCP 1
bangbh 0:412f9c1172b7 5
bangbh 0:412f9c1172b7 6 #define LOOPBACKPORT 5000
bangbh 0:412f9c1172b7 7
ganeshgore 1:421fd0a7b5d7 8 const char * IP_Addr = "192.168.1.20";
bangbh 0:412f9c1172b7 9 const char * IP_Subnet = "255.255.255.0";
ganeshgore 1:421fd0a7b5d7 10 const char * IP_Gateway = "192.168.1.1";
ganeshgore 1:421fd0a7b5d7 11 unsigned char MAC_Addr[6] = {0x00,0x08,0xDC,0x12,0x07,0x07};
bangbh 0:412f9c1172b7 12
bangbh 0:412f9c1172b7 13 DigitalOut myled1(LED1);
bangbh 0:412f9c1172b7 14 Serial pc(USBTX, USBRX);
bangbh 0:412f9c1172b7 15
ganeshgore 1:421fd0a7b5d7 16 //#ifdef TARGET_LPC11U68
ganeshgore 1:421fd0a7b5d7 17 SPI spi(PTD2,PTD3,PTD1);
ganeshgore 1:421fd0a7b5d7 18 WIZnetInterface ethernet(&spi,PTD0,PTA20);
ganeshgore 1:421fd0a7b5d7 19 //#endif
bangbh 0:412f9c1172b7 20
ganeshgore 1:421fd0a7b5d7 21 int main()
ganeshgore 1:421fd0a7b5d7 22 {
ganeshgore 1:421fd0a7b5d7 23
ganeshgore 1:421fd0a7b5d7 24 uint8_t mac[6];
bangbh 0:412f9c1172b7 25
ganeshgore 1:421fd0a7b5d7 26 // set these to match the mac address on the Arduino Ethernet Shield
ganeshgore 1:421fd0a7b5d7 27 mac[0] = 0x90; mac[1] = 0xa2; mac[2] = 0xda;
ganeshgore 2:1e8031dab116 28 mac[3] = 0x0f; mac[4] = 0x0e; mac[5] = 0x07; // 90:a2:da:0f:0e:63
ganeshgore 1:421fd0a7b5d7 29
ganeshgore 1:421fd0a7b5d7 30
bangbh 0:412f9c1172b7 31
bangbh 0:412f9c1172b7 32 //Set serial port baudrate speed: 115200
bangbh 0:412f9c1172b7 33 pc.baud(115200);
ganeshgore 1:421fd0a7b5d7 34 pc.printf("Started\r\n");
ganeshgore 1:421fd0a7b5d7 35
ganeshgore 1:421fd0a7b5d7 36 //mbed_mac_address((char *)MAC_Addr); //Use mbed mac addres
ganeshgore 1:421fd0a7b5d7 37
bangbh 0:412f9c1172b7 38 pc.printf("Start\r\n");
bangbh 0:412f9c1172b7 39
bangbh 0:412f9c1172b7 40 char buffer[256];
ganeshgore 1:421fd0a7b5d7 41
ganeshgore 1:421fd0a7b5d7 42 while(1) {
ganeshgore 1:421fd0a7b5d7 43 #if USE_DHCP
ganeshgore 1:421fd0a7b5d7 44 int ret = ethernet.init(mac);
ganeshgore 1:421fd0a7b5d7 45 #else
bangbh 0:412f9c1172b7 46 int ret = ethernet.init(MAC_Addr,IP_Addr,IP_Subnet,IP_Gateway);
ganeshgore 1:421fd0a7b5d7 47 #endif
ganeshgore 1:421fd0a7b5d7 48
bangbh 0:412f9c1172b7 49 if (!ret) {
bangbh 0:412f9c1172b7 50 pc.printf("Initialized, MAC: %s\r\n", ethernet.getMACAddress());
bangbh 0:412f9c1172b7 51 ret = ethernet.connect();
bangbh 0:412f9c1172b7 52 if (!ret) {
bangbh 0:412f9c1172b7 53 pc.printf("IP: %s, MASK: %s, GW: %s\r\n",
bangbh 0:412f9c1172b7 54 ethernet.getIPAddress(), ethernet.getNetworkMask(), ethernet.getGateway());
bangbh 0:412f9c1172b7 55 } else {
bangbh 0:412f9c1172b7 56 pc.printf("Error ethernet.connect() - ret = %d\r\n", ret);
bangbh 0:412f9c1172b7 57 exit(0);
bangbh 0:412f9c1172b7 58 }
bangbh 0:412f9c1172b7 59 } else {
bangbh 0:412f9c1172b7 60 pc.printf("Error ethernet.init() - ret = %d\r\n", ret);
bangbh 0:412f9c1172b7 61 exit(0);
bangbh 0:412f9c1172b7 62 }
ganeshgore 2:1e8031dab116 63 while(1);
bangbh 0:412f9c1172b7 64 TCPSocketServer server;
bangbh 0:412f9c1172b7 65 server.bind(LOOPBACKPORT);
bangbh 0:412f9c1172b7 66 server.listen();
ganeshgore 1:421fd0a7b5d7 67
bangbh 0:412f9c1172b7 68 while (1) {
bangbh 0:412f9c1172b7 69 pc.printf("\nWait for new connection...\r\n");
bangbh 0:412f9c1172b7 70 TCPSocketConnection client;
bangbh 0:412f9c1172b7 71 server.accept(client);
bangbh 0:412f9c1172b7 72 client.set_blocking(false, 0); // Timeout=0.
bangbh 0:412f9c1172b7 73 pc.printf("Connection from: %s\r\n", client.get_address());
bangbh 0:412f9c1172b7 74 while (client.is_connected() == true) {
bangbh 0:412f9c1172b7 75 int n = client.receive(buffer, sizeof(buffer));
bangbh 0:412f9c1172b7 76 if(n > 0)
bangbh 0:412f9c1172b7 77 client.send_all(buffer, n);
bangbh 0:412f9c1172b7 78 if(client.is_fin_received())
bangbh 0:412f9c1172b7 79 client.close();
bangbh 0:412f9c1172b7 80 }
bangbh 0:412f9c1172b7 81 pc.printf("Disconnected.\r\n");
bangbh 0:412f9c1172b7 82 }
bangbh 0:412f9c1172b7 83 }
bangbh 0:412f9c1172b7 84 }