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.
main.cpp@0:fb8047b156bb, 2020-01-15 (annotated)
- Committer:
- rahul_dahiya
- Date:
- Wed Jan 15 15:57:15 2020 +0530
- Revision:
- 0:fb8047b156bb
STM32F7 LWIP
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rahul_dahiya |
0:fb8047b156bb | 1 | #include "mbed.h" |
rahul_dahiya |
0:fb8047b156bb | 2 | #include "lwip/dhcp.h" |
rahul_dahiya |
0:fb8047b156bb | 3 | #include "lwip/tcpip.h" |
rahul_dahiya |
0:fb8047b156bb | 4 | #include "lwip/api.h" |
rahul_dahiya |
0:fb8047b156bb | 5 | #include "eth_arch.h" |
rahul_dahiya |
0:fb8047b156bb | 6 | |
rahul_dahiya |
0:fb8047b156bb | 7 | //#define USE_DHCP /* enable DHCP, if disabled static address is used*/ |
rahul_dahiya |
0:fb8047b156bb | 8 | |
rahul_dahiya |
0:fb8047b156bb | 9 | /*Static IP ADDRESS*/ |
rahul_dahiya |
0:fb8047b156bb | 10 | #define IP_ADDR0 192 |
rahul_dahiya |
0:fb8047b156bb | 11 | #define IP_ADDR1 168 |
rahul_dahiya |
0:fb8047b156bb | 12 | #define IP_ADDR2 0 |
rahul_dahiya |
0:fb8047b156bb | 13 | #define IP_ADDR3 10 |
rahul_dahiya |
0:fb8047b156bb | 14 | |
rahul_dahiya |
0:fb8047b156bb | 15 | /*NETMASK*/ |
rahul_dahiya |
0:fb8047b156bb | 16 | #define NETMASK_ADDR0 255 |
rahul_dahiya |
0:fb8047b156bb | 17 | #define NETMASK_ADDR1 255 |
rahul_dahiya |
0:fb8047b156bb | 18 | #define NETMASK_ADDR2 255 |
rahul_dahiya |
0:fb8047b156bb | 19 | #define NETMASK_ADDR3 0 |
rahul_dahiya |
0:fb8047b156bb | 20 | |
rahul_dahiya |
0:fb8047b156bb | 21 | /*Gateway Address*/ |
rahul_dahiya |
0:fb8047b156bb | 22 | #define GW_ADDR0 192 |
rahul_dahiya |
0:fb8047b156bb | 23 | #define GW_ADDR1 168 |
rahul_dahiya |
0:fb8047b156bb | 24 | #define GW_ADDR2 0 |
rahul_dahiya |
0:fb8047b156bb | 25 | #define GW_ADDR3 1 |
rahul_dahiya |
0:fb8047b156bb | 26 | |
rahul_dahiya |
0:fb8047b156bb | 27 | #define DHCP_OFF (uint8_t) 0 |
rahul_dahiya |
0:fb8047b156bb | 28 | #define DHCP_START (uint8_t) 1 |
rahul_dahiya |
0:fb8047b156bb | 29 | #define DHCP_WAIT_ADDRESS (uint8_t) 2 |
rahul_dahiya |
0:fb8047b156bb | 30 | #define DHCP_ADDRESS_ASSIGNED (uint8_t) 3 |
rahul_dahiya |
0:fb8047b156bb | 31 | #define DHCP_TIMEOUT_APP (uint8_t) 4 |
rahul_dahiya |
0:fb8047b156bb | 32 | #define DHCP_LINK_DOWN (uint8_t) 5 |
rahul_dahiya |
0:fb8047b156bb | 33 | |
rahul_dahiya |
0:fb8047b156bb | 34 | #ifdef USE_DHCP |
rahul_dahiya |
0:fb8047b156bb | 35 | #define MAX_DHCP_TRIES 4 |
rahul_dahiya |
0:fb8047b156bb | 36 | __IO uint8_t DHCP_state = DHCP_OFF; |
rahul_dahiya |
0:fb8047b156bb | 37 | #endif |
rahul_dahiya |
0:fb8047b156bb | 38 | |
rahul_dahiya |
0:fb8047b156bb | 39 | struct netif gnetif; /* network interface structure */ |
rahul_dahiya |
0:fb8047b156bb | 40 | |
rahul_dahiya |
0:fb8047b156bb | 41 | DigitalOut led1(LED1); |
rahul_dahiya |
0:fb8047b156bb | 42 | DigitalOut led3(LED3); |
rahul_dahiya |
0:fb8047b156bb | 43 | |
rahul_dahiya |
0:fb8047b156bb | 44 | Thread thread1; |
rahul_dahiya |
0:fb8047b156bb | 45 | |
rahul_dahiya |
0:fb8047b156bb | 46 | static void Netif_Config(void); |
rahul_dahiya |
0:fb8047b156bb | 47 | void User_notification(struct netif *netif); |
rahul_dahiya |
0:fb8047b156bb | 48 | #ifdef USE_DHCP |
rahul_dahiya |
0:fb8047b156bb | 49 | void DHCP_thread(void); |
rahul_dahiya |
0:fb8047b156bb | 50 | #endif |
rahul_dahiya |
0:fb8047b156bb | 51 | static void http_server_netconn_thread(void *arg); |
rahul_dahiya |
0:fb8047b156bb | 52 | |
rahul_dahiya |
0:fb8047b156bb | 53 | int main() |
rahul_dahiya |
0:fb8047b156bb | 54 | { |
rahul_dahiya |
0:fb8047b156bb | 55 | printf("\n\n*** Welcome STM32F767ZI !!! ***\n\r"); |
rahul_dahiya |
0:fb8047b156bb | 56 | printf("CLOCK: %d\n\r", OS_Tick_GetClock()); |
rahul_dahiya |
0:fb8047b156bb | 57 | |
rahul_dahiya |
0:fb8047b156bb | 58 | /* Create tcp_ip stack thread */ |
rahul_dahiya |
0:fb8047b156bb | 59 | tcpip_init(NULL, NULL); |
rahul_dahiya |
0:fb8047b156bb | 60 | |
rahul_dahiya |
0:fb8047b156bb | 61 | /* Initialize the LwIP stack */ |
rahul_dahiya |
0:fb8047b156bb | 62 | Netif_Config(); |
rahul_dahiya |
0:fb8047b156bb | 63 | |
rahul_dahiya |
0:fb8047b156bb | 64 | #ifdef USE_DHCP |
rahul_dahiya |
0:fb8047b156bb | 65 | /* Start DHCPClient */ |
rahul_dahiya |
0:fb8047b156bb | 66 | thread1.start(DHCP_thread); |
rahul_dahiya |
0:fb8047b156bb | 67 | #endif |
rahul_dahiya |
0:fb8047b156bb | 68 | |
rahul_dahiya |
0:fb8047b156bb | 69 | sys_thread_new("HTTP", http_server_netconn_thread, NULL, DEFAULT_THREAD_STACKSIZE, osPriorityAboveNormal); |
rahul_dahiya |
0:fb8047b156bb | 70 | |
rahul_dahiya |
0:fb8047b156bb | 71 | /* Notify user about the network interface config */ |
rahul_dahiya |
0:fb8047b156bb | 72 | User_notification(&gnetif); |
rahul_dahiya |
0:fb8047b156bb | 73 | |
rahul_dahiya |
0:fb8047b156bb | 74 | while (true) { |
rahul_dahiya |
0:fb8047b156bb | 75 | |
rahul_dahiya |
0:fb8047b156bb | 76 | |
rahul_dahiya |
0:fb8047b156bb | 77 | } |
rahul_dahiya |
0:fb8047b156bb | 78 | } |
rahul_dahiya |
0:fb8047b156bb | 79 | |
rahul_dahiya |
0:fb8047b156bb | 80 | |
rahul_dahiya |
0:fb8047b156bb | 81 | /** |
rahul_dahiya |
0:fb8047b156bb | 82 | * @brief Initializes the lwIP stack |
rahul_dahiya |
0:fb8047b156bb | 83 | * @param None |
rahul_dahiya |
0:fb8047b156bb | 84 | * @retval None |
rahul_dahiya |
0:fb8047b156bb | 85 | */ |
rahul_dahiya |
0:fb8047b156bb | 86 | static void Netif_Config(void) |
rahul_dahiya |
0:fb8047b156bb | 87 | { |
rahul_dahiya |
0:fb8047b156bb | 88 | ip_addr_t ipaddr; |
rahul_dahiya |
0:fb8047b156bb | 89 | ip_addr_t netmask; |
rahul_dahiya |
0:fb8047b156bb | 90 | ip_addr_t gw; |
rahul_dahiya |
0:fb8047b156bb | 91 | |
rahul_dahiya |
0:fb8047b156bb | 92 | #ifdef USE_DHCP |
rahul_dahiya |
0:fb8047b156bb | 93 | ip_addr_set_zero_ip4(&ipaddr); |
rahul_dahiya |
0:fb8047b156bb | 94 | ip_addr_set_zero_ip4(&netmask); |
rahul_dahiya |
0:fb8047b156bb | 95 | ip_addr_set_zero_ip4(&gw); |
rahul_dahiya |
0:fb8047b156bb | 96 | #else |
rahul_dahiya |
0:fb8047b156bb | 97 | IP_ADDR4(&ipaddr,IP_ADDR0,IP_ADDR1,IP_ADDR2,IP_ADDR3); |
rahul_dahiya |
0:fb8047b156bb | 98 | IP_ADDR4(&netmask,NETMASK_ADDR0,NETMASK_ADDR1,NETMASK_ADDR2,NETMASK_ADDR3); |
rahul_dahiya |
0:fb8047b156bb | 99 | IP_ADDR4(&gw,GW_ADDR0,GW_ADDR1,GW_ADDR2,GW_ADDR3); |
rahul_dahiya |
0:fb8047b156bb | 100 | #endif /* USE_DHCP */ |
rahul_dahiya |
0:fb8047b156bb | 101 | |
rahul_dahiya |
0:fb8047b156bb | 102 | /* add the network interface */ |
rahul_dahiya |
0:fb8047b156bb | 103 | netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, ð_arch_enetif_init, &tcpip_input); |
rahul_dahiya |
0:fb8047b156bb | 104 | |
rahul_dahiya |
0:fb8047b156bb | 105 | /* Registers the default network interface. */ |
rahul_dahiya |
0:fb8047b156bb | 106 | netif_set_default(&gnetif); |
rahul_dahiya |
0:fb8047b156bb | 107 | |
rahul_dahiya |
0:fb8047b156bb | 108 | if (netif_is_link_up(&gnetif)) |
rahul_dahiya |
0:fb8047b156bb | 109 | { |
rahul_dahiya |
0:fb8047b156bb | 110 | /* When the netif is fully configured this function must be called.*/ |
rahul_dahiya |
0:fb8047b156bb | 111 | netif_set_up(&gnetif); |
rahul_dahiya |
0:fb8047b156bb | 112 | printf("\n\rEth Configured\n\r"); |
rahul_dahiya |
0:fb8047b156bb | 113 | } |
rahul_dahiya |
0:fb8047b156bb | 114 | else |
rahul_dahiya |
0:fb8047b156bb | 115 | { |
rahul_dahiya |
0:fb8047b156bb | 116 | /* When the netif link is down this function must be called */ |
rahul_dahiya |
0:fb8047b156bb | 117 | netif_set_down(&gnetif); |
rahul_dahiya |
0:fb8047b156bb | 118 | printf("\n\rLink is down\n\r"); |
rahul_dahiya |
0:fb8047b156bb | 119 | } |
rahul_dahiya |
0:fb8047b156bb | 120 | |
rahul_dahiya |
0:fb8047b156bb | 121 | } |
rahul_dahiya |
0:fb8047b156bb | 122 | |
rahul_dahiya |
0:fb8047b156bb | 123 | |
rahul_dahiya |
0:fb8047b156bb | 124 | /** |
rahul_dahiya |
0:fb8047b156bb | 125 | * @brief Notify the User about the network interface config status |
rahul_dahiya |
0:fb8047b156bb | 126 | * @param netif: the network interface |
rahul_dahiya |
0:fb8047b156bb | 127 | * @retval None |
rahul_dahiya |
0:fb8047b156bb | 128 | */ |
rahul_dahiya |
0:fb8047b156bb | 129 | void User_notification(struct netif *netif) |
rahul_dahiya |
0:fb8047b156bb | 130 | { |
rahul_dahiya |
0:fb8047b156bb | 131 | if (netif_is_up(netif)) |
rahul_dahiya |
0:fb8047b156bb | 132 | { |
rahul_dahiya |
0:fb8047b156bb | 133 | #ifdef USE_DHCP |
rahul_dahiya |
0:fb8047b156bb | 134 | /* Update DHCP state machine */ |
rahul_dahiya |
0:fb8047b156bb | 135 | DHCP_state = DHCP_START; |
rahul_dahiya |
0:fb8047b156bb | 136 | #else |
rahul_dahiya |
0:fb8047b156bb | 137 | /* Turn On LED 1 to indicate ETH and LwIP init success*/ |
rahul_dahiya |
0:fb8047b156bb | 138 | led1 = 1; |
rahul_dahiya |
0:fb8047b156bb | 139 | #endif /* USE_DHCP */ |
rahul_dahiya |
0:fb8047b156bb | 140 | } |
rahul_dahiya |
0:fb8047b156bb | 141 | else |
rahul_dahiya |
0:fb8047b156bb | 142 | { |
rahul_dahiya |
0:fb8047b156bb | 143 | #ifdef USE_DHCP |
rahul_dahiya |
0:fb8047b156bb | 144 | /* Update DHCP state machine */ |
rahul_dahiya |
0:fb8047b156bb | 145 | DHCP_state = DHCP_LINK_DOWN; |
rahul_dahiya |
0:fb8047b156bb | 146 | #endif /* USE_DHCP */ |
rahul_dahiya |
0:fb8047b156bb | 147 | /* Turn On LED 3 to indicate ETH and LwIP init error */ |
rahul_dahiya |
0:fb8047b156bb | 148 | led3 = 1; |
rahul_dahiya |
0:fb8047b156bb | 149 | } |
rahul_dahiya |
0:fb8047b156bb | 150 | } |
rahul_dahiya |
0:fb8047b156bb | 151 | |
rahul_dahiya |
0:fb8047b156bb | 152 | |
rahul_dahiya |
0:fb8047b156bb | 153 | #ifdef USE_DHCP |
rahul_dahiya |
0:fb8047b156bb | 154 | /** |
rahul_dahiya |
0:fb8047b156bb | 155 | * @brief DHCP Process |
rahul_dahiya |
0:fb8047b156bb | 156 | * @param argument: network interface |
rahul_dahiya |
0:fb8047b156bb | 157 | * @retval None |
rahul_dahiya |
0:fb8047b156bb | 158 | */ |
rahul_dahiya |
0:fb8047b156bb | 159 | void DHCP_thread(void) |
rahul_dahiya |
0:fb8047b156bb | 160 | { |
rahul_dahiya |
0:fb8047b156bb | 161 | struct netif *netif = &gnetif; |
rahul_dahiya |
0:fb8047b156bb | 162 | ip_addr_t ipaddr; |
rahul_dahiya |
0:fb8047b156bb | 163 | ip_addr_t netmask; |
rahul_dahiya |
0:fb8047b156bb | 164 | ip_addr_t gw; |
rahul_dahiya |
0:fb8047b156bb | 165 | struct dhcp *dhcp; |
rahul_dahiya |
0:fb8047b156bb | 166 | |
rahul_dahiya |
0:fb8047b156bb | 167 | for (;;) |
rahul_dahiya |
0:fb8047b156bb | 168 | { |
rahul_dahiya |
0:fb8047b156bb | 169 | switch (DHCP_state) |
rahul_dahiya |
0:fb8047b156bb | 170 | { |
rahul_dahiya |
0:fb8047b156bb | 171 | case DHCP_START: |
rahul_dahiya |
0:fb8047b156bb | 172 | { |
rahul_dahiya |
0:fb8047b156bb | 173 | ip_addr_set_zero_ip4(&netif->ip_addr); |
rahul_dahiya |
0:fb8047b156bb | 174 | ip_addr_set_zero_ip4(&netif->netmask); |
rahul_dahiya |
0:fb8047b156bb | 175 | ip_addr_set_zero_ip4(&netif->gw); |
rahul_dahiya |
0:fb8047b156bb | 176 | dhcp_start(netif); |
rahul_dahiya |
0:fb8047b156bb | 177 | DHCP_state = DHCP_WAIT_ADDRESS; |
rahul_dahiya |
0:fb8047b156bb | 178 | } |
rahul_dahiya |
0:fb8047b156bb | 179 | break; |
rahul_dahiya |
0:fb8047b156bb | 180 | |
rahul_dahiya |
0:fb8047b156bb | 181 | case DHCP_WAIT_ADDRESS: |
rahul_dahiya |
0:fb8047b156bb | 182 | { |
rahul_dahiya |
0:fb8047b156bb | 183 | if (dhcp_supplied_address(netif)) |
rahul_dahiya |
0:fb8047b156bb | 184 | { |
rahul_dahiya |
0:fb8047b156bb | 185 | DHCP_state = DHCP_ADDRESS_ASSIGNED; |
rahul_dahiya |
0:fb8047b156bb | 186 | |
rahul_dahiya |
0:fb8047b156bb | 187 | led3 = 0; |
rahul_dahiya |
0:fb8047b156bb | 188 | led1 = 1; |
rahul_dahiya |
0:fb8047b156bb | 189 | |
rahul_dahiya |
0:fb8047b156bb | 190 | printf("\n\rSTM32 IP: %d.%d.%d.%d\n\r",(((const u8_t*)(&(ipaddr).addr))[0]),(((const u8_t*)(&(ipaddr).addr))[1]), |
rahul_dahiya |
0:fb8047b156bb | 191 | (((const u8_t*)(&(ipaddr).addr))[2]),(((const u8_t*)(&(ipaddr).addr))[3])); |
rahul_dahiya |
0:fb8047b156bb | 192 | } |
rahul_dahiya |
0:fb8047b156bb | 193 | else |
rahul_dahiya |
0:fb8047b156bb | 194 | { |
rahul_dahiya |
0:fb8047b156bb | 195 | dhcp = (struct dhcp *)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_DHCP); |
rahul_dahiya |
0:fb8047b156bb | 196 | |
rahul_dahiya |
0:fb8047b156bb | 197 | /* DHCP timeout */ |
rahul_dahiya |
0:fb8047b156bb | 198 | if (dhcp->tries > MAX_DHCP_TRIES) |
rahul_dahiya |
0:fb8047b156bb | 199 | { |
rahul_dahiya |
0:fb8047b156bb | 200 | DHCP_state = DHCP_TIMEOUT_APP; |
rahul_dahiya |
0:fb8047b156bb | 201 | |
rahul_dahiya |
0:fb8047b156bb | 202 | /* Stop DHCP */ |
rahul_dahiya |
0:fb8047b156bb | 203 | dhcp_stop(netif); |
rahul_dahiya |
0:fb8047b156bb | 204 | |
rahul_dahiya |
0:fb8047b156bb | 205 | /* Static address used */ |
rahul_dahiya |
0:fb8047b156bb | 206 | IP_ADDR4(&ipaddr, IP_ADDR0 ,IP_ADDR1 , IP_ADDR2 , IP_ADDR3 ); |
rahul_dahiya |
0:fb8047b156bb | 207 | IP_ADDR4(&netmask, NETMASK_ADDR0, NETMASK_ADDR1, NETMASK_ADDR2, NETMASK_ADDR3); |
rahul_dahiya |
0:fb8047b156bb | 208 | IP_ADDR4(&gw, GW_ADDR0, GW_ADDR1, GW_ADDR2, GW_ADDR3); |
rahul_dahiya |
0:fb8047b156bb | 209 | netif_set_addr(netif, ip_2_ip4(&ipaddr), ip_2_ip4(&netmask), ip_2_ip4(&gw)); |
rahul_dahiya |
0:fb8047b156bb | 210 | |
rahul_dahiya |
0:fb8047b156bb | 211 | led3 = 0; |
rahul_dahiya |
0:fb8047b156bb | 212 | led1 = 1; |
rahul_dahiya |
0:fb8047b156bb | 213 | } |
rahul_dahiya |
0:fb8047b156bb | 214 | else |
rahul_dahiya |
0:fb8047b156bb | 215 | { |
rahul_dahiya |
0:fb8047b156bb | 216 | led3 = 1; |
rahul_dahiya |
0:fb8047b156bb | 217 | } |
rahul_dahiya |
0:fb8047b156bb | 218 | } |
rahul_dahiya |
0:fb8047b156bb | 219 | } |
rahul_dahiya |
0:fb8047b156bb | 220 | break; |
rahul_dahiya |
0:fb8047b156bb | 221 | |
rahul_dahiya |
0:fb8047b156bb | 222 | case DHCP_LINK_DOWN: |
rahul_dahiya |
0:fb8047b156bb | 223 | { |
rahul_dahiya |
0:fb8047b156bb | 224 | /* Stop DHCP */ |
rahul_dahiya |
0:fb8047b156bb | 225 | dhcp_stop(netif); |
rahul_dahiya |
0:fb8047b156bb | 226 | DHCP_state = DHCP_OFF; |
rahul_dahiya |
0:fb8047b156bb | 227 | } |
rahul_dahiya |
0:fb8047b156bb | 228 | break; |
rahul_dahiya |
0:fb8047b156bb | 229 | |
rahul_dahiya |
0:fb8047b156bb | 230 | default: break; |
rahul_dahiya |
0:fb8047b156bb | 231 | |
rahul_dahiya |
0:fb8047b156bb | 232 | } |
rahul_dahiya |
0:fb8047b156bb | 233 | |
rahul_dahiya |
0:fb8047b156bb | 234 | /* wait 250 ms */ |
rahul_dahiya |
0:fb8047b156bb | 235 | wait_ms(250); |
rahul_dahiya |
0:fb8047b156bb | 236 | } |
rahul_dahiya |
0:fb8047b156bb | 237 | } |
rahul_dahiya |
0:fb8047b156bb | 238 | #endif /* USE_DHCP */ |
rahul_dahiya |
0:fb8047b156bb | 239 | |
rahul_dahiya |
0:fb8047b156bb | 240 | |
rahul_dahiya |
0:fb8047b156bb | 241 | /** |
rahul_dahiya |
0:fb8047b156bb | 242 | * @brief Notify the User about the network interface config status |
rahul_dahiya |
0:fb8047b156bb | 243 | * @param netif: the network interface |
rahul_dahiya |
0:fb8047b156bb | 244 | * @retval None |
rahul_dahiya |
0:fb8047b156bb | 245 | */ |
rahul_dahiya |
0:fb8047b156bb | 246 | static void http_server_netconn_thread(void *arg) |
rahul_dahiya |
0:fb8047b156bb | 247 | { |
rahul_dahiya |
0:fb8047b156bb | 248 | struct netconn *conn, *newconn; |
rahul_dahiya |
0:fb8047b156bb | 249 | err_t err, accept_err; |
rahul_dahiya |
0:fb8047b156bb | 250 | |
rahul_dahiya |
0:fb8047b156bb | 251 | /* Create a new TCP connection handle */ |
rahul_dahiya |
0:fb8047b156bb | 252 | conn = netconn_new(NETCONN_TCP); |
rahul_dahiya |
0:fb8047b156bb | 253 | |
rahul_dahiya |
0:fb8047b156bb | 254 | if (conn!= NULL) |
rahul_dahiya |
0:fb8047b156bb | 255 | { |
rahul_dahiya |
0:fb8047b156bb | 256 | /* Bind to port 80 (HTTP) with default IP address */ |
rahul_dahiya |
0:fb8047b156bb | 257 | err = netconn_bind(conn, NULL, 80); |
rahul_dahiya |
0:fb8047b156bb | 258 | |
rahul_dahiya |
0:fb8047b156bb | 259 | if (err == ERR_OK) |
rahul_dahiya |
0:fb8047b156bb | 260 | { |
rahul_dahiya |
0:fb8047b156bb | 261 | /* Put the connection into LISTEN state */ |
rahul_dahiya |
0:fb8047b156bb | 262 | netconn_listen(conn); |
rahul_dahiya |
0:fb8047b156bb | 263 | |
rahul_dahiya |
0:fb8047b156bb | 264 | while(1) |
rahul_dahiya |
0:fb8047b156bb | 265 | { |
rahul_dahiya |
0:fb8047b156bb | 266 | /* accept any icoming connection */ |
rahul_dahiya |
0:fb8047b156bb | 267 | accept_err = netconn_accept(conn, &newconn); |
rahul_dahiya |
0:fb8047b156bb | 268 | if(accept_err == ERR_OK) |
rahul_dahiya |
0:fb8047b156bb | 269 | { |
rahul_dahiya |
0:fb8047b156bb | 270 | /* serve connection */ |
rahul_dahiya |
0:fb8047b156bb | 271 | // Write your code here |
rahul_dahiya |
0:fb8047b156bb | 272 | printf("\n\rNew HTTP Connection"); |
rahul_dahiya |
0:fb8047b156bb | 273 | |
rahul_dahiya |
0:fb8047b156bb | 274 | /* delete connection */ |
rahul_dahiya |
0:fb8047b156bb | 275 | netconn_delete(newconn); |
rahul_dahiya |
0:fb8047b156bb | 276 | } |
rahul_dahiya |
0:fb8047b156bb | 277 | } |
rahul_dahiya |
0:fb8047b156bb | 278 | } |
rahul_dahiya |
0:fb8047b156bb | 279 | } |
rahul_dahiya |
0:fb8047b156bb | 280 | } |