From d6bb217a561854e2d20c261f526c8b770a2d21f5 Mon Sep 17 00:00:00 2001 From: Greg Slomin Date: Mon, 20 Apr 2015 01:10:00 -0500 Subject: [PATCH 1/2] Fix for undefined reference to strtok_r --- cores/esp8266/libc_replacements.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cores/esp8266/libc_replacements.c b/cores/esp8266/libc_replacements.c index 7d6260d1e..f8a941506 100644 --- a/cores/esp8266/libc_replacements.c +++ b/cores/esp8266/libc_replacements.c @@ -159,9 +159,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; @@ -205,6 +202,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) { From 4cc06c2100b1cab366dbe8f8aec31c1de37d0903 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 21 Apr 2015 20:52:02 +0800 Subject: [PATCH 2/2] Add method to configure softAP IP address fix #76 --- libraries/ESP8266WiFi/src/ESP8266WiFi.cpp | 10 ++++++++++ libraries/ESP8266WiFi/src/ESP8266WiFi.h | 8 ++++++++ 2 files changed, 18 insertions(+) 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 *