522 Commits

Author SHA1 Message Date
dbded69dd5 Merge branch 'feature/i2c_clk_stretch' into 'master'
feature(i2c): add i2c clock stretch

See merge request sdk/ESP8266_RTOS_SDK!916
2019-08-26 14:08:25 +08:00
0193d06019 Merge branch 'feature/refactor_ccompare_timer' into 'master'
esp8266: refactor CCOMPARE timer and system time by microseconds

See merge request sdk/ESP8266_RTOS_SDK!1060
2019-08-21 15:21:53 +08:00
ec0b1526ab fix(ota): fix OTA binary which is to be flashed error 2019-08-19 17:37:25 +08:00
b061230056 feat(esp8266): refactor CCOMPARE timer and system time by microseconds
old: CCOMPARE timer triggers when CCOUNT increase to equal to CCOMPARE, then ISR will increase integer of "_xt_tick_divisor"
     to CCOMPARE and wait for next interrupt triggering

now: CCOMPARE timer triggers when CCOUNT increase to equal to CCOMPARE, then ISR will reset CCOUNT to be 0 and reset CCOMPARE
     to be integer of "_xt_tick_divisor", then wait for next interrupt triggering

Using the new method, we may get the CCOUNT value without considing if it has overflowed.
System running microseconds = g_os_ticks * microseconds per tick + CCOUNT.
2019-08-19 14:03:20 +08:00
07dd1e41f0 fix(wifi): fix wifi link error when enable wifi debug
Link the library "libpp_dbg.a" to IRAM.
2019-08-15 10:42:44 +08:00
f83c2572d2 fix(esp8266): read only section must be align by 4 bytes 2019-08-13 16:13:29 +08:00
e9d2281335 Merge branch 'bugfix/fix_flash_bus_map_size' into 'master'
esp8266: esp8266 flash mapping to CPU bus size only supports 1MB now

See merge request sdk/ESP8266_RTOS_SDK!1047
2019-08-12 16:17:30 +08:00
c665a71370 fix(esp8266): esp8266 flash mapping to CPU bus size only supports 1MB now
We may add support to run app which size is larger than 1MB later.
2019-08-12 15:45:26 +08:00
fc301bc167 fix(wifi): fix the issue of inconsistent reporting status code in asscociation of different routers 2019-08-09 13:45:34 +08:00
6ada81237e Merge branch 'feature/support_make_size_family_cmd' into 'master'
esp8266: supports "make size" and its family function

See merge request sdk/ESP8266_RTOS_SDK!1033
2019-08-08 09:51:47 +08:00
3aa6377476 Merge branch 'feature/add_md5_algorithm_in_util' into 'master'
feat(util): Add md5 algorithm to util

See merge request sdk/ESP8266_RTOS_SDK!1024
2019-08-07 12:10:00 +08:00
301d857988 feat(esp8266): supports "make size" and its family function
1. support "make size", "make size-files", "make size-components" and "make size-symbols"
2. add esp-idf style link file including "esp8266.ld" and "esp8266.project.ld.in"
3. add link advaced generation file to components of esp8266 and spi_flash
2019-08-05 17:20:29 +08:00
6f86c07c49 feat(util): Add faster MD5 for ESP8266 SoC 2019-08-02 15:58:49 +08:00
114d2b5b86 feature(script): update compiling script for new make and cmake 2019-08-02 14:02:45 +08:00
78cf0dda69 Merge branch 'feature/sync_mdns_from_espidf' into 'master'
mdns: sync code from esp-idf

See merge request sdk/ESP8266_RTOS_SDK!943
2019-07-09 15:50:36 +08:00
af0fcc0492 fix(wifi): fix compatibility issues with AP which configured to 11n only 2019-06-14 11:06:39 +08:00
a227a22a36 Merge branch 'bugfix/fix_i2s_dma_error' into 'master'
bugfix(i2s): fix i2s dma error

See merge request sdk/ESP8266_RTOS_SDK!960
2019-06-12 19:13:19 +08:00
483a5a475c bugfix(i2s): fix i2s dma error 2019-06-12 11:14:50 +08:00
2084e8ed19 feat(esp8266): format phy_init.c 2019-06-12 10:38:33 +08:00
d04ce110f9 feat(esp8266): add set tx power via vdd33 function 2019-06-12 10:38:33 +08:00
fff950983e Merge branch 'feature/factory_test' into 'master'
factory-test: add factory test code and document

