Commit graph

6494 commits

Author SHA1 Message Date
Ivan Grokhotkov
23448e7121 newlib: build with wcsftime function 2017-01-11 15:03:12 +08:00
Jiang Jiang Jian
63091a2358 Merge branch 'feature/ethernet_support_flow_control' into 'master'
ethernet: support flow control

(1) Only fullduplex mode support flow ctrl .

(2) Fix reboot exception which caused by not-reset EMAC hardware (such as DMA) when reset CPU.

See merge request !392
2017-01-11 14:51:43 +08:00
Jiang Jiang Jian
ae48cbd8c4 Merge branch 'bugfix/id9561_bt_status_check' into 'master'
component/bt: bug fix of lack of checking bluetooth stack status inside API functions

Add an API function for checking bluetooth stack status: whether it is uninitialized, initialized or enabled.
The function is intended to be used by users to check the bluetooth stack status, also, it is used inside bluetooth API functions to ensure the stack is in valid state.

See merge request !405
2017-01-11 14:38:43 +08:00
Jeroen Domburg
daa2b7cbc9 n, h and l actually are 6-bit; they go from 1 to 64. 2017-01-11 14:13:37 +08:00
wangmengyang
babeed4170 component/bt: change MACRO to inline function when invoking callbacks 2017-01-11 14:08:16 +08:00
wangmengyang
c592714679 component/bt: fix typos in "if" condition espressions 2017-01-11 13:36:48 +08:00
Jeroen Domburg
a98d07d650 Fix clock divider calculation 2017-01-11 13:01:48 +08:00
XiaXiaotian
b455b0246c add wpa2 set id api and modify null data tx description
1. wpa2: add wpa2 set id api

2. low rate: modify null data tx description
2017-01-11 12:13:11 +08:00
Ivan Grokhotkov
919bb747f8 Merge branch 'bugfix/crosscore_int_iram' into 'master'
Place cross-core interrupt into IRAM, sanity check handler address passed into esp_intr_alloc

Cross-core interrupt handler was not marked with IRAM_ATTR.

The reason why this caused an exception is probably due to some tasks running at highest priority (these are not blocked by spi_flash_disable_caches_interrupts_and_other_cpu mechanism).

This change puts the interrupt handler into IRAM and adds a sanity check into `esp_intr_alloc`.

Reported on Github: https://github.com/espressif/esp-idf/issues/211


See merge request !404
2017-01-11 12:07:43 +08:00
Jeroen Domburg
69a7cfa976 Also update documentation to new conventions 2017-01-11 11:55:23 +08:00
Ivan Grokhotkov
a2e0c2432e esp32: sanity check ISR handler address passed into esp_intr_alloc
Return ESP_ERR_INVALID_ARG if the handler is not in IRAM (or RTC fast memory)
2017-01-11 11:38:17 +08:00
Ivan Grokhotkov
8c26dd8d38 Merge branch 'feature/idf_version' into 'master'
build system: add IDF_VER environment variable and preprocessor define

This adds an `IDF_VER` preprocessor define which is obtained from `git describe`.

Looks like `v1.0-275-g0efaa4f` for non-release version or `v2.0` for a tagged (release) version.

See merge request !403
2017-01-11 11:34:28 +08:00
wangmengyang
0c31bdf643 component/bt: check for registration status of callback function before using it 2017-01-11 11:31:35 +08:00
Jeroen Domburg
ee59fa75f4 Rename SPI Master IO pins to more common terminology, add better explanation to queue_length initialization value 2017-01-11 11:25:56 +08:00
Wu Jian Gang
758281dfed Merge branch 'feature/ping_function' into 'master'
Add ping function

Add ping function, It's need enable LWIP_RAW.

See merge request !285
2017-01-11 11:25:32 +08:00
wangmengyang
59540eeae1 component/bt: bug fix of lack of checking bluetooth stack status inside API functions 2017-01-11 11:04:41 +08:00
Liu Han
6c86586e97 components/lwip: Set the ping target info
Add API for set the ping target info and get the ping result
2017-01-11 10:58:34 +08:00
Ivan Grokhotkov
833102cbf3 esp32: place cross-core interrupt handler into IRAM
esp_intr_alloc is called with ESP_INTR_FLAG_IRAM, so the ISR should be in IRAM.
2017-01-11 00:52:45 +08:00
Ivan Grokhotkov
89e0ecc272 build system: add IDF_VER environment variable and preprocessor define 2017-01-11 00:24:50 +08:00
shangke
2e06c6ba38 dhcp: fix dhcp err when wifi and ethernet coexist 2017-01-10 21:54:53 +08:00
shangke
0e701e1cac ethernet: support flow control 2017-01-10 15:19:18 +08:00
Jeroen Domburg
5eb8eb3855 SPI master: rename transaction flags from SPI_* to SPI_TRANS_*, like the documentation says. Also add some explanation about the SPI signals in the documentation 2017-01-10 14:41:12 +08:00
Jeroen Domburg
a3f6728797 Merge branch 'feature/watchpoint_on_stack_canary' into 'master'
Add option to automatically set a watchpoint at the end of the swapped-in task

