Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Socket lwip-eth lwip-sys lwip
Dependents: RPC_HTTP ece4180_project RPC_HTTP TCPEchoServer ... more
Fork of EthernetInterface by
Diff: EthernetInterface.cpp
- Revision:
- 37:926eb6517318
- Parent:
- 35:cba86db5ab96
--- a/EthernetInterface.cpp Wed Jan 08 08:31:01 2014 +0000
+++ b/EthernetInterface.cpp Thu Apr 24 10:45:57 2014 +0100
@@ -22,14 +22,13 @@
#include "lwip/netif.h"
#include "netif/etharp.h"
#include "lwip/dhcp.h"
-#include "arch/lpc17_emac.h"
-#include "lpc_phy.h"
+#include "eth_arch.h"
#include "lwip/tcpip.h"
#include "mbed.h"
/* TCP/IP and Network Interface Initialisation */
-static struct netif lpcNetif;
+static struct netif netif;
static char mac_addr[19];
static char ip_addr[17] = "\0";
@@ -64,12 +63,12 @@
tcpip_init(tcpip_init_done, NULL);
tcpip_inited.wait();
- memset((void*) &lpcNetif, 0, sizeof(lpcNetif));
- netif_add(&lpcNetif, ipaddr, netmask, gw, NULL, lpc_enetif_init, tcpip_input);
- netif_set_default(&lpcNetif);
+ memset((void*) &netif, 0, sizeof(netif));
+ netif_add(&netif, ipaddr, netmask, gw, NULL, eth_arch_enetif_init, tcpip_input);
+ netif_set_default(&netif);
- netif_set_link_callback (&lpcNetif, netif_link_callback);
- netif_set_status_callback(&lpcNetif, netif_status_callback);
+ netif_set_link_callback (&netif, netif_link_callback);
+ netif_set_status_callback(&netif, netif_status_callback);
}
static void set_mac_address(void) {
@@ -106,18 +105,17 @@
}
int EthernetInterface::connect(unsigned int timeout_ms) {
- NVIC_SetPriority(ENET_IRQn, ((0x01 << 3) | 0x01));
- NVIC_EnableIRQ(ENET_IRQn);
-
+ eth_arch_enable_interrupts();
+
int inited;
if (use_dhcp) {
- dhcp_start(&lpcNetif);
+ dhcp_start(&netif);
// Wait for an IP Address
// -1: error, 0: timeout
inited = netif_up.wait(timeout_ms);
} else {
- netif_set_up(&lpcNetif);
+ netif_set_up(&netif);
// Wait for the link up
inited = netif_linked.wait(timeout_ms);
@@ -128,13 +126,13 @@
int EthernetInterface::disconnect() {
if (use_dhcp) {
- dhcp_release(&lpcNetif);
- dhcp_stop(&lpcNetif);
+ dhcp_release(&netif);
+ dhcp_stop(&netif);
} else {
- netif_set_down(&lpcNetif);
+ netif_set_down(&netif);
}
- NVIC_DisableIRQ(ENET_IRQn);
+ eth_arch_disable_interrupts();
return 0;
}
