ESP8266 Developer Zone The Official ESP8266 Forum 2021-11-24T23:07:06+08:00 https://bbs.espressif.com:443/feed.php?f=65&t=75251 2021-11-24T23:07:06+08:00 2021-11-24T23:07:06+08:00 https://bbs.espressif.com:443/viewtopic.php?t=75251&p=100389#p100389 <![CDATA[Re: Connection to Access Point.]]> Statistics: Posted by jenya7 — Wed Nov 24, 2021 11:07 pm


]]>
2021-11-22T17:30:18+08:00 2021-11-22T17:30:18+08:00 https://bbs.espressif.com:443/viewtopic.php?t=75251&p=100381#p100381 <![CDATA[Re: Connection to Access Point.]]> https://github.com/espressif/ESP8266_RT ... ng_started

Statistics: Posted by Her Mary — Mon Nov 22, 2021 5:30 pm


]]>
2021-11-10T14:54:29+08:00 2021-11-10T14:54:29+08:00 https://bbs.espressif.com:443/viewtopic.php?t=75251&p=100354#p100354 <![CDATA[Connection to Access Point.]]>

Code:

uint8_t UDP_Start(char* ssid, char* pass, uint16_t loc_port)
{
    uint32_t timeout = 0;

    if (WiFi.status() != WL_CONNECTED)
    {
        rt_parameters.wifi_mode = WIFI_STA;
       
        WiFi.mode(WIFI_STA);
        WiFi.begin(ssid, pass);

        if (sys_parameters.debug)
            Serial.println("Waiting for connection");
           
        while (WiFi.status() != WL_CONNECTED)
        {
            delay(DELAY_TICK);
           
            if (sys_parameters.debug)
                Serial.print('.');
           
            timeout++;
            if (timeout >= sys_parameters.ap_con_timeout)
            {
              if (sys_parameters.debug)
                Serial.println();
               
                return UDP_WIFI_ERR;
            }
        }
        Serial.print("\nConnection time (ms) ");
        Serial.println(DELAY_TICK * timeout);
    }
   
    rt_parameters.wifi_status = WiFi.status();
   
    IPAddress ip_addr = WiFi.localIP();

    memcpy(sys_parameters.loc_ip, ip_addr, 4);
   
    if (sys_parameters.debug)
    {
        Serial.print("Connected! IP address: ");
        Serial.println(ip_addr);
        Serial.printf("UDP server on port %d\n", loc_port);
    }
   
    if (udp.begin(loc_port) == 0)
        return UDP_CONNECT_ERR;

    return UDP_OK;
}


Sometimes it takes a reasonable amount of time - 6-10 seconds. Sometimes it takes 30-60 seconds. Sometimes it gets out on timeout with status
WL_CONNECT_FAILED
WL_NO_SSID_AVAIL
When it's WL_NO_SSID_AVAIL I do WiFi.scanNetworks() and see my Access Point.

How can I improve the situation?

Statistics: Posted by jenya7 — Wed Nov 10, 2021 2:54 pm


]]>