mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +03:00
Merge pull request #388 from Links2004/esp8266
fix compiler warnings and handle empty SSID paramater
This commit is contained in:
commit
f12a4309d2
@ -60,7 +60,7 @@ int eboot_command_read(struct eboot_command* cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint32_t crc32 = eboot_command_calculate_crc32(cmd);
|
uint32_t crc32 = eboot_command_calculate_crc32(cmd);
|
||||||
if (cmd->magic & EBOOT_MAGIC_MASK != EBOOT_MAGIC ||
|
if ((cmd->magic & EBOOT_MAGIC_MASK) != EBOOT_MAGIC ||
|
||||||
cmd->crc32 != crc32) {
|
cmd->crc32 != crc32) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
int SPIEraseAreaEx(const uint32_t start, const uint32_t size)
|
int SPIEraseAreaEx(const uint32_t start, const uint32_t size)
|
||||||
{
|
{
|
||||||
if (start & (FLASH_SECTOR_SIZE - 1) != 0) {
|
if ((start & (FLASH_SECTOR_SIZE - 1)) != 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ void user_init(void) {
|
|||||||
uart_div_modify(0, UART_CLK_FREQ / (74480));
|
uart_div_modify(0, UART_CLK_FREQ / (74480));
|
||||||
|
|
||||||
system_rtc_mem_read(0, &resetInfo, sizeof(struct rst_info));
|
system_rtc_mem_read(0, &resetInfo, sizeof(struct rst_info));
|
||||||
if(resetInfo.reason == WDT_RST_FLAG || resetInfo.reason == EXCEPTION_RST_FLAG) {
|
if(resetInfo.reason == REASON_WDT_RST || resetInfo.reason == REASON_EXCEPTION_RST) {
|
||||||
os_printf("Last Reset:\n - flag=%d\n - Fatal exception (%d):\n - epc1=0x%08x,epc2=0x%08x,epc3=0x%08x,excvaddr=0x%08x,depc=0x%08x\n", resetInfo.reason, resetInfo.exccause, resetInfo.epc1, resetInfo.epc2, resetInfo.epc3, resetInfo.excvaddr, resetInfo.depc);
|
os_printf("Last Reset:\n - flag=%d\n - Fatal exception (%d):\n - epc1=0x%08x,epc2=0x%08x,epc3=0x%08x,excvaddr=0x%08x,depc=0x%08x\n", resetInfo.reason, resetInfo.exccause, resetInfo.epc1, resetInfo.epc2, resetInfo.epc3, resetInfo.excvaddr, resetInfo.depc);
|
||||||
}
|
}
|
||||||
struct rst_info info = { 0 };
|
struct rst_info info = { 0 };
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
#define c_memset os_memset
|
#define c_memset os_memset
|
||||||
|
|
||||||
typedef signed short file_t;
|
typedef signed short file_t;
|
||||||
typedef long int s32_t;
|
typedef int32_t s32_t;
|
||||||
typedef long unsigned int u32_t;
|
typedef uint32_t u32_t;
|
||||||
typedef int16_t s16_t;
|
typedef int16_t s16_t;
|
||||||
typedef uint16_t u16_t;
|
typedef uint16_t u16_t;
|
||||||
typedef int8_t s8_t;
|
typedef int8_t s8_t;
|
||||||
|
@ -69,7 +69,7 @@ int ESP8266WiFiClass::begin(const char* ssid, const char *passphrase, int32_t ch
|
|||||||
mode(WIFI_STA);
|
mode(WIFI_STA);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!ssid || strlen(ssid) > 31) {
|
if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) {
|
||||||
// fail SSID to long or missing!
|
// fail SSID to long or missing!
|
||||||
return WL_CONNECT_FAILED;
|
return WL_CONNECT_FAILED;
|
||||||
}
|
}
|
||||||
@ -178,7 +178,7 @@ void ESP8266WiFiClass::softAP(const char* ssid, const char* passphrase, int chan
|
|||||||
mode(WIFI_AP);
|
mode(WIFI_AP);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!ssid || strlen(ssid) > 31) {
|
if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) {
|
||||||
// fail SSID to long or missing!
|
// fail SSID to long or missing!
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "ESP8266WiFiMulti.h"
|
#include "ESP8266WiFiMulti.h"
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
ESP8266WiFiMulti::ESP8266WiFiMulti() {
|
ESP8266WiFiMulti::ESP8266WiFiMulti() {
|
||||||
}
|
}
|
||||||
@ -151,7 +152,7 @@ bool ESP8266WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) {
|
|||||||
|
|
||||||
WifiAPlist_t newAP;
|
WifiAPlist_t newAP;
|
||||||
|
|
||||||
if(!ssid || strlen(ssid) > 31) {
|
if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) {
|
||||||
// fail SSID to long or missing!
|
// fail SSID to long or missing!
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -161,21 +162,18 @@ bool ESP8266WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
newAP.ssid = (char*) malloc((strlen(ssid) + 1));
|
newAP.ssid = strdup(ssid);
|
||||||
|
|
||||||
if(!newAP.ssid) {
|
if(!newAP.ssid) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
strcpy(newAP.ssid, ssid);
|
|
||||||
|
|
||||||
if(passphrase && *passphrase != 0x00) {
|
if(passphrase && *passphrase != 0x00) {
|
||||||
newAP.passphrase = (char*) malloc((strlen(passphrase) + 1));
|
newAP.passphrase = strdup(passphrase);
|
||||||
if(!newAP.passphrase) {
|
if(!newAP.passphrase) {
|
||||||
free(newAP.ssid);
|
free(newAP.ssid);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
strcpy(newAP.passphrase, passphrase);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
APlist.push_back(newAP);
|
APlist.push_back(newAP);
|
||||||
|
@ -16,7 +16,7 @@ compiler.sdk.path={runtime.platform.path}/tools/sdk/
|
|||||||
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include"
|
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include"
|
||||||
|
|
||||||
compiler.c.cmd=xtensa-lx106-elf-gcc
|
compiler.c.cmd=xtensa-lx106-elf-gcc
|
||||||
compiler.c.flags=-c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=c99
|
compiler.c.flags=-c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=c99 -pedantic
|
||||||
|
|
||||||
compiler.S.cmd=xtensa-lx106-elf-gcc
|
compiler.S.cmd=xtensa-lx106-elf-gcc
|
||||||
compiler.S.flags=-c -g -x assembler-with-cpp -MMD
|
compiler.S.flags=-c -g -x assembler-with-cpp -MMD
|
||||||
@ -26,7 +26,7 @@ compiler.c.elf.cmd=xtensa-lx106-elf-gcc
|
|||||||
compiler.c.elf.libs=-lm -lgcc -lhal -lphy -lnet80211 -llwip -lwpa -lmain -lpp -lsmartconfig
|
compiler.c.elf.libs=-lm -lgcc -lhal -lphy -lnet80211 -llwip -lwpa -lmain -lpp -lsmartconfig
|
||||||
|
|
||||||
compiler.cpp.cmd=xtensa-lx106-elf-g++
|
compiler.cpp.cmd=xtensa-lx106-elf-g++
|
||||||
compiler.cpp.flags=-c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD
|
compiler.cpp.flags=-c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -pedantic
|
||||||
|
|
||||||
compiler.as.cmd=xtensa-lx106-elf-as
|
compiler.as.cmd=xtensa-lx106-elf-as
|
||||||
|
|
||||||
|
@ -1,3 +1,54 @@
|
|||||||
|
esp_iot_sdk_v1.1.1_15_06_05 Release Note
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
Resolved Issues(Bugs below are eligible for Bug Bounty Program):
|
||||||
|
1.Too short timer which set by os_arm_timer_us may cause crash. [Tommy]
|
||||||
|
2.Call os_malloc in low heap situation may cause crash. [MeneerThijs]
|
||||||
|
3.Memory leak issue when SSL connection fail. [孙新虎]
|
||||||
|
|
||||||
|
Optimization:
|
||||||
|
1.Update JSON parser to handle with illegal parameter and illegal calling progress.
|
||||||
|
2.Add parameter of user_esp_platform_check_ip in user_websever.c which in IOT_Demo.
|
||||||
|
3.Update UART driver to solve the problem that if send data through UART while ESP8266 startup may cause UART invalid.
|
||||||
|
4.Update smartconfig to version 2.2, corresponding phone APP v0.3.2. And update the description and example of smartconfig_start in document "2C_ESP8266__Programming Guide"
|
||||||
|
5.Update code in iram to solve the problem that space for text is not enough.
|
||||||
|
6.Update PWM driver and provide libpwm.a in esp_iot_sdk, update PWM APIs in "2C_ESP8266__Programming Guide", more details in "Added APIs" below.
|
||||||
|
7.Revised issue that multicast may fail in ESP8266 softAP mode.
|
||||||
|
8.Update folder "driver",add folder "driver_lib" in \esp_iot_sdk\examples , add "hw_timer.c" about frc1 hardware timer.
|
||||||
|
9.Remove useless driver code in IOT_Demo
|
||||||
|
10.Update IOT_Demo to use the latest PWM driver in light demo.
|
||||||
|
11.Provide liblwip_536.a of which MSS size is 536
|
||||||
|
12.Revised issue that boot may fail when 80Mhz SPI clock selected
|
||||||
|
13.Update esp_init_data_default.bin about RF option in \esp_iot_sdk\bin
|
||||||
|
|
||||||
|
Added APIs:
|
||||||
|
1.PWM APIs:
|
||||||
|
Updated: pwm_init,add parameter to set PWM channel and GPIO pin
|
||||||
|
Added:
|
||||||
|
(1)get_pwm_version:get version information of PWM driver
|
||||||
|
(2)pwm_set_period:set PWM period
|
||||||
|
(3)pwm_get_period:get PWM period
|
||||||
|
Deleted:
|
||||||
|
(1)pwm_set_freq:set PWM frequency
|
||||||
|
(2)pwm_get_freq:get PWM frequency
|
||||||
|
2.Read/write flash with protection
|
||||||
|
(1)system_param_save_with_protect:write data into flash with backup protection
|
||||||
|
(2)system_param_load:read data which saved into flash with backup protection
|
||||||
|
3.system_get_rst_info:get information about current startup,it is a normal startup or watch dog reset
|
||||||
|
4.at_response:set AT response
|
||||||
|
5.at_register_response_func:register a callback for user-define AT response.
|
||||||
|
6.Update document "2C_ESP8266__Programming Guide" to add description of interrupt definition in ets_sys.h
|
||||||
|
|
||||||
|
AT_v0.25 Release Note:
|
||||||
|
Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that.
|
||||||
|
Optimization:
|
||||||
|
1.Add parameter about UDP local port in command "AT+SAVETRANSLINK"
|
||||||
|
|
||||||
|
Added AT command:
|
||||||
|
1.AT+CIPDINFO:set configuration whether show remote IP and remote port with “+IPD” or not
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
esp_iot_sdk_v1.1.0_15_05_27_p1 Release Note
|
esp_iot_sdk_v1.1.0_15_05_27_p1 Release Note
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
|
@ -74,6 +74,9 @@ inline uint32_t ETS_INTR_PENDING(void)
|
|||||||
#define ETS_FRC_TIMER1_INTR_ATTACH(func, arg) \
|
#define ETS_FRC_TIMER1_INTR_ATTACH(func, arg) \
|
||||||
ets_isr_attach(ETS_FRC_TIMER1_INUM, (int_handler_t)(func), (void *)(arg))
|
ets_isr_attach(ETS_FRC_TIMER1_INUM, (int_handler_t)(func), (void *)(arg))
|
||||||
|
|
||||||
|
#define ETS_FRC_TIMER1_NMI_INTR_ATTACH(func) \
|
||||||
|
NmiTimSetFunc(func)
|
||||||
|
|
||||||
#define ETS_GPIO_INTR_ATTACH(func, arg) \
|
#define ETS_GPIO_INTR_ATTACH(func, arg) \
|
||||||
ets_isr_attach(ETS_GPIO_INUM, (int_handler_t)(func), (void *)(arg))
|
ets_isr_attach(ETS_GPIO_INUM, (int_handler_t)(func), (void *)(arg))
|
||||||
|
|
||||||
|
@ -24,5 +24,6 @@ typedef void (*sc_callback_t)(sc_status status, void *pdata);
|
|||||||
const char *smartconfig_get_version(void);
|
const char *smartconfig_get_version(void);
|
||||||
bool smartconfig_start(sc_type type, sc_callback_t cb, ...);
|
bool smartconfig_start(sc_type type, sc_callback_t cb, ...);
|
||||||
bool smartconfig_stop(void);
|
bool smartconfig_stop(void);
|
||||||
|
bool esptouch_set_timeout(uint8 time_s); //15s~255s, offset:45s
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -23,11 +23,12 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum rst_reason {
|
enum rst_reason {
|
||||||
DEFAULT_RST_FLAG = 0,
|
REASON_DEFAULT_RST = 0,
|
||||||
WDT_RST_FLAG = 1,
|
REASON_WDT_RST = 1,
|
||||||
EXCEPTION_RST_FLAG = 2,
|
REASON_EXCEPTION_RST = 2,
|
||||||
SOFT_RST_FLAG = 3,
|
REASON_SOFT_WDT_RST = 3,
|
||||||
DEEP_SLEEP_AWAKE_FLAG = 4
|
REASON_SOFT_RESTART = 4,
|
||||||
|
REASON_DEEP_SLEEP_AWAKE = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
struct rst_info {
|
struct rst_info {
|
||||||
@ -40,6 +41,8 @@ struct rst_info {
|
|||||||
uint32 depc;
|
uint32 depc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct rst_info* system_get_rst_info(void);
|
||||||
|
|
||||||
#define UPGRADE_FW_BIN1 0x00
|
#define UPGRADE_FW_BIN1 0x00
|
||||||
#define UPGRADE_FW_BIN2 0x01
|
#define UPGRADE_FW_BIN2 0x01
|
||||||
|
|
||||||
@ -129,6 +132,9 @@ void system_phy_set_max_tpw(uint8 max_tpw);
|
|||||||
void system_phy_set_tpw_via_vdd33(uint16 vdd33);
|
void system_phy_set_tpw_via_vdd33(uint16 vdd33);
|
||||||
void system_phy_set_rfoption(uint8 option);
|
void system_phy_set_rfoption(uint8 option);
|
||||||
|
|
||||||
|
bool system_param_save_with_protect(uint16 start_sec, void *param, uint16 len);
|
||||||
|
bool system_param_load(uint16 start_sec, uint16 offset, void *param, uint16 len);
|
||||||
|
|
||||||
#define NULL_MODE 0x00
|
#define NULL_MODE 0x00
|
||||||
#define STATION_MODE 0x01
|
#define STATION_MODE 0x01
|
||||||
#define SOFTAP_MODE 0x02
|
#define SOFTAP_MODE 0x02
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
|||||||
1.1.0_15_05_27_p1
|
1.1.1_15_06_05
|
Loading…
x
Reference in New Issue
Block a user