This should make stack overflows easier to debug because it triggers a debug exception as soon as the stack is overwritten, not later when a context switch happens. Marked as a FreeRTOS debug feature because it doesn't give a nice error message and uses up a watchpoint.

See merge request !389
2017-01-10 14:01:07 +08:00
Wu Jian Gang
2927688eba Merge branch 'bugfix/tcpip_adapter_set_hostname' into 'master'
Fix tcpip_adapter_set_hostname issue

The default hostname for each interface is "espressif", users can call this API to change each interface's hostname.

See merge request !284
2017-01-10 13:59:22 +08:00
Angus Gratton
26d1a23308 config: Move WiFi & BT toggles to Components menu, same as Ethernet 2017-01-10 16:39:43 +11:00
Jeroen Domburg
881157e1ed Add documentation to panic handler functions, move watchpoint stuff from tasks.c to port.c, account for non-32-bytes-aligned stacks when setting watchpoint, add debug reason explanation to panic handler 2017-01-10 13:05:19 +08:00
Angus Gratton
2e78b397bc config: Simplify WiFi & Bluetooth config options
Removes redundant menu options, splits WiFi configuration out from
generic ESP32 configuration.
2017-01-10 16:04:04 +11:00
Ivan Grokhotkov
e9f8e03309 Merge branch 'feature/JSON_Float' into 'master'
Add float format process

Add float format process

See merge request !390
2017-01-10 13:01:43 +08:00
Liu Han
315b3f979f components/tcpip_adapter: Allow to set different hostname for each interface 2017-01-10 12:42:14 +08:00
Wu Jian Gang
fb70126bc8 Merge branch 'feature/openssl' into 'master'
examples/10_openssl_server: fixup SSL server with method of specific version

1. add method of any version supporting at OpenSSL and add API in header file
2. change OpenSSL server context method to be method of any version

Fixes http://esp32.com/viewtopic.php?f=14&t=696.

See merge request !369
2017-01-10 12:01:40 +08:00
Angus Gratton
c4b3f6bbbc Update esptool.py to v2.0-beta1
Minor bug fixes, no major functionality changes.
2017-01-10 14:04:54 +11:00
Angus Gratton
a54791846b coap: Initialise/update the libcoap submodule 2017-01-10 11:12:02 +11:00
Angus Gratton
b877216fef stdatomic.h: Include stdint.h, required for some limit types 2017-01-10 11:11:27 +11:00
Angus Gratton
433ff1474e WiFi software coexistence: Clarify KConfig description
Ref http://esp32.com/viewtopic.php?f=13&t=844&p=3576
2017-01-10 11:11:27 +11:00
Jiang Jiang Jian
f89de9c5af Merge branch 'feature/low_rate_change_ie' into 'master'
esp32:update wifi libs

1. low_rate: change low rate ie
2. modem sleep

See merge request !391
2017-01-09 21:14:40 +08:00
Wu Jian Gang
8615dbd486 Merge branch 'bugfix/autoip_enable_issue' into 'master'
lwip: fix compile issue when autoip option enabled



See merge request !383
2017-01-09 18:57:03 +08:00
qiyueixa
d5464074dd update wifi libs 2017-01-09 18:44:27 +08:00
Liu Han
5c1c6d2c32 cJSON:Add float format process 2017-01-09 17:51:48 +08:00
Jeroen Domburg
ca57a86f20 Add option to automatically set a watchpoint at the end of the swapped-in task 2017-01-09 16:42:45 +08:00
Jiang Jiang Jian
633cd49f88 Merge branch 'bugfix/detect_ocd_when_panic' into 'master'
Fix OpenOCD detection code

In the current master, detection of an attached OCD is broken. This fixes it.

