Statistics: Posted by ESP_Rubin — Fri Jul 01, 2016 10:05 am
Code:
LOCAL void user_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
{
struct espconn *pespconn = (struct espconn *)arg;
if (ipaddr == NULL)
{
printf("user_esp_platform_dns_found NULL\r\n");
if (++device_recon_count == 5)
{
device_status = DEVICE_CONNECT_SERVER_FAIL;
user_reset_mode();
}
return;
}
printf("user_dns_found() %d.%d.%d.%d\n",
*((uint8 *)&ipaddr->addr), *((uint8 *)&ipaddr->addr + 1),
*((uint8 *)&ipaddr->addr + 2), *((uint8 *)&ipaddr->addr + 3));
if (esp_server_ip.addr == 0 && ipaddr->addr != 0)
{
esp_server_ip.addr = ipaddr->addr;
memcpy(pespconn->proto.tcp->remote_ip, &ipaddr->addr, 4);
pespconn->proto.tcp->local_port = espconn_port();
pespconn->proto.tcp->remote_port = 8091;
printf("remote port: %d\n",pespconn->proto.tcp->remote_port);
espconn_regist_connectcb(pespconn, user_connect_cb);
espconn_regist_disconcb(pespconn, user_discon_cb);
espconn_regist_reconcb(pespconn, user_recon_cb);
user_connect(pespconn);
}
}
Code:
LOCAL void user_connect_cb(void *arg)
{
struct espconn *pespconn = arg;
printf("user_connect_cb\r\n");
if (wifi_get_opmode() == STATIONAP_MODE )
{
wifi_set_opmode(STATION_MODE);
}
device_recon_count = 0;
espconn_regist_recvcb(pespconn, user_recv_cb);
espconn_regist_sentcb(pespconn, user_sent_cb);
user_sent_register_id(pespconn);
}
Code:
LOCAL void user_recon_cb(void *arg, sint8 err)
{
struct espconn *pespconn = (struct espconn *)arg;
printf("user_recon_cb\r\n");
if (++device_recon_count == 5)
{
device_status = DEVICE_CONNECT_SERVER_FAIL;
user_reset_mode();
}
xTaskCreate(user_recon_task, "user_recon_task", 256, pespconn, 2, NULL);
}
Code:
LOCAL void user_recon_task(void *arg)
{
struct espconn *pespconn = arg;
while(1)
{
vTaskDelay( 1000 / portTICK_RATE_MS );
printf("user_recon_task()\r\n");
user_reconnect(pespconn);
if(user_conn.state == ESPCONN_CONNECT)//Èç¹ûÁ¬½Ó³É¹¦ÔòÌø³ö
{
break;
}
}
vTaskDelete(NULL);
}
Statistics: Posted by dearwind153 — Wed Apr 13, 2016 12:41 am