1
0
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:
Ivan Grokhotkov 2015-06-11 12:24:03 +03:00
commit f12a4309d2
21 changed files with 80 additions and 21 deletions

View File

@ -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;
} }

View File

@ -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;
} }

View File

@ -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 };

View File

@ -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;

View File

@ -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;
} }

View File

@ -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);

View File

@ -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

View File

@ -1,3 +1,54 @@
esp_iot_sdk_v1.1.1_15_06_05 Release Note
-------------------------------------------
Resolved IssuesBugs 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_initadd parameter to set PWM channel and GPIO pin
Added
1get_pwm_versionget version information of PWM driver
2pwm_set_periodset PWM period
3pwm_get_periodget PWM period
Deleted
1pwm_set_freqset PWM frequency
2pwm_get_freqget PWM frequency
2.Read/write flash with protection
1system_param_save_with_protectwrite data into flash with backup protection
2system_param_loadread data which saved into flash with backup protection
3.system_get_rst_infoget information about current startupit is a normal startup or watch dog reset
4.at_responseset AT response
5.at_register_response_funcregister 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+CIPDINFOset 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
------------------------------------------- -------------------------------------------

View File

@ -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))

View File

@ -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

View File

@ -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.

View File

@ -1 +1 @@
1.1.0_15_05_27_p1 1.1.1_15_06_05