Forked ethernet interface library
Dependencies: Socket lwip-eth lwip-sys lwip
Dependents: CI-data-logger-server
Fork of EthernetInterface by
Revision 55:894e18951229, committed 2017-06-18
- Comitter:
- thedude35
- Date:
- Sun Jun 18 03:31:42 2017 +0000
- Parent:
- 54:183490eb1b4a
- Commit message:
- Initial commit
Changed in this revision
EthernetInterface.cpp | Show annotated file Show diff for this revision Revisions of this file |
EthernetInterface.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 183490eb1b4a -r 894e18951229 EthernetInterface.cpp --- a/EthernetInterface.cpp Wed May 11 22:18:04 2016 +0000 +++ b/EthernetInterface.cpp Sun Jun 18 03:31:42 2017 +0000 @@ -26,6 +26,7 @@ #include "lwip/tcpip.h" #include "mbed.h" +#include "string.h" /* TCP/IP and Network Interface Initialisation */ static struct netif netif; @@ -35,6 +36,7 @@ static char gateway[17] = "\0"; static char networkmask[17] = "\0"; static bool use_dhcp = false; +static char myName[33]; // holds the name, when setName() is called static Semaphore tcpip_inited(0); static Semaphore netif_linked(0); @@ -137,6 +139,22 @@ return 0; } +int EthernetInterface::setName(const char * myname) { + int i; + + strncpy(myName, myname, 32); + myName[32] = '\0'; // be sure it is NULL terminated. + // make the name 'safe' + /*for (i=0; i<32 && myName[i]; i++) { + if (!inRange(myName[i], '0', '9') + && !inRange(myName[i], 'A', 'Z') + && !inRange(myName[i], 'a', 'z')) + myName[i] = '-'; + }*/ + netif_set_hostname(&netif, myName); + return 0; +} + char* EthernetInterface::getMACAddress() { return mac_addr; }
diff -r 183490eb1b4a -r 894e18951229 EthernetInterface.h --- a/EthernetInterface.h Wed May 11 22:18:04 2016 +0000 +++ b/EthernetInterface.h Sun Jun 18 03:31:42 2017 +0000 @@ -79,6 +79,20 @@ * \return a pointer to a string containing the Network mask */ static char* getNetworkMask(); + + /** setName + * + * Set the network name for this device. Apply this before + * calling 'connect'. + * + * \param myname is the name to assign for this node. + * Only the first 32 characters will be used if the + * name is longer. + * Only '0'-'9', 'A'-'Z', 'a'-'z' are accepted, + * any others are converted to '-'. + * \return 0 on success, a negative number on failure. + */ + static int setName(const char * myname); }; #include "TCPSocketConnection.h"