See merge request sdk/ESP8266_RTOS_SDK!890
2019-06-04 16:05:33 +08:00
9c19b1eedb feat(factory_test): add factory test and document 2019-06-04 15:38:35 +08:00
e32f60008a Merge branch 'feature/add_old_sdk_param' into 'master'
compatibility_upgrade: add function to get old SDK's target ap SSID and passowrd

See merge request sdk/ESP8266_RTOS_SDK!959
2019-05-31 15:56:58 +08:00
639c64a540 feat(compatibility_upgrade): add function to get old SDK's target ap SSID and passowrd
Add error warning to check the wrong parition table.
2019-05-31 15:51:20 +08:00
ed62c28579 Merge branch 'bugfix/fix_the_comment_of_sniffer_promiscuous_parameter' into 'master'
bugfix(sc): modify the comment of wifi_pkt_rx_ctrl_t in esp_wifi_types.h

See merge request sdk/ESP8266_RTOS_SDK!948
2019-05-31 15:21:10 +08:00
5307b1f6cd Merge branch 'feature/ssc_flush_print_buf' into 'master'
esp8266: ssc flushes print buffer after printf

See merge request sdk/ESP8266_RTOS_SDK!961
2019-05-30 15:00:47 +08:00
51361b06b8 feat(esp8266): disable UART swap before restart 2019-05-30 14:00:22 +08:00
934dd5afcf feat(esp8266): ssc flushes print buffer after printf
Commit ID: a832c52c
2019-05-29 19:37:41 +08:00
e5e1afecf8 fix(esp8266): Fix pp_post reenter 2019-05-24 10:49:29 +08:00
8f258d31a5 fix(lib): fix crash when phrase wrong beacon 2019-05-24 10:41:51 +08:00
8ccf4435cd fix the comment of wifi_pkt_rx_ctrl_t in esp_wifi_types.h 2019-05-20 20:44:40 +08:00
9f49f9f660 feat(esp8266): Add interrupt overhead time test 2019-05-20 17:56:08 +08:00
9a72ce0903 feat(mdns): Sync code from esp-idf
Commit ID: 2f8508c7

1. Fix possible crash when probing on particular interface with duplicated service instances due to naming conflicts on network. Issue: MDNS server initially sends probing packets to resolve naming confilicts with already registered service instances. In case of a conflict, instance name is altered and probing restarts. Original instance however wasnnot removed from the structure and upon service removal only one entry was removed and a dangling service might have been kept in the structure to bring about a crash. Resolution: Keep only one instance of a service in the probing structure

2. Enable pcbs before starting service thread to avoid updating pcb's internal variables from concurent tasks. Possible race condition: user task runs mdns_init, which enables pcbs while mdns-task already created could execute enable/disable of the same pcbs if an appropriate system event received

3. Fix possible deadlock on mdns deinit calling mdns_free(). Mnds_free() initiates stop and delete timer tasks, which after locking the mutex could lead to a dead lock in case timer task executed before deleting the task, as it would wait indefinitelly for unlocking the mutex. This condition is fixed by calling _mdns_stop_timer without locking the mutex, because there's no need to protect any data when stopping and deleting the timer task

4. Fix race condition in updating packet data from user task when failed to allocate or queue a new service. Issue: mdns_service_add API allocates and queues an action to be processed in mdns task context; when allocation or queueing fails, allocated structure needs to be freed. Function _mdns_free_service did not only fee all the structures, but also updates packet data. Resolution: Moved removal of packet data outside of _mdns_free_service function

5. Fix possible crash when packet scheduled to transmit contained service which might have been already removed. Packets scheduled to transmit are pushed to action queue and removed from tx_queue_head structure, which is searched for all remaining services and while service is removed, then service questions/asnwers are also removed from this structure. This update fixes possible crash when packet is pushed to action queue, and when service is removed, its answers are removed from tx_queue_head, but not from action queue. This could lead to a crash when the packet is poped from action queue containing questions/answers to already removed (freed) service

