#include struct netif if0; uint32_t sys_now (void) { return ticks; } void dispatch_lwip (void) { #if 0 if (link_lost()) netif_set_down (&if0); if (link_gained()) netif_set_up (&if0); #endif sys_check_timeouts(); #if 0 /* Fine DHCP periodic process every 500ms */ if (localtime - DHCPfineTimer >= DHCP_FINE_TIMER_MSECS) { DHCPfineTimer = localtime; dhcp_fine_tmr(); if ((DHCP_state != DHCP_ADDRESS_ASSIGNED) && (DHCP_state != DHCP_TIMEOUT)) { /* toggle LED1 to indicate DHCP on-going process */ STM_EVAL_LEDToggle (LED1); /* process DHCP state machine */ LwIP_DHCP_Process_Handle(); } } /* DHCP Coarse periodic process every 60s */ if (localtime - DHCPcoarseTimer >= DHCP_COARSE_TIMER_MSECS) { DHCPcoarseTimer = localtime; dhcp_coarse_tmr(); } #endif } void start_lwip (void) { struct ip_addr ipaddr; struct ip_addr netmask; struct ip_addr gw; // uint8_t macaddress[6]={0,0,0,0,0,1}; lwip_init(); #if 1 IP4_ADDR (&ipaddr, 10, 32, 99, 73); IP4_ADDR (&netmask, 255, 255, 255, 0); IP4_ADDR (&gw, 10, 32, 99, 1); #else IP4_ADDR (&ipaddr, 192, 168, 1, 1); IP4_ADDR (&netmask, 255, 255, 255, 0); IP4_ADDR (&gw, 192, 168, 1, 254); #endif netif_add (&if0, &ipaddr, &netmask, &gw, NULL, steth_lwip_init , ethernet_input); /* Registers the default network interface.*/ netif_set_default (&if0); netif_set_up (&if0); }