I also snuck in two unrelated checks in intr_alloc which return from a function that is asserted earlier in the code. This makes the code behave better when they are called erroneously in a production build.

See merge request !377
2017-01-09 13:25:45 +08:00
Angus Gratton
1820069943 Merge branch 'bugfix/sdkconfig_defaults' into 'master'
build system: Fix sdkconfig.defaults file preventing menuconfig changes

'make defconfig' now behaves similarly whether sdkconfig.defaults
is present or not, and 'make menuconfig' doesn't trigger a defconfig.

See merge request !385
2017-01-09 12:51:20 +08:00
Angus Gratton
6421479dab build system: Fix sdkconfig.defaults file preventing menuconfig changes
'make defconfig' now behaves similarly whether sdkconfig.defaults
is present or not, and 'make menuconfig' doesn't trigger a defconfig.
2017-01-09 15:19:23 +11:00
Jeroen Domburg
11a994d5d8 Calling esp_intr_noniram_[en|dis]able twice is an error, so abort instead of doing an assert which disappears in non-debug mode 2017-01-09 12:04:21 +08:00
Jiang Jiang Jian
0106feeeda Merge branch 'feature/btdm_common_api' into 'master'
component/bt : add bt device api

1. add get bd_addr function

later, will add other functions reference with bluetooth device.

See merge request !380
2017-01-09 11:33:57 +08:00
Wu Jian Gang
37fbe9efb3 Merge branch 'bugfix/tw9515_fix_wifi_timer_thread_safe_issue' into 'master'
esp32: fix wifi timer thread-safe issue

Update wifi lib to fix a wifi timer thread-safe issue

See merge request !388
2017-01-09 10:54:00 +08:00
Wu Jian Gang
9dd5f2a952 lwip: fix compile issue when autoip option enabled 2017-01-09 10:22:36 +08:00
Liu Zhi Fu
084c14f1e4 esp32: fix wifi timer thread-safe issue
Update wifi lib to fix a wifi timer thread-safe issue
2017-01-09 10:21:29 +08:00
Ivan Grokhotkov
3fba6f4392 Merge branch 'bugfix/bootloader_ets_cpu_update_freq' into 'master'
bootloader: export ets_update_cpu_frequency

MR !363 added linking librtc into bootloader. At the same time, MR !373 removed ets_update_cpu_frequency from ROM exports ld script, and replaced it with a dual CPU aware version. Combining these two MRs caused linker error in bootloader due to the unresolved `ets_update_cpu_frequency`.

One option to fix this is to move the definition of ets_update_cpu_frequency into bootloader_support component. This does however look a bit odd because this function is not something that is specifically needed for bootloader support.

Another option is to export the ROM version of ets_update_cpu_frequency for the bootloader only. This means that when bootloader changes CPU frequency, it only updates the tick period variable for PRO CPU. This isn't an issue though, because app startup code still calls the dual CPU aware version of ets_update_cpu_frequency early on, before any non-trivial code can run on the APP cpu.

This MR uses the second approach. Looking forward, we may move this definition of ets_update_cpu_frequency into the rtc_clk component, which will be used both by the bootloader and the app, and placing ets_update_cpu_frequency there would be logical.

See merge request !384
2017-01-09 10:14:00 +08:00
Ivan Grokhotkov
5b5a4355e7 Merge branch 'feature/sd_driver_new' into 'master'
SDMMC peripheral driver, SD protocol driver, FATFS library, VFS integration

This MR contains:
- SDMMC host peripheral driver
- SD protocol driver in sdmmc component (can be extended to support MMC/eMMC and SPI based hosts)
- ChaN's FATFS library v0.12b
- VFS integration
- FAT access via VFS is thread-safe (unless same file is read/written/unlinked/renamed from different tasks)
- Support for POSIX directory-related functions in VFS (and in vfs_fatfs.c)
- unit test for the above
- Example
- API documentation

Will be done in other MRs:
- Support for spi_flash IO driver for FatFs
- SPI host driver and support for SPI mode commands in sdmmc component
- MMC/eMMC support in sdmmc component
- Support for slightly higher 53/26.6MHz clocks (currently I'm using 20MHz for DS and 40MHz for HS, instead of 25MHz/50MHz per standard), and arbitrary low clocks (e.g. 4MHz).

See merge request !353
2017-01-09 06:48:25 +08:00
Ivan Grokhotkov
47f4a09704 docs: add sdmmc and fatfs docs 2017-01-09 05:54:12 +08:00