void user_init(void) { // Configure the UART uart_init(BIT_RATE_115200,0); // Enable system messages system_set_os_print(1); os_printf("\r\nSDK version: %s\n", system_get_sdk_version()); os_printf("System init...\r\n"); os_printf("ESP8266 is %s mode, restarting in %s mode...\r\n", WiFiMode[wifi_get_opmode()], WiFiMode[STATION_MODE]); setup_wifi_st_mode(); if(wifi_get_phy_mode() != PHY_MODE_11N) wifi_set_phy_mode(PHY_MODE_11N); if(wifi_station_get_auto_connect() == 0) wifi_station_set_auto_connect(1); // Init DHT22 sensor DHTInit(DHT22); // Wait for Wi-Fi connection os_timer_disarm(&WiFiLinker); os_timer_setfn(&WiFiLinker, (os_timer_func_t *)wifi_check_ip, NULL); os_timer_arm(&WiFiLinker, 1000, 0); // Set up a timer to send the message os_timer_disarm(&dht22_timer); os_timer_setfn(&dht22_timer, (os_timer_func_t *)dht22_cb, (void *)0); os_timer_arm(&dht22_timer, DATA_SEND_DELAY, 1); os_printf("System init done.\n"); }
void ICACHE_FLASH_ATTR wifiInit(int wifiMode) { INFO("\r===== WiFi Init =====\r"); wifi_set_opmode(0); // Clear all modes INFO("\r\nSetting WiFI\r\n"); if(wifiMode & SOFTAP_MODE) { INFO("\rSetting SOFTAP Mode\r\n"); setup_wifi_ap_mode(); INFO("Done\r\n"); } if(wifiMode & STATION_MODE) { INFO("\rSetting Station Mode \r\n"); setup_wifi_st_mode(); INFO("Done\r\n"); } if(wifi_get_phy_mode() != PHY_MODE_11N) wifi_set_phy_mode(PHY_MODE_11N); if(wifi_station_get_auto_connect() == 0) wifi_station_set_auto_connect(1); INFO("Wi-Fi mode: %s\r\n", WiFiMode[wifi_get_opmode()]); if(wifiMode & SOFTAP_MODE) { struct softap_config apConfig; if(wifi_softap_get_config(&apConfig)) { INFO("AP config: SSID: %s, PASSWORD: %s\r\n", apConfig.ssid, apConfig.password); } } if(wifiMode & STATION_MODE) { struct station_config stationConfig; if(wifi_station_get_config(&stationConfig)) { INFO("STA config: SSID: %s, PASSWORD: %s\r\n", stationConfig.ssid, stationConfig.password); } } }
void ESP8266WiFiClass::printDiag(Print& p) { const char* modes[] = {"NULL", "STA", "AP", "STA+AP"}; p.print("Mode: "); p.println(modes[wifi_get_opmode()]); const char* phymodes[] = {"", "B", "G", "N"}; p.print("PHY mode: "); p.println(phymodes[(int) wifi_get_phy_mode()]); p.print("Channel: "); p.println(wifi_get_channel()); p.print("AP id: "); p.println(wifi_station_get_current_ap_id()); p.print("Status: "); p.println(wifi_station_get_connect_status()); p.print("Auto connect: "); p.println(wifi_station_get_auto_connect()); static struct station_config conf; wifi_station_get_config(&conf); const char* ssid = reinterpret_cast<const char*>(conf.ssid); p.print("SSID ("); p.print(strlen(ssid)); p.print("): "); p.println(ssid); const char* passphrase = reinterpret_cast<const char*>(conf.password); p.print("Passphrase ("); p.print(strlen(passphrase)); p.print("): "); p.println(passphrase); p.print("BSSID set: "); p.println(conf.bssid_set); }
void ICACHE_FLASH_ATTR wifiInit() { //if(wifi_get_opmode() != USE_WIFI_MODE) { #ifdef PLATFORM_DEBUG os_printf("ESP8266 not in %s mode, restarting in %s mode...\r\n", WiFiMode[USE_WIFI_MODE], WiFiMode[USE_WIFI_MODE]); #endif if(USE_WIFI_MODE & SOFTAP_MODE) setup_wifi_ap_mode(); if(USE_WIFI_MODE & STATION_MODE) setup_wifi_st_mode(); } if(wifi_get_phy_mode() != PHY_MODE_11N) wifi_set_phy_mode(PHY_MODE_11N); if(wifi_station_get_auto_connect() == 0) wifi_station_set_auto_connect(1); #ifdef PLATFORM_DEBUG os_printf("Wi-Fi mode: %s\r\n", WiFiMode[wifi_get_opmode()]); if(USE_WIFI_MODE & SOFTAP_MODE) { struct softap_config apConfig; if(wifi_softap_get_config(&apConfig)) { os_printf("AP config: SSID: %s, PASSWORD: %s\r\n", apConfig.ssid, apConfig.password); } } if(USE_WIFI_MODE & STATION_MODE) { struct station_config stationConfig; if(wifi_station_get_config(&stationConfig)) { os_printf("STA config: SSID: %s, PASSWORD: %s\r\n", stationConfig.ssid, stationConfig.password); } } #endif }
void user_init(void) { // Configure the UART uart_init(BIT_RATE_115200, BIT_RATE_115200); // Enable system messages system_set_os_print(1); DHT22_DEBUG("\n==== System info: ====\n"); DHT22_DEBUG("SDK version:%s rom %d\n", system_get_sdk_version(), system_upgrade_userbin_check()); DHT22_DEBUG("Time = %ld\n", system_get_time()); DHT22_DEBUG("Chip id = 0x%x\n", system_get_chip_id()); DHT22_DEBUG("CPU freq = %d MHz\n", system_get_cpu_freq()); DHT22_DEBUG("Flash size map = %s\n", FlashSizeMap[system_get_flash_size_map()]); DHT22_DEBUG("Free heap size = %d\n", system_get_free_heap_size()); DHT22_DEBUG("==== End System info ====\n"); os_delay_us(10000); DHT22_DEBUG("System init...\r\n"); if(wifi_get_opmode() != STATION_MODE) { DHT22_DEBUG("ESP8266 is %s mode, restarting in %s mode...\r\n", WiFiMode[wifi_get_opmode()], WiFiMode[STATION_MODE]); setup_wifi_st_mode(); } if(wifi_get_phy_mode() != PHY_MODE_11N) wifi_set_phy_mode(PHY_MODE_11N); if(wifi_station_get_auto_connect() == 0) wifi_station_set_auto_connect(1); // Wait for Wi-Fi connection os_timer_disarm(&WiFiLinker); os_timer_setfn(&WiFiLinker, (os_timer_func_t *)wifi_check_ip, NULL); os_timer_arm(&WiFiLinker, WIFI_CHECK_DELAY, 0); UDP_Init(); DHT22_DEBUG("System init done.\n"); }
/** * Checks if ESP8266 station mode will connect to AP * automatically or not when it is powered on. * @return auto connect */ bool ESP8266WiFiSTAClass::getAutoConnect() { return (wifi_station_get_auto_connect() != 0); }
/****************************************************************************** * FunctionName : udp_test_port_recv * Returns : none *******************************************************************************/ LOCAL void ICACHE_FLASH_ATTR udp_test_port_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p, ip_addr_t *addr, u16_t port) { uint8 usrdata[32]; if (p == NULL) return; if(p->tot_len < 2) { pbuf_free(p); return; } uint16 length = mMIN(p->tot_len, sizeof(usrdata)-1); #if DEBUGSOO > 0 os_printf("udp " IPSTR ":%u [%d]\n", IP2STR(addr), port, p->tot_len); #endif length = pbuf_copy_partial(p, usrdata, length, 0); pbuf_free(p); uint8 *pudpbuf = (uint8 *)os_zalloc(udpbufsize+1); if(pudpbuf == NULL) return; uint16 udpbuflen = 0; int x = 0; if(length>2) x = atoi((char *)&usrdata[2]); if ((length>1)&&(usrdata[1]=='?')) switch(usrdata[0]) { case 'M': system_print_meminfo(); case 'A': { udp_puts("\nChip_id: %08x Flash_id: %08x\nsys_time:%08x ADC:%d\n", system_get_chip_id(), spi_flash_get_id(), system_get_time(), system_adc_read()); struct softap_config wiconfig; wifi_softap_get_config(&wiconfig); udp_puts("OPMode:%u SSID:'%s' Pwd:'%s' Ch:%u Authmode:%u MaxCon:%u Phu:%u ACon:%u\n", wifi_get_opmode(), wiconfig.ssid, wiconfig.password, wiconfig.channel, wiconfig.authmode, wiconfig.max_connection, wifi_get_phy_mode(), wifi_station_get_auto_connect()); udp_puts("Connect status:%u\n", wifi_station_get_connect_status()); }; case 'I': udp_puts("heapsize: %d\n", system_get_free_heap_size() + udpbufsize); udpbuflen += print_udp_psc(pudpbuf+udpbuflen, udpbufsize-udpbuflen); udpbuflen += print_tcp_psc(pudpbuf+udpbuflen, udpbufsize-udpbuflen); udpbuflen += chow_tcp_connection_info(pudpbuf+udpbuflen, udpbufsize-udpbuflen); break; case 'H': udp_puts("heapsize: %d\n", system_get_free_heap_size() + udpbufsize); break; case 'U': udp_puts("heapsize: %d\n", system_get_free_heap_size() + udpbufsize); udpbuflen += print_udp_psc(pudpbuf+udpbuflen, udpbufsize-udpbuflen); break; case 'T': udp_puts("heapsize: %d\n", system_get_free_heap_size() + udpbufsize); udpbuflen += print_tcp_psc(pudpbuf+udpbuflen, udpbufsize-udpbuflen); break; #ifdef USE_SRV_WEB_PORT case 'S': udp_puts("heapsize: %d\n", system_get_free_heap_size() + udpbufsize); udpbuflen += chow_tcp_connection_info(pudpbuf+udpbuflen, udpbufsize-udpbuflen); break; #endif case 'R': system_restart(); break; case 'P': udp_puts("system_set_os_print(%u)\n", x); system_set_os_print(x); break; case 'O': udp_puts("wifi_set_opmode(%u):%u\n", x, wifi_set_opmode(x)); break; case 'B': udp_puts("wifi_station_set_auto_connect(%u):%u\n", x, wifi_station_set_auto_connect(x)); break; case 'D': switch(x) { case 0: udp_puts("wifi_station_dhcpc_start:%u\n", wifi_station_dhcpc_start()); break; case 1: udp_puts("wifi_station_dhcpc_stop:%u\n", wifi_station_dhcpc_stop()); break; case 2: udp_puts("wifi_softap_dhcps_start:%u\n",wifi_softap_dhcps_start()); break; case 3: udp_puts("wifi_softap_dhcps_stop:%u\n", wifi_softap_dhcps_stop()); break; default: udp_puts("D(%u)?\n", x); } break; case 'F': if(flashchip != NULL) { udp_puts("FlashID: 0x%08x\nChip size: %d\nBlock size: %d\nSector size: %d\nPage size: %d\nStatus mask: 0x%08x\n", flashchip->deviceId, flashchip->chip_size, flashchip->block_size, flashchip->sector_size, flashchip->page_size, flashchip->status_mask ); udp_puts("Real Flash size: %u\n", spi_flash_real_size()); } else udp_puts("Unknown Flash type!\n"); break; case 'E': udp_puts("wifi_set_sleep_type(%d):%u\n", x, wifi_set_sleep_type(x)); break; case 'G': udp_puts("g_ic = %p\n", &g_ic); break; default: udp_puts("???\n"); } if(udpbuflen) { struct pbuf *z = pbuf_alloc(PBUF_TRANSPORT, udpbuflen, PBUF_RAM); if(z != NULL) { err_t err = pbuf_take(z, pudpbuf, udpbuflen); os_free(pudpbuf); if(err == ERR_OK) { udp_sendto(upcb, z, addr, port); } pbuf_free(z); return; } } os_free(pudpbuf); }
/*JSON{ "type" : "staticmethod", "class" : "ESP8266WiFi", "name" : "getAutoConnect", "generate" : "jswrap_ESP8266WiFi_getAutoConnect", "return" : ["JsVar","A boolean representing our auto connect status"] }*/ JsVar *jswrap_ESP8266WiFi_getAutoConnect() { uint8 result = wifi_station_get_auto_connect(); return jsvNewFromBool(result); }
void user_init(void) { uint8_t i; UartDev.data_bits = EIGHT_BITS; UartDev.parity = NONE_BITS; UartDev.stop_bits = ONE_STOP_BIT; uart_init(BIT_RATE_9600, BIT_RATE_9600); i2c_init(); SSD1306Init(); clearScreen(); stringDraw(1, 1, "SDK ver:"); stringDraw(1, 48, (char*)system_get_sdk_version()); ets_uart_printf("reset reason: %d\n", reset_info->reason); ets_uart_printf("Booting...\n"); ets_uart_printf("SDK version:%s\n", system_get_sdk_version()); setup_wifi_st_mode(); if(wifi_get_phy_mode() != PHY_MODE_11N) wifi_set_phy_mode(PHY_MODE_11N); if(wifi_station_get_auto_connect() == 0) wifi_station_set_auto_connect(1); #ifdef CONFIG_DYNAMIC flash_param_t *flash_param; flash_param_init(); flash_param = flash_param_get(); UartDev.data_bits = GETUART_DATABITS(flash_param->uartconf0); UartDev.parity = GETUART_PARITYMODE(flash_param->uartconf0); UartDev.stop_bits = GETUART_STOPBITS(flash_param->uartconf0); uart_init(flash_param->baud, BIT_RATE_115200); #else #endif ets_uart_printf("size flash_param_t %d\n", sizeof(flash_param_t)); #ifdef CONFIG_GPIO config_gpio(); #endif // os_timer_disarm(&timer_1); // os_timer_setfn(&timer_1, (os_timer_func_t *)timer_1_int, NULL); // os_timer_arm(&timer_1, 1000, 1); // Wait for Wi-Fi connection os_timer_disarm(&WiFiLinker); os_timer_setfn(&WiFiLinker, (os_timer_func_t *)wifi_check_ip, NULL); os_timer_arm(&WiFiLinker, 1000, 0); system_os_task(recvTask, recvTaskPrio, recvTaskQueue, recvTaskQueueLen); }
void ICACHE_FLASH_ATTR user_sta_get_auto_connect(void) { os_printf("STA autoconnect: %d \n", wifi_station_get_auto_connect()); }