Skip to content

update the SDK to 1.0.1_15_04_24, and some more #113

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 25, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions hardware/esp8266com/esp8266/cores/esp8266/Arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,10 @@ extern "C" {
#include <string.h>
#include <math.h>

#include "stdlib_noniso.h"
#include "binary.h"
#include "pgmspace.h"



void yield(void);

#define HIGH 0x1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ UARTnr_t uart_get_debug();
// ####################################################################################################
// ####################################################################################################

void ICACHE_FLASH_ATTR uart_interrupt_handler(uart_t* uart) {
void uart_interrupt_handler(uart_t* uart) {

// -------------- UART 0 --------------
uint32_t status = READ_PERI_REG(UART_INT_ST(0));
Expand Down
60 changes: 60 additions & 0 deletions hardware/tools/esp8266/sdk/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,63 @@
esp_iot_sdk_v1.0.1_15_04_24 Release Note
-------------------------------------------

Resolved Issues(Bugs below are eligible for Bug Bounty Program):
1. SSL connection may fail if SSL packet size larger than 2kBytes [PeteW ]
2. UDP remote IP to be 0.0.0.0 may cause reset [Jerry S]
3. Optimize wifi_get_ip_info to fix loss of wireless connectivity problem
4. Air-Kiss restart [Orgmar]

Optimization:
1. Optimized IOT_Espressif_EspTouch.APK (apply for access from Espressif) for improved compatibility. [???]
2. TCP server can not open again immediately with the same port [624908539]
3. Update UART driver for parity bit value may be incorrect [1062583993]
4. Add define of �ICACHE_RODATA_ATTR� for Symbol 'ICACHE_RODATA_ATTR' could not be resolved. [???]
5. Add API wifi_softap_dhcps_set_offer_option to enable/disable ESP8266 softAP DHCP server default gateway. [xyz769]
6. AT register_uart_rx_intr may enter callback twice. [???]
7.optimize document that WPA password length range : 8 ~ 64 bytes [785057041]
8. ESP8266 softAP DHCP server record 8 DHCP client's IP at most [ygjeon]
9. To set static IP (wifi_set_ip_info) has to disable DHCP first(wifi_softap_dhcps_stop or wifi_station_dhcpc_stop)
10.Add example of wifi_softap_set_dhcps_lease
11. smartconfig_start can only be called in ESP8266 station mode

Added APIs:
1. Wi-Fi related APIs:
wifi_station_set_reconnect_policy: enable/disable reconnect when ESP8266 disconnect from router,default to be enable reconnect.
wifi_set_event_handler_cb: set event handler of ESP8266 softAP or station status change.
wifi_softap_dhcps_set_offer_option: enable/disable get router information from ESP8266 softAP, default to be enable.
2. SNTP APIs:
sntp_get_current_timestamp: get current timestamp from Jan 01, 1970, 00:00 (GMT)
sntp_get_real_time: char,get real time (GTM + 8 time zone)
sntp_init: initialize SNTP
sntp_stop: stop SNTP
sntp_setserver: set SNTP server by IP
sntp_getserver: get SNTP server IP
sntp_setservername: set SNTP server by domain name
sntp_getservername: get domain name of SNTP server set by sntp_setservername
3. MDNS APIs:
espconn_mdns_init: initialize mDNS
espconn_mdns_close: close mDNS
espconn_mdns_server_register: register mDNS server
espconn_mdns_server_unregister: unregister mDNS server
espconn_mdns_get_servername: get mDNS server name
espconn_mdns_set_servername: set mDNS server name
espconn_mdns_set_hostname: get mDNS host name
espconn_mdns_get_hostname: set mDNS host name
espconn_mdns_disable: disable mDNS
espconn_mdns_enable: endisable mDNS

AT_v0.23 Release Note:
Optimized:
1.AT+CWJAP add parameter "bssid", for several APs may have the same SSID

New AT commands:
1. AT+CIPSENDBUF: write data into TCP-send-buffer; non-blocking. Background task automatically handles transmission. Has much higher throughput.
2. AT+CIPBUFRESET: resets segment count in TCP-send-buffer
3. AT+CIPBUFSTATUS: checks status of TCP-send-buffer
4. AT+CIPCHECKSEGID: checks if a specific segment in TCP-send-buffer has sent successfully



esp_iot_sdk_v1.0.1_b2_15_04_10 release note
-------------------------------------------

Expand Down
107 changes: 107 additions & 0 deletions hardware/tools/esp8266/sdk/include/espconn.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,23 @@ enum {
ESPCONN_MAX
};

struct espconn_packet{
uint16 sent_length; /* sent length successful*/
uint16 snd_buf_size; /* Available buffer size for sending */
uint16 snd_queuelen; /* Available buffer space for sending */
uint16 total_queuelen; /* total Available buffer space for sending */
uint32 packseqno; /* seqno to be sent */
uint32 packseq_nxt; /* seqno expected */
uint32 packnum;
};

struct mdns_info {
char *host_name;
char *server_name;
uint16 server_port;
unsigned long ipAddr;
char *txt_data;
};
/******************************************************************************
* FunctionName : espconn_connect
* Description : The function given as the connect
Expand Down Expand Up @@ -213,6 +230,16 @@ sint8 espconn_regist_time(struct espconn *espconn, uint32 interval, uint8 type_f

sint8 espconn_get_connection_info(struct espconn *pespconn, remot_info **pcon_info, uint8 typeflags);

/******************************************************************************
* FunctionName : espconn_get_packet_info
* Description : get the packet info with host
* Parameters : espconn -- the espconn used to disconnect the connection
* infoarg -- the packet info
* Returns : the errur code
*******************************************************************************/

sint8 espconn_get_packet_info(struct espconn *espconn, struct espconn_packet* infoarg);

/******************************************************************************
* FunctionName : espconn_regist_sentcb
* Description : Used to specify the function that should be called when data
Expand Down Expand Up @@ -471,5 +498,85 @@ sint8 espconn_recv_hold(struct espconn *pespconn);
*******************************************************************************/
sint8 espconn_recv_unhold(struct espconn *pespconn);

/******************************************************************************
* FunctionName : espconn_mdns_init
* Description : register a device with mdns
* Parameters : ipAddr -- the ip address of device
* hostname -- the hostname of device
* Returns : none
*******************************************************************************/

void espconn_mdns_init(struct mdns_info *info);
/******************************************************************************
* FunctionName : espconn_mdns_close
* Description : close a device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/

void espconn_mdns_close(void);
/******************************************************************************
* FunctionName : espconn_mdns_server_register
* Description : register a device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/
void espconn_mdns_server_register(void);

/******************************************************************************
* FunctionName : espconn_mdns_server_unregister
* Description : unregister a device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/
void espconn_mdns_server_unregister(void);

/******************************************************************************
* FunctionName : espconn_mdns_get_servername
* Description : get server name of device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/

char* espconn_mdns_get_servername(void);
/******************************************************************************
* FunctionName : espconn_mdns_set_servername
* Description : set server name of device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/
void espconn_mdns_set_servername(const char *name);

/******************************************************************************
* FunctionName : espconn_mdns_set_hostname
* Description : set host name of device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/
void espconn_mdns_set_hostname(char *name);

/******************************************************************************
* FunctionName : espconn_mdns_get_hostname
* Description : get host name of device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/
char* espconn_mdns_get_hostname(void);

/******************************************************************************
* FunctionName : espconn_mdns_disable
* Description : disable a device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/
void espconn_mdns_disable(void);

/******************************************************************************
* FunctionName : espconn_mdns_enable
* Description : disable a device with mdns
* Parameters : a
* Returns : none
*******************************************************************************/
void espconn_mdns_enable(void);
#endif

105 changes: 103 additions & 2 deletions hardware/tools/esp8266/sdk/include/user_interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,8 @@ bool wifi_station_scan(struct scan_config *config, scan_done_cb_t cb);
uint8 wifi_station_get_auto_connect(void);
bool wifi_station_set_auto_connect(uint8 set);

bool wifi_station_set_reconnect_policy(bool set);

enum {
STATION_IDLE = 0,
STATION_CONNECTING,
Expand Down Expand Up @@ -229,8 +231,14 @@ struct station_info {
};

struct dhcps_lease {
uint32 start_ip;
uint32 end_ip;
struct ip_addr start_ip;
struct ip_addr end_ip;
};

enum dhcps_offer_option{
OFFER_START = 0x00,
OFFER_ROUTER = 0x01,
OFFER_END
};

struct station_info * wifi_softap_get_station_info(void);
Expand All @@ -241,6 +249,7 @@ bool wifi_softap_dhcps_start(void);
bool wifi_softap_dhcps_stop(void);
bool wifi_softap_set_dhcps_lease(struct dhcps_lease *please);
enum dhcp_status wifi_softap_dhcps_status(void);
bool wifi_softap_dhcps_set_offer_option(uint8 level, void* optarg);

#define STATION_IF 0x00
#define SOFTAP_IF 0x01
Expand Down Expand Up @@ -286,4 +295,96 @@ enum sleep_type {
bool wifi_set_sleep_type(enum sleep_type type);
enum sleep_type wifi_get_sleep_type(void);

enum {
EVENT_STAMODE_CONNECTED = 0,
EVENT_STAMODE_DISCONNECTED,
EVENT_STAMODE_AUTHMODE_CHANGE,
EVENT_STAMODE_GOT_IP,
EVENT_SOFTAPMODE_STACONNECTED,
EVENT_SOFTAPMODE_STADISCONNECTED,
EVENT_MAX
};

enum {
REASON_UNSPECIFIED = 1,
REASON_AUTH_EXPIRE = 2,
REASON_AUTH_LEAVE = 3,
REASON_ASSOC_EXPIRE = 4,
REASON_ASSOC_TOOMANY = 5,
REASON_NOT_AUTHED = 6,
REASON_NOT_ASSOCED = 7,
REASON_ASSOC_LEAVE = 8,
REASON_ASSOC_NOT_AUTHED = 9,
REASON_DISASSOC_PWRCAP_BAD = 10, /* 11h */
REASON_DISASSOC_SUPCHAN_BAD = 11, /* 11h */
REASON_IE_INVALID = 13, /* 11i */
REASON_MIC_FAILURE = 14, /* 11i */
REASON_4WAY_HANDSHAKE_TIMEOUT = 15, /* 11i */
REASON_GROUP_KEY_UPDATE_TIMEOUT = 16, /* 11i */
REASON_IE_IN_4WAY_DIFFERS = 17, /* 11i */
REASON_GROUP_CIPHER_INVALID = 18, /* 11i */
REASON_PAIRWISE_CIPHER_INVALID = 19, /* 11i */
REASON_AKMP_INVALID = 20, /* 11i */
REASON_UNSUPP_RSN_IE_VERSION = 21, /* 11i */
REASON_INVALID_RSN_IE_CAP = 22, /* 11i */
REASON_802_1X_AUTH_FAILED = 23, /* 11i */
REASON_CIPHER_SUITE_REJECTED = 24, /* 11i */

REASON_BEACON_TIMEOUT = 200,
REASON_NO_AP_FOUND = 201,
};

typedef struct {
uint8 ssid[32];
uint8 ssid_len;
uint8 bssid[6];
uint8 channel;
} Event_StaMode_Connected_t;

typedef struct {
uint8 ssid[32];
uint8 ssid_len;
uint8 bssid[6];
uint8 reason;
} Event_StaMode_Disconnected_t;

typedef struct {
uint8 old_mode;
uint8 new_mode;
} Event_StaMode_AuthMode_Change_t;

typedef struct {
struct ip_addr ip;
struct ip_addr mask;
struct ip_addr gw;
} Event_StaMode_Got_IP_t;

typedef struct {
uint8 mac[6];
uint8 aid;
} Event_SoftAPMode_StaConnected_t;

typedef struct {
uint8 mac[6];
uint8 aid;
} Event_SoftAPMode_StaDisconnected_t;

typedef union {
Event_StaMode_Connected_t connected;
Event_StaMode_Disconnected_t disconnected;
Event_StaMode_AuthMode_Change_t auth_change;
Event_StaMode_Got_IP_t got_ip;
Event_SoftAPMode_StaConnected_t sta_connected;
Event_SoftAPMode_StaDisconnected_t sta_disconnected;
} Event_Info_u;

typedef struct _esp_event {
uint32 event;
Event_Info_u event_info;
} System_Event_t;

typedef void (* wifi_event_handler_cb_t)(System_Event_t *event);

void wifi_set_event_handler_cb(wifi_event_handler_cb_t cb);

#endif
8 changes: 4 additions & 4 deletions hardware/tools/esp8266/sdk/ld/eagle.app.v6.ld
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
/* Linker Script for ld -N */
MEMORY
{
dport0_0_seg : org = 0x3FF00000, len = 0x10
dram0_0_seg : org = 0x3FFE8000, len = 0x14000
iram1_0_seg : org = 0x40100000, len = 0x8000
irom0_0_seg : org = 0x40240000, len = 0x32000
dport0_0_seg : org = 0x3FF00000, len = 0x10
dram0_0_seg : org = 0x3FFE8000, len = 0x14000
iram1_0_seg : org = 0x40100000, len = 0x8000
irom0_0_seg : org = 0x40240000, len = 0x3C000
}

PHDRS
Expand Down
Binary file modified hardware/tools/esp8266/sdk/lib/liblwip.a
Binary file not shown.
Binary file modified hardware/tools/esp8266/sdk/lib/libmain.a
Binary file not shown.
Binary file modified hardware/tools/esp8266/sdk/lib/libnet80211.a
Binary file not shown.
Binary file modified hardware/tools/esp8266/sdk/lib/libphy.a
Binary file not shown.
Binary file modified hardware/tools/esp8266/sdk/lib/libpp.a
Binary file not shown.
Binary file modified hardware/tools/esp8266/sdk/lib/libsmartconfig.a
Binary file not shown.
Binary file modified hardware/tools/esp8266/sdk/lib/libssl.a
Binary file not shown.
Binary file modified hardware/tools/esp8266/sdk/lib/libwpa.a
Binary file not shown.
2 changes: 1 addition & 1 deletion hardware/tools/esp8266/sdk/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.1_b2_15_04_10
1.0.1_15_04_24