fix:Fix RNDIS DHCP dependency,and delay implementation
This commit is contained in:
@@ -189,14 +189,14 @@ void usbd_rndis_data_send_done(uint32_t len)
|
|||||||
#error rndis must enable RT_LWIP_DHCP
|
#error rndis must enable RT_LWIP_DHCP
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LWIP_USING_DHCPD
|
#ifdef LWIP_USING_DHCPD
|
||||||
#error rndis must enable LWIP_USING_DHCPD
|
#include <dhcp_server.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include <rtdevice.h>
|
#include <rtdevice.h>
|
||||||
#include <netif/ethernetif.h>
|
#include <netif/ethernetif.h>
|
||||||
#include <dhcp_server.h>
|
#include <netdev.h>
|
||||||
|
|
||||||
struct eth_device rndis_dev;
|
struct eth_device rndis_dev;
|
||||||
|
|
||||||
@@ -250,7 +250,14 @@ void rndis_lwip_init(void)
|
|||||||
eth_device_init(&rndis_dev, "u0");
|
eth_device_init(&rndis_dev, "u0");
|
||||||
|
|
||||||
eth_device_linkchange(&rndis_dev, RT_TRUE);
|
eth_device_linkchange(&rndis_dev, RT_TRUE);
|
||||||
|
#ifdef LWIP_USING_DHCPD
|
||||||
dhcpd_start("u0");
|
dhcpd_start("u0");
|
||||||
|
#else
|
||||||
|
struct netdev *netdev = netdev_get_by_name("u0");
|
||||||
|
if (netdev) {
|
||||||
|
netdev_dhcp_enabled(netdev, RT_TRUE);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void usbd_rndis_data_recv_done(uint32_t len)
|
void usbd_rndis_data_recv_done(uint32_t len)
|
||||||
|
|||||||
@@ -82,4 +82,12 @@ void usb_dc_low_level_deinit(uint8_t busid)
|
|||||||
|
|
||||||
void usbd_kinetis_delay_ms(uint8_t ms)
|
void usbd_kinetis_delay_ms(uint8_t ms)
|
||||||
{
|
{
|
||||||
|
#ifdef __RTTHREAD__
|
||||||
|
rt_thread_mdelay(ms);
|
||||||
|
#else
|
||||||
|
for (uint32_t i = 0; i < ms; i++)
|
||||||
|
{
|
||||||
|
for (volatile uint32_t j = 0; j < 10000; j++);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user