diff --git a/cores/esp8266/libc_replacements.c b/cores/esp8266/libc_replacements.c index 21b451346..98f47e7aa 100644 --- a/cores/esp8266/libc_replacements.c +++ b/cores/esp8266/libc_replacements.c @@ -160,9 +160,6 @@ char* ICACHE_FLASH_ATTR strncat(char * dest, const char * src, size_t n) { return dest; } -char* ICACHE_FLASH_ATTR strtok(char * str, const char * delimiters) { - return strtok_r(str, delimiters, NULL); -} char* ICACHE_FLASH_ATTR strtok_r(char * str, const char * delimiters, char ** temp) { static char * ret = NULL; @@ -206,6 +203,10 @@ char* ICACHE_FLASH_ATTR strtok_r(char * str, const char * delimiters, char ** te return ret; } +char* ICACHE_FLASH_ATTR strtok(char * str, const char * delimiters) { + return strtok_r(str, delimiters, NULL); +} + int strcasecmp(const char * str1, const char * str2) { int d = 0; while(1) { diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp index 54450095b..8fdf22cf4 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp @@ -141,6 +141,16 @@ void ESP8266WiFiClass::softAP(const char* ssid, const char* passphrase, int chan ETS_UART_INTR_ENABLE(); } +void ESP8266WiFiClass::softAPConfig(IPAddress local_ip, IPAddress gateway, IPAddress subnet) +{ + struct ip_info info; + info.ip.addr = static_cast(local_ip); + info.gw.addr = static_cast(gateway); + info.netmask.addr = static_cast(subnet); + wifi_softap_dhcps_stop(); + wifi_set_ip_info(SOFTAP_IF, &info); + wifi_softap_dhcps_start(); +} uint8_t* ESP8266WiFiClass::macAddress(uint8_t* mac) { diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFi.h b/libraries/ESP8266WiFi/src/ESP8266WiFi.h index 8f81e7ad5..ff7b39bba 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFi.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFi.h @@ -82,6 +82,14 @@ public: */ void config(IPAddress local_ip, IPAddress gateway, IPAddress subnet); + /* Configure access point + * + * param local_ip: access point IP + * param gateway: gateway IP + * param subnet: subnet mask + */ + void softAPConfig(IPAddress local_ip, IPAddress gateway, IPAddress subnet); + /* * Disconnect from the network *