Example program for the BSDInterface

Dependencies:   BSDInterface NetworkSocketAPI

Fork of HelloLWIPInterface by NetworkSocketAPI

Committer:
geky
Date:
Sun Feb 28 02:02:32 2016 +0000
Revision:
47:ac3cc44106cb
Parent:
46:cf5ab96729e1
Child:
49:e1689f3f04f3
Created example program for the BSDInterface

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sam_grove 0:1984a177ff56 1 /* NetworkSocketAPI Example Program
sam_grove 0:1984a177ff56 2 * Copyright (c) 2015 ARM Limited
sam_grove 0:1984a177ff56 3 *
sam_grove 0:1984a177ff56 4 * Licensed under the Apache License, Version 2.0 (the "License");
sam_grove 0:1984a177ff56 5 * you may not use this file except in compliance with the License.
sam_grove 0:1984a177ff56 6 * You may obtain a copy of the License at
sam_grove 0:1984a177ff56 7 *
sam_grove 0:1984a177ff56 8 * http://www.apache.org/licenses/LICENSE-2.0
sam_grove 0:1984a177ff56 9 *
sam_grove 0:1984a177ff56 10 * Unless required by applicable law or agreed to in writing, software
sam_grove 0:1984a177ff56 11 * distributed under the License is distributed on an "AS IS" BASIS,
sam_grove 0:1984a177ff56 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
sam_grove 0:1984a177ff56 13 * See the License for the specific language governing permissions and
sam_grove 0:1984a177ff56 14 * limitations under the License.
sam_grove 0:1984a177ff56 15 */
sam_grove 0:1984a177ff56 16
geky 47:ac3cc44106cb 17 #include "BSDInterface.h"
Christopher Haster 30:f80540b6e2db 18 #include "TCPSocket.h"
sam_grove 0:1984a177ff56 19
Christopher Haster 32:28a909a3748e 20 DigitalOut myled(LED_GREEN);
Christopher Haster 30:f80540b6e2db 21 void flash(){ myled = !myled; }
sam_grove 0:1984a177ff56 22
geky 47:ac3cc44106cb 23 BSDInterface iface;
geky 47:ac3cc44106cb 24 TCPSocket socket(&iface);
sam_grove 2:7283ce112304 25
sam_grove 0:1984a177ff56 26 int main()
sam_grove 20:4cb9ef3b0cc9 27 {
bridadan 14:c47437f5dae8 28 printf("NetworkSocketAPI Example\r\n");
sam_grove 4:cb8a17dd6746 29
geky 47:ac3cc44106cb 30 iface.connect();
bridadan 14:c47437f5dae8 31
geky 47:ac3cc44106cb 32 const char *ip = iface.getIPAddress();
geky 47:ac3cc44106cb 33 const char *mac = iface.getMACAddress();
Christopher Haster 30:f80540b6e2db 34 printf("IP Address is: %s\r\n", (ip) ? ip : "No IP");
Christopher Haster 30:f80540b6e2db 35 printf("MAC Address is: %s\r\n", (mac) ? mac : "No MAC");
sarahmarshy 22:1d355289fc18 36
Christopher Haster 30:f80540b6e2db 37 socket.open("time-a.nist.gov", 37);
Christopher Haster 30:f80540b6e2db 38 printf("time-a.nist.gov resolved to: %s\r\n", socket.getIPAddress());
sarahmarshy 21:979b1db5d7da 39
sam_grove 24:471a07e886ae 40 char recieved[100] = {0};
Christopher Haster 30:f80540b6e2db 41 int32_t size = 0;
Christopher Haster 30:f80540b6e2db 42 size = socket.recv(recieved, sizeof(recieved));
Christopher Haster 30:f80540b6e2db 43
Christopher Haster 30:f80540b6e2db 44 socket.close();
geky 47:ac3cc44106cb 45 iface.disconnect();
Christopher Haster 30:f80540b6e2db 46
Christopher Haster 30:f80540b6e2db 47 printf("Recieved: %ld bytes, %02x%02x%02x%02x\r\n", size,
Christopher Haster 30:f80540b6e2db 48 recieved[0], recieved[1], recieved[2], recieved[3]);
sam_grove 24:471a07e886ae 49 printf("NetworkSocketAPI Example Finished\r\n");
sam_grove 0:1984a177ff56 50 }