Code:
#include "esp_sdk_ver.h"
struct station_config stationConfig;
SpiFlashOpResult ReadResult = spi_flash_read(WifiMemorySpace,(uint32 *)&FlashStationConf,sizeof(FlashStationConf));
if (ReadResult == SPI_FLASH_RESULT_OK)
{
os_printf("[%s][%s][%d] - WifiMemorySpace@0x%x read SUCCESS %s - %s - %d\r\n", __FILE__ ,__func__, __LINE__, WifiMemorySpace, FlashStationConf.ssid, FlashStationConf.password, FlashStationConf.programmed);
}
else if(ReadResult == SPI_FLASH_RESULT_ERR)
{
os_printf("[%s][%s][%d] - SPI_FLASH_RESULT_ERR", __FILE__ ,__func__, __LINE__);
}
else if(ReadResult == SPI_FLASH_RESULT_TIMEOUT)
{
os_printf("[%s][%s][%d] - SPI_FLASH_RESULT_TIMEOUT", __FILE__ ,__func__, __LINE__);
}
FlashStationConf.ssid[31]=0; //Sets null terminators
FlashStationConf.password[63]=0; //Sets null terminiators
if(FlashStationConf.programmed==1)
{
#if ESP_SDK_VERSION >= 020200
os_printf("[%s][%s][%d] - Saved WifiStation Information Found > 2.2.0!!\r\n\tssid: \"%s\"\n\tpw: \"%s\"\r\n)", __FILE__ ,__func__, __LINE__, FlashStationConf.ssid, FlashStationConf.password);
stationConfig.threshold.authmode = AUTH_WPA_WPA2_PSK; //This is requied or it will not connect to any AP
stationConfig.threshold.rssi = 84;
#else
os_printf("[%s][%s][%d] - Saved WifiStation Information Found!!\r\n\tssid: \"%s\"\n\tpw: \"%s\"\r\n", __FILE__ ,__func__, __LINE__, FlashStationConf.ssid, FlashStationConf.password);
//os_printf("Curent Config (Station - %s, Password - %s)\n\r", current_config.ssid, current_config.password);
#endif
//os_printf("SizeOf(FlashStationConf) = %d\r\n", sizeof(FlashStationConf))
stationConfig.bssid_set = 0;
//stationConfig.channel = 0; //no such thing, use wifi_set_channel()
os_memcpy(&stationConfig.ssid, FlashStationConf.ssid, 32);
os_memcpy(&stationConfig.password, FlashStationConf.password, 64);
//This was added recently for faster connections, not sure if this is a good thing yet
//os_memcpy(&stationConfig.Channel, FlashStationConf.channel, 1);
//os_memcpy(&stationConfig.ssid_hidden, FlashStationConf.ssid_hidden, 1);
//os_memcpy(&stationConfig.max_connection, FlashStationConf.max_connection, 1);
//os_memcpy(&stationConfig.beacon_interval, FlashStationConf.beacon_interval, 2);
//wifi_station_set_config(&stationConfig);
wifi_station_set_config_current(&stationConfig);
if (wifi_station_connect())
{
os_printf("[%s][%s][%d] - Attempting to connect to station, starting IP Timer\r\n", __FILE__ ,__func__, __LINE__);
os_timer_disarm(&network_check_ip_timer); //Timer must be disarmed or may cause a crash. This timer may have been used before being used again
os_timer_setfn(&network_check_ip_timer, (os_timer_func_t *)network_check_ip, NULL);
os_timer_arm(&network_check_ip_timer, 10000, 0);
/*if (myConnectToStronestWifiCallback != NULL)
{
myConnectToStronestWifiCallback(); //Need to check if a ValidIP is ready before doing this.
}
*/
}
else
{
os_printf("[%s][%s][%d] - Station failed to connect to an open wifi\r\n", __FILE__ ,__func__, __LINE__);
}
Statistics: Posted by AgentSmithers — Tue Feb 18, 2020 6:51 am
Statistics: Posted by AgentSmithers — Fri Feb 14, 2020 1:23 am
Statistics: Posted by AgentSmithers — Sun Feb 09, 2020 5:03 am