Deng Xin
ee25caf4b2
WiFi: optimize scan feature
...
1. Add all channel scan feature
2. Add sort matched SSID by authmode feature
2017-09-21 14:28:49 +08:00
Alexey Gerenkov
b09f4acb27
Added proper handling of apptrace and pthread initialization errors
2017-09-14 20:47:43 +02:00
krzychb
a1ebeed303
Changed initialization sequence of application tracing component on APP CPU so it follows completion of initialization of the same component on PRO CPU. Previously, because of missing locking mechanism, both components were printing logs to UART at the same time. As results logs contained only corrupted characters / were not legible at all. Internal tracking: esp-idf/openocd-esp32, Issue 15
2017-09-14 20:47:43 +02:00
Jiang Jiang Jian
5aa52709c2
Merge branch 'bugfix/fix_some_wifi_lib_bugs' into 'master'
...
Fix some wifi lib bugs
See merge request !1255
2017-09-14 20:39:02 +08:00
Jiang Jiang Jian
c74d944edf
Merge branch 'feature/refractor_smartconfig' into 'master'
...
Refractor smartconfig
See merge request !1253
2017-09-14 20:38:30 +08:00
Jeroen Domburg
0460069582
Merge branch 'bugfix/panic_dport_no_mutex' into 'master'
...
Panic: stop dport access handler without trying to use a lock
See merge request !1244
2017-09-14 18:07:06 +08:00
XiaXiaotian
6bfbe6e4ed
Fix some wifi lib bugs
...
1. add adc2 coexistence
2. change NOW() to WDEV_NOW()
3. call ets_timer_done() before calling ets_timer_setfn()
4. fix the bug that api lock is not unlocked when call esp_wifi_stop()
twice
5. more hmac tx buffer limit from 32 to 64.
2017-09-14 15:19:46 +08:00
Jeroen Domburg
6d95934a3c
Make 80MHz PSRAM work as well, add testcase for weirdness reported on esp32 forums, clean up unused define in psram code
2017-09-14 10:47:44 +08:00
Jeroen Domburg
875ae6a134
Add option to allocate external RAM using heap_alloc_caps
2017-09-14 10:47:44 +08:00
Jiang Jiang Jian
33a4a6a510
Merge branch 'feature/add_espnow' into 'master'
...
add ESPNOW feature
See merge request !1061
2017-09-13 20:32:53 +08:00
XiaXiaotian
6753f6cb59
Refractor smartconfig
...
Move code of receiving smartconfig packets and getting password to
wifi lib. Open source code of sending smartconfig ACK to cellphone
in IDF.
2017-09-13 16:55:30 +08:00
Jiang Jiang Jian
f1e3b0df02
Merge branch 'feature/adv_scan_simultaneously' into 'master'
...
component/bt : support adv & scan simultaneously
See merge request !1209
2017-09-13 11:50:57 +08:00
Jeroen Domburg
9c56d9e75e
Make sure functions that are in ROM in the non-external-ram-workaround version, are in RAM (and not in flash) in the ext-ram workaround version.
2017-09-13 10:36:56 +08:00
Ivan Grokhotkov
b6d82eeceb
Merge branch 'feature/gcov_over_apptrace' into 'master'
...
esp32: Adds gcov over JTAG feature
See merge request !1117
2017-09-12 18:54:26 +08:00
Tian Hao
00a7cdbb0b
component/bt : support adv & scan simultaneously
...
1. Occupy conn[9] for adv. The max connection number of bluetooth controller decrease to 9. (Previously, it is 10)
2. modify the enum of setting BLE TX power corresponding to connection's.
3. fix libbtdm_app.a cwitch jump table
2017-09-12 16:10:30 +08:00
XiaXiaotian
e4ba31a8b9
add ESPNOW feature
...
ESPNOW is a kind of WiFi communication bettween WiFi devices, no
matter they are connected to each other or not. Once two WiFi
devices are paired, they can send data to or receive data from
each other. The data is transmitted in action frame which can
be encrypted with CCMP method. ESPNOW also support mutilcast frame
transmitting.
2017-09-12 12:12:13 +08:00
Jeroen Domburg
b3fd494e71
Panic: stop dport access handler without trying to use a lock
2017-09-11 17:24:22 +08:00
Ivan Grokhotkov
33cb16fd2a
esp32: fix cache error interrupt handler
...
Cache error interrupt would read DPORT registers, which caused DPORT
access protection to kick in. Disable DPORT protection before doing the
reads.
2017-09-08 09:59:09 +08:00
Alexey Gerenkov
891f0db31d
esp32: Adds gcov over JTAG feature
...
Implements function to dump GCOV data to host via JTAG.
The following functionality was added:
- Host file I/O
- GCOV runtime I/O stubs
- GCOV example
2017-09-07 18:13:16 +03:00
Ivan Grokhotkov
5425d8569c
Merge branch 'feature/pthread_api' into 'master'
...
esp32: pthread API
See merge request !1146
2017-09-07 17:49:42 +08:00
Ivan Grokhotkov
40df6546c0
Merge branch 'feature/multi_heap_poisoning' into 'master'
...
Heap tracing & poisoning features
See merge request !749
2017-09-07 17:47:51 +08:00
Ivan Grokhotkov
b9dfb437ab
Merge branch 'bugfix/intr_free' into 'master'
...
fix(intr): fix the logic for allocating and freeing interrupts.
See merge request !1124
2017-09-07 17:45:18 +08:00
Angus Gratton
ec498ad86d
libgcc: Place assembly functions (including __xtensa_libgcc_window_spill) in IRAM
2017-09-07 16:32:05 +10:00
Angus Gratton
5c417963eb
multi_heap: Add heap poisoning features
2017-09-07 16:32:05 +10:00
Liu Zhi Fu
a568ad2c9d
esp32: update wifi lib for a bunch of small feature and bugfix
...
1. Update RTC V229: add BT AGC saturation protection
2. Update PHY V359: (1). esp_init_data_v2.bin -- modify WIFI and BT RX gain table Setting
(2). modify phy_close_rf()
(3). noisefloor add limit and no print
3. WiFi supports modem sleep dynamic frequency switch
4. Fix disabling AMPDU cause esp_wifi_init fail issue
5. Fix sniffer mode cause WiFi can't connect issue
6. Optimize an internal rx buffer full issue
7. Rollback the internal wifi init flag when wifi init fail
2017-09-07 11:01:12 +08:00
Angus Gratton
4809c70899
Merge branch 'feature/register_heaps_runtime' into 'master'
...
heap: Support adding new heap regions at runtime
See merge request !1159
2017-09-07 10:18:21 +08:00
michael
73ba29e6df
refactor(intr): remove useless tags in the debug log.
2017-09-06 15:20:04 +08:00
michael
c82e51cf79
fix(intr): always assign the same intr to a same source, disable the source only when all the handlers disabled.
...
also document handlers sharing a same source.
TW#13454, https://github.com/nodemcu/nodemcu-firmware/issues/1874
Breaking change: handles assigned to a same source should have the same flag now.
2017-09-06 15:20:01 +08:00
Alexey Gerenkov
5094965e98
According to comments
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
0b09c7006d
pthread: Initial version of thread API
2017-09-06 10:30:23 +08:00
Jeroen Domburg
604308f4ab
Merge branch 'bugfix/soft_reboot_psram' into 'master'
...
Fix rebooting when external RAM is active
See merge request !1207
2017-09-05 15:43:30 +08:00
Angus Gratton
74d5f85c53
Merge branch 'feature/build_warn_undefined_vars' into 'master'
...
Add --warn-undefined-variables to MAKEFLAGS (github #138 )
See merge request !1214
2017-09-05 15:39:48 +08:00
Angus Gratton
8670844acf
build system: Restore ifdef/ifndef in Makefiles, clean up examples build
2017-09-05 16:11:03 +10:00
Deomid Ryabkov
9903ea1c11
Add --warn-undefined-variables to MAKEFLAGS
...
Fix warnings where undefined vars are used.
Make Kconfig emit "FOO=" for unset bool options
To ensure make variables are always defined, even if empty.
When writing auto.conf, include symbols disabled by dependency to make sure all make variables are always defined.
Fixes espressif/esp-idf#137
Cherry-picked from https://github.com/espressif/esp-idf/pull/138
2017-09-05 16:10:46 +10:00
Angus Gratton
5361c08989
heap: Support adding new heap regions at runtime
...
To facilitate this, the list of registered heap regions is now a linked list
(allowing entries to be appended at runtime.)
2017-09-05 14:07:02 +10:00
Ivan Grokhotkov
8433fed7f4
Merge branch 'bugfix/core_dump_loop' into 'master'
...
esp32: Fixes infinite loop caused by exception during core dumping
See merge request !1210
2017-09-05 11:40:31 +08:00
Ivan Grokhotkov
c007213fed
Merge branch 'bugfix/deep_sleep_wakeup_stub' into 'master'
...
deep sleep: don't use protected DPORT access in wake stub
See merge request !1194
2017-09-05 11:22:52 +08:00
Alexey Gerenkov
fb8b0c534a
esp32: Fixes infinite loop caused by exception during core dumping
2017-09-05 11:15:27 +08:00
Jeroen Domburg
0e74ec67be
Fix rebooting when PSRAM is active
2017-09-04 19:00:47 +08:00
Angus Gratton
a19aaf2072
esp32: Update wifi lib to use new spinlock implementation
2017-09-04 19:11:51 +10:00
Jeroen Domburg
34372a091c
Add initial SPI RAM support. This adds support for an ESP-PSRAM32 chip connected to the default flash pins and GPIO 16 and 17. The RAM is mapped to address 0x3F800000, but otherwise ignored by esp-idf as of yet.
2017-09-04 12:05:49 +08:00
Ivan Grokhotkov
b9ff771e2c
deep sleep: don't use protected DPORT access in wake stub
2017-09-01 18:35:42 +08:00
Ivan Grokhotkov
5666fc0a56
Merge branch 'feature/esp_timer_improvements' into 'master'
...
esp_timer improvements
See merge request !1172
2017-09-01 16:14:01 +08:00
Ivan Grokhotkov
f31efb697c
newlib: rename esp_setup_time_syscalls to esp_set_time_from_rtc
...
This function no longer sets up syscalls, and new name reflects its
purpose better.
2017-09-01 10:36:14 +08:00
Ivan Grokhotkov
d2acf1ce77
sleep: add light sleep, factor out APIs common for deep/light sleep
2017-09-01 10:36:14 +08:00
Ivan Grokhotkov
65b046f17f
dport access: introduce pause/resume instead of deinit
2017-09-01 10:36:14 +08:00
Ivan Grokhotkov
06af8cd086
esp_timer: return signed timestamp (int64_t)
...
Since timestamps are 64-bit, loosing one bit of range due to sign does
not present an issue, however for applications doing calculations on
timestamps, signed return type is more convenient.
2017-09-01 10:34:36 +08:00
Ivan Grokhotkov
c5632d3012
esp32: use ref_clock in esp_timer and delay tests
2017-09-01 10:34:36 +08:00
Ivan Grokhotkov
1af6384349
esp_timer: lock-free implementation of esp_timer_get_time
...
The implementation of esp_timer_get_time used a critical section, which
resulted in a call time of ~1.8us. To make esp_timer_get_time more
useable as a high-resolution time source, this change replaces the lock
with polling. Call time is reduced to ~0.7us.
2017-09-01 10:34:36 +08:00
Ivan Grokhotkov
d4e950d311
Merge branch 'feature/cxx_exceptions' into 'master'
...
Partial support for C++ exceptions
See merge request !930
2017-09-01 00:27:41 +08:00
Geza Husi
eb8bd937c6
deep_sleep: RTC-GPIO pin calculation incorrect
...
Merges https://github.com/espressif/esp-idf/pull/822
2017-08-30 17:55:00 +10:00
Lacy Rhoades
c61b3e89f1
Typo fixes
...
Merges https://github.com/espressif/esp-idf/pull/831
2017-08-30 17:55:00 +10:00
Deomid Ryabkov
8c1acb0363
Provide a default for CONFIG_BT_RESERVE_DRAM
...
...when BT is not built
Merges https://github.com/espressif/esp-idf/pull/910
2017-08-30 17:55:00 +10:00
Ivan Grokhotkov
a25eb825e1
Merge branch 'bugfix/dport_protect_crypto' into 'master'
...
add protection for crypto registers in DPORT
See merge request !928
2017-08-30 11:45:35 +08:00
Ivan Grokhotkov
547ef83020
Merge branch 'feature/disable_some_perip_clk_when_cpu_start' into 'master'
...
Disable some peripheral clocks when cpu starts
See merge request !1089
2017-08-30 11:43:38 +08:00
Angus Gratton
1e22bcdfde
esp32: Add KConfig option to disable ROM Console fallback on first boot
2017-08-29 14:52:00 +10:00
XiaXiaotian
4776f73ca4
Disable some peripheral clocks when cpu starts
...
All peripheral clocks are default enabled after chip is powered on.
When CPU starts, if reset reason is CPU reset, disable those clocks
that are not enabled before reset. Otherwise, disable all those
useless clocks.
These peripheral clocks must be enabled when the peripherals are
initialized and disabled when they are deinitialized.
2017-08-29 11:18:42 +08:00
Ivan Grokhotkov
82763a02af
Merge branch 'feature/ets_timer' into 'master'
...
esp_timer: add high-resolution timer api
See merge request !1090
2017-08-28 16:38:11 +08:00
Jeroen Domburg
a589411a3c
Place uart_tx_wait_idle in IRAM
2017-08-28 11:35:27 +08:00
Ivan Grokhotkov
d8b66e5088
soc: release interrupts which are not reserved by timers any more
2017-08-28 11:35:27 +08:00
Ivan Grokhotkov
857a29872d
esp_timer: add high resolution software timer API
2017-08-28 11:35:26 +08:00
Jeroen Domburg
3e4627479b
Place uart_tx_wait_idle in IRAM
2017-08-25 17:46:28 +08:00
Angus Gratton
703d143619
hwcrypto: Fix bug with concurrent SHA access
...
If two different types of SHA hashes were active in the hardware
concurrently, a race condition meant the SHA unit could be incorrectly
reset leading to all-zero results.
2017-08-25 16:08:03 +10:00
Angus Gratton
afb6119504
dport access: Fix WDT bug (permanent locking) in non-pinned tasks
...
If scheduler switches cores in narrow window during esp_dport_access_stall_other_cpu_start(), could cause the stall
interrupt to occur on the running CPU - halting the CPU until WDT cleans up.
Related to https://github.com/espressif/esp-idf/issues/630
2017-08-25 16:08:03 +10:00
Angus Gratton
50e0a54630
esp32 hwcrypto: Use spinlock instead of lock to protect AES
...
More than doubles performance of mbedTLS AES self-tests.
2017-08-25 16:08:03 +10:00
Angus Gratton
2624e10055
esp32 hwcrypto: Use AES registers directly
2017-08-25 16:08:03 +10:00
Angus Gratton
e256fb6d96
hwcrypto: Use DPORT-safe accesses with AES
2017-08-25 16:08:03 +10:00
Angus Gratton
d0c300c52d
hwcrypto: SHA acceleration using safe DPORT reads
2017-08-25 16:08:03 +10:00
Angus Gratton
cb31222e8b
dport access: Add _DPORT_REG_SET_BIT & _DPORT_REG_CLR_BIT
2017-08-25 16:08:02 +10:00
Angus Gratton
dc8c33892e
dport access: Fix nested calls to DPORT_STALL_OTHER_CPU_START()
2017-08-25 16:08:02 +10:00
Wu Jian Gang
791daea835
Merge branch 'bugfix/xtal_freq_40' into 'master'
...
esp32: by default, set 40MHz crystal frequency
See merge request !1140
2017-08-24 20:40:22 +08:00
Ivan Grokhotkov
0ead095512
Merge branch 'bugfix/dport_stall_in_esp32_component' into 'master'
...
Also do dport stalling in esp32 component
See merge request !1141
2017-08-24 14:35:16 +08:00
Ivan Grokhotkov
327f0b6225
Merge branch 'bugfix/menuconfig_phy' into 'master'
...
component/esp32 : move Phy out of Wifi section
See merge request !1145
2017-08-24 14:34:56 +08:00
Jiang Jiang Jian
d42208ffe8
Merge branch 'bugfix/ampdu_default_wifi_settings' into 'master'
...
wifi: Fix compilation error in WIFI_INIT_CONFIG_DEFAULT() if AMPDU disabled
See merge request !1139
2017-08-24 11:02:54 +08:00
Wang Jia Lin
f1ecffb46c
Merge branch 'bugfix/touch_pad_driver' into 'master'
...
driver(touch): fix bug and add more features
See merge request !1056
2017-08-23 19:12:39 +08:00
Tian Hao
08221589fc
component/esp32 : move Phy outof Wifi section
...
1. move Phy out of Wifi section
2. lowercase the Ethernet and Phy from 2nd letter.
2017-08-23 17:51:31 +08:00
Jeroen Domburg
123966deea
Also do dport stalling in esp32 component
2017-08-23 16:43:57 +08:00
Ivan Grokhotkov
9a8c0392f5
esp32: by default, set 40MHz crystal frequency
2017-08-23 16:33:26 +08:00
Angus Gratton
83a3241341
wifi: Fix compilation error in WIFI_INIT_CONFIG_DEFAULT() if AMPDU disabled
2017-08-23 09:33:47 +10:00
Wangjialin
842caaab21
driver(touch): fix bug and add more features
...
1. add sens_struct.h
2. add definition of RTCCNTL and RTCIO
3. modify touch pad examples
4. update example code.
5. add comments add option in menuconfig
6. fix issue that pad index 8 and 9 are mismatched
7. add touch_pad_read_filtered() api to get value filtered by iir filter
8. modify touch pad isr func
9. Make the items in perihperal.ld in the sequence of address
10. delete Kconfig for touch pad
11. add touchpad filter APIs to adjust the filter
12. add touch_pad into index.rst
13. add touch_pad in Doxyfile
14. add touch_pad.rst
2017-08-22 21:21:39 +08:00
Ivan Grokhotkov
fb43948413
Update several Kconfig files to make help texts compatible with ReST
2017-08-22 14:34:19 +08:00
Deng Xin
d739e6bf05
WPA2:Fix the issue memory leak when run wifi enterprise
...
fix the issue memory leak when run wpa2
2017-08-22 10:49:31 +08:00
Jiang Jiang Jian
fc85cb683d
Merge branch 'feature/wifi_and_ip_event_process_refactor' into 'master'
...
Feature/wifi and ip event process refactor
See merge request !986
2017-08-21 19:49:30 +08:00
Ivan Grokhotkov
489c523870
vfs: support for blocking reads, more newline conversion options
...
Previously VFS driver for UART could only use simple non-blocking
functions to read from and write to the UART. UART driver provides more
complex blocking and interrupt-driven functions, which can be used
instead.
This commit adds optional support for using UART driver's functions.
Also added is a more flexible mechanism for configuring newline
conversion rules on input and output.
This commit also fixes a bug that all UARTs shared one static variable
used as a character buffer in newline conversion code. This variable is
changed to be per-UART.
2017-08-21 15:58:28 +08:00
Liu Zhi Fu
b45433110f
tcpip_adapter/lwip: optimize wifi/ip event
2017-08-21 14:36:44 +08:00
Kedar Sovani
4c1c62a453
wifi: refactor code to match ethernet's init function structure
2017-08-18 08:33:02 +05:30
Kedar Sovani
8348a71847
ethernet: remove CONFIG_ETHERNET
...
1. Hello World application shows no footprint difference before and
after this change
2. examples/ethernet/ethernet application compiles properly (can't
test with my board)
2017-08-18 08:31:43 +05:30
Kedar Sovani
6405d6f874
kconfig: Add an option for skipping binary blobs
2017-08-16 15:55:42 +05:30
Kedar Sovani
ba8cd58b08
kconfig: Remove Wi-Fi on/off as a menuconfig option
...
This is no longer required since the functions automatically get
pulled in based on the usage. A quick summary of footprint
comparisions before and after these set of patches is shown below:
Hello-World: (simplified for readability)
old Total image size:~ 104902 bytes (.bin may be padded larger)
old Total image size:~ 105254 bytes (.bin may be padded larger)
Per-archive contributions to ELF file:
Archive File DRAM .data & .bss IRAM Flash code & rodata Total
old libesp32.a 1973 177 4445 3939 2267 12801
new libesp32.a 1973 185 4473 3939 2267 12837
new libnvs_flash.a 0 92 0 274 8 374
new libstdc++.a 0 0 0 24 0 24
For some reason, nvs_flash.a (~400bytes) gets pulled in (particularly
the nvs_flash_init() function).
Power-Save: (simplified for readability)
old Total image size:~ 421347 bytes (.bin may be padded larger)
old Total image size:~ 421235 bytes (.bin may be padded larger)
old libtcpip_adapter.a 0 81 0 1947 115 2143
new libtcpip_adapter.a 0 69 0 1897 115 2081
The size actually shrinks a bit, since the AP interface function
doesn't get pulled in.
2017-08-16 15:55:28 +05:30
Kedar Sovani
a24130b390
tcpip_adapter: Decompose tcpip_adapter_start() into interface specification options
...
Since only the used interface's start function gets called, it pulls
in only the functions that are required in the current application,
thereby saving footprint.
2017-08-16 15:54:29 +05:30
Kedar Sovani
159e7e81b4
esp32: Make 'restart' function independent of Wi-Fi
...
Restart being a lower-layer system-level function, needn't depend on
the higher level Wi-Fi libraries.
This also enables us to get rid of one more WIFI_ENABLED ifdef check
2017-08-16 15:54:28 +05:30
Kedar Sovani
a41b1a9d1f
esp32: Register event handlers on the esp_wifi_init() call
2017-08-16 15:54:28 +05:30
Kedar Sovani
55a6aca355
wifi: Map esp_wifi_init() to esp_wifi_init_internal()
...
Follow-on patches will include additional functionality in
esp_wifi_init()
2017-08-16 15:54:28 +05:30
Kedar Sovani
8063b93497
wifi_lib: Update to the change in the wifi_lib repository
2017-08-16 15:54:13 +05:30
Deng Xin
57bc38d867
Add the fast crypto function in supplicant
...
optimize the speed when do wifi connect
2017-08-09 21:36:13 +08:00
XiaXiaotian
1c4f7f2081
add get and set wifi maximum transmit power API
2017-07-28 15:06:52 +08:00
Liu Zhi Fu
c99c5d13e6
esp32: add menuconfig options to configure BA window
...
Make AMPDU Block Ack Window configurable in menuconfig because we need to configure it
in some special cases, such as iperf test etc
2017-07-25 13:11:38 +08:00
Ivan Grokhotkov
292c2abd3b
Merge branch 'bugfix/init_nvs_in_bluetooth' into 'master'
...
bt: call nvs_flash_init in examples, show error if NVS is not initialized
See merge request !1003
2017-07-20 14:25:49 +08:00
Angus Gratton
105c4b7386
Merge branch 'feature/esptool_image_padding' into 'master'
...
esptool: Optimise app image size by using RAM-loaded data for padding
See merge request !1017
2017-07-19 15:52:22 +08:00
Angus Gratton
2d9770fd00
linker script: Add some comments about significance of 0x18 byte offset
2017-07-19 17:38:05 +10:00