6. Use binary semaphore instead of mutex when searching. Mdns_search_once_t::lock is used to synchronize tasks (taken by one task and given by the other) so it should not be a mutex. Convert to semaphore, and rename to indicate its purpose

7. Fix memory leak in pbuf if tcpipadapter failed to get netif

8. Fix malfuctional query_txt. When running a query for a single txt, result entries were not created and attached to result structure. This issue was introduced when fixing memory leak in txt structure, which worked correctly for PTR queries, but caused trouble for TXT query

9. Fix possible crash when mdns_free called while action queue not empty

10. Fix memory leak when query for service receives multiple ptr entries for one instance

11. Fix crash after init if no memory for task. Mdns init first starts timer task, then starts service task. If service task failed to be created, timer task needs to be stopped too

12. Fixed crash on free undefined ptr after skipped strdup. Shortcircuit evaluation may cause skip of _mdns_strdup_check of any further question field, which after clear_rx_packet freed undefined memory

13. Fix networking running udp_sendif from lwip thread

14. Check all mallocs for failure and add default hook to log error with free heap. Solves crash about _mdns_result_txt_create when stress test

15. Fixed static memory leak

16. Resolve memory leak when txt record received multiple times

17. Skip sending search when finished, not properly locked timer task

18. Sending search packets also in probing and announcing state. Mdns queries did not work properly when send imeadiately after set_hostname, which cuased reinit of pcb and therefore restarted probing, so search packets were blocked until probing finished
2019-05-17 16:29:24 +08:00
43d4d27c11 Merge branch 'bugfix/pwm_channel_num_type_error' into 'master'
bugfix(pwm): fix pwm channel num type error

See merge request sdk/ESP8266_RTOS_SDK!941
2019-05-16 17:09:56 +08:00
cca13e0f99 feat(make): Sync code from esp-idf and modify for ESP8266
Commit ID: f6bfe13e
2019-05-16 16:22:11 +08:00
4c45455ff0 bugfix(pwm): fix pwm channel num type error
Fixes https://github.com/espressif/ESP8266_RTOS_SDK/issues/588
2019-05-16 15:51:36 +08:00
2a0b0f601b docs(doxygen): Fix header files which is not doxygen style 2019-05-16 15:07:27 +08:00
9a5ed5dd7a fix(esp8266): Update ssc library
1. Fix SSC state mixed
2. Modify RX queue from 64 to 128

Commit ID: cf530ee3
2019-05-15 13:55:37 +08:00
4e5e762697 Merge branch 'bugfix/pwm_jitter' into 'master'
bugfix(pwm): fix pwm jitter

See merge request sdk/ESP8266_RTOS_SDK!922
2019-05-06 17:02:51 +08:00
1f6b19def9 Merge branch 'bugfix/fix_pwm_cannot_reenter_nmi' into 'master'
fix(lib): fix pwm cannot reenter nmi

See merge request sdk/ESP8266_RTOS_SDK!920
2019-05-06 16:32:44 +08:00
37ffcbe9e6 feat(esp8266): Add feature to copy old RF parameters to new SDK partition
The old SDK's RF parameters is also kept.
2019-05-05 09:58:18 +08:00
9ddfce9a4a fix(lib): fix pwm cannot reenter nmi 2019-04-28 11:12:58 +08:00
ea43a0c9a6 feat(system): Add global ISR swith 2019-04-28 10:40:50 +08:00
ae61e4dce3 Revert "Merge branch 'feature/add_global_isr_switch' into 'master'"
This reverts merge request !914
2019-04-28 10:32:35 +08:00
c0007f887a bugfix(pwm): fix pwm jitter 2019-04-26 21:16:33 +08:00
887fe571ad fix(esp8266): Fix OTA firmware generation command 2019-04-25 15:15:50 +08:00
d673e2836a feature(i2c): add i2c clock stretch 2019-04-24 15:35:34 +08:00
e7b8e9fa25 feat(system): Add global ISR swith 2019-04-24 14:40:02 +08:00
b28f59909e feat(lib): send deauth to ap before connect 2019-04-24 14:32:38 +08:00
b133de1717 Merge branch 'feature/add_option_for_panic' into 'master'
Add option for panic

See merge request sdk/ESP8266_RTOS_SDK!871
2019-04-23 19:49:11 +08:00