Товарищи, сломал себе всю голову.
ESP-12F, SDK: "ESP8266_NONOS_SDK_V2.0.0_16_07_19"
В режиме станции не передает UDP пакеты, но получает - исправно.
В режиме точки и передает и получает UDP пакеты хорошо.
Что же это за мистика ?
так инициализируется в режиме STA
так инициализируется в режиме AP
так отправляет UDP
Причем статус отправки везде УСПЕШНО. и net_udp_fin вызывается.
... Замечено, что пробивается один-два пакета за очень долгий промежуток времени ...
ESP-12F, SDK: "ESP8266_NONOS_SDK_V2.0.0_16_07_19"
В режиме станции не передает UDP пакеты, но получает - исправно.
В режиме точки и передает и получает UDP пакеты хорошо.
Что же это за мистика ?
так инициализируется в режиме STA
Код:
wifi_set_opmode(STATION_MODE);
wifi_station_disconnect();
wifi_station_set_config(&sta_config);
wifi_station_set_auto_connect(true);
wifi_station_connect();
wifi_softap_dhcps_stop();
wifi_station_dhcpc_stop();
wifi_set_ip_info(STATION_IF, &ip_info);
wifi_station_dhcpc_start();
Код:
wifi_set_opmode(SOFTAP_MODE);
wifi_softap_set_config(&ap_config);
wifi_station_dhcpc_stop();
wifi_softap_dhcps_stop();
wifi_set_ip_info(SOFTAP_IF, &ip_info);
wifi_softap_dhcps_start();
так отправляет UDP
Код:
int net_sendto (uint16_t port, struct ipaddr *ip, char *pdata, int len)
{
int err = 0;
struct espconn udp_conn;
esp_udp udp;
memset(&udp_conn, 0, sizeof(struct espconn));
memset(&udp, 0, sizeof(esp_udp));
udp_conn.proto.udp = &udp;
udp_conn.type = ESPCONN_UDP;
udp_conn.state = ESPCONN_NONE;
memcpy(udp_conn.proto.udp->local_ip, get_ip(), 4);
udp_conn.proto.udp->local_port = espconn_port();
memcpy(udp_conn.proto.udp->remote_ip, ip, 4);
udp_conn.proto.udp->remote_port = port;
udp_conn.reverse = NULL;
if ((err = espconn_regist_sentcb(&udp_conn, net_udp_fin))) {
DBG_PRINT(("** net_sendto: regist_sentcb error %d\r\n", err));
return -1;
}
int status = 0;
status = espconn_create(&udp_conn);
if (status) {
DBG_PRINT(("espconn_create: %d\r\n", status));
}
status = espconn_sendto(&udp_conn, pdata, len);
if (status) {
DBG_PRINT(("espconn_sent: %d\r\n", status));
}
return 0;
}
... Замечено, что пробивается один-два пакета за очень долгий промежуток времени ...
Последнее редактирование: