]> granicus.if.org Git - esp-idf/log
esp-idf
7 years agoesp32: update wifi lib to fix tw8868
Liu Zhi Fu [Wed, 30 Nov 2016 06:20:05 +0000 (14:20 +0800)]
esp32: update wifi lib to fix tw8868

In AP bridge mode, the length of the forwarded data is wrong, it's 26Btyes longer, thus cuase
AP can't forward the data of which length is more than 1460. This modification is to make the
data length right.

7 years agoMerge branch 'bugfix/tw8851_some_phy_cause_wifi_connect_fail' into 'master'
Wu Jian Gang [Tue, 29 Nov 2016 12:15:30 +0000 (20:15 +0800)]
Merge branch 'bugfix/tw8851_some_phy_cause_wifi_connect_fail' into 'master'

esp32: fix tw8851 some phy version cause wifi connect fail

Update phy version to 258 to fix tw8851
When upgrade the phy version, the RF calibration version is not change, but the calibration data format is changed and the wrong calibration data causes wifi connection failure. The solution is to make RF calibration data and phy version the same version.

See merge request !258

7 years agoMerge branch 'tw8810' into 'master'
Wu Jian Gang [Tue, 29 Nov 2016 12:06:06 +0000 (20:06 +0800)]
Merge branch 'tw8810' into 'master'

lwip: update open socket number.

modify default number from 4 to 10

See merge request !259

7 years agoesp32: update wifi lib
Liu Zhi Fu [Tue, 29 Nov 2016 07:30:31 +0000 (15:30 +0800)]
esp32: update wifi lib

1. update phy to version 258 to fix wifi upgrade cause wifi connect fail issue
2. update fix_printf.sh
3. fb5a2b07 - default set ps type to WIFI_PS_NONE

7 years agolwip: update open socket number.
liuhan [Tue, 29 Nov 2016 08:25:17 +0000 (16:25 +0800)]
lwip: update open socket number.

modify default number from 4 to 10

7 years agoMerge branch 'feature/fota_ops_api' into 'master'
Wu Jian Gang [Tue, 29 Nov 2016 05:45:44 +0000 (13:45 +0800)]
Merge branch 'feature/fota_ops_api' into 'master'

Add fota ops api

add ota core function implement
1. esp_ota_begin: init ota partition need to be update, output ota handle,every partition need ota should be init firstly
2. esp_ota_write: write image data to update partition, will record wrote size automatically
3. esp_ota_end: verify image after ota ended
4. esp_ota_set_boot_partition: set next boot partition
5. esp_ota_get_boot_partition: get current running partition

See merge request !256

7 years agoMerge branch 'bugfix/mbedtls_sha384' into 'master'
Angus Gratton [Mon, 28 Nov 2016 19:16:30 +0000 (03:16 +0800)]
Merge branch 'bugfix/mbedtls_sha384' into 'master'

Bugfix mbedtls sha384 clone()

mbedtls_sha512_clone() on a SHA-384 hash caused incorrect digest

Also adds additional mbedtls unit tests into the unit tests project (including one for this bug).

See merge request !252

7 years agoMerge branch 'feature/merge_some_misc_changes' into 'master'
Wu Jian Gang [Mon, 28 Nov 2016 12:27:29 +0000 (20:27 +0800)]
Merge branch 'feature/merge_some_misc_changes' into 'master'

esp32/lwip: some misc changes

1. Update phy to fix HT40 rx issue
2. Add code about RX_DONE/TX_DONE/Lock-free optimization
3. Fix wifi ioctl return value error
4. Add lwip statistics debug code
5. Modify TCP window size to 10 and send buffer size to 5

See merge request !257

7 years agoesp32: update wifi lib to add tw8913 fix
Liu Zhi Fu [Mon, 28 Nov 2016 12:11:43 +0000 (20:11 +0800)]
esp32: update wifi lib to add tw8913 fix

dfe73737 - tw8913 wakeup first before scan

7 years agolwip: modify according code review
Liu Zhi Fu [Mon, 28 Nov 2016 11:54:22 +0000 (19:54 +0800)]
lwip: modify according code review

1. Modify tcp window size/send buffer back to 4/2
2. Disable lwip statistics by default

7 years agoesp32/lwip: some misc changes
Liu Zhi Fu [Mon, 28 Nov 2016 10:36:14 +0000 (18:36 +0800)]
esp32/lwip: some misc changes

1. Update phy to fix HT40 rx issue
2. Add code about RX_DONE/TX_DONE/Lock-free optimization
3. Fix wifi ioctl return value error
4. Add lwip statistics debug code
5. Modify TCP window size to 10 and send buffer size to 5

7 years agofeature/fota_ops_api: add ota core api implement
Tian Zhong Xing [Mon, 28 Nov 2016 05:53:03 +0000 (13:53 +0800)]
feature/fota_ops_api: add ota core api implement

7 years agoMerge branch 'feature/modem_sleep' into 'master'
Wu Jian Gang [Fri, 25 Nov 2016 11:32:03 +0000 (19:32 +0800)]
Merge branch 'feature/modem_sleep' into 'master'

Feature/modem sleep

See merge request !251

7 years agomodem sleep: update wifi lib
Xia Xiaotian [Fri, 25 Nov 2016 11:06:52 +0000 (19:06 +0800)]
modem sleep: update wifi lib

1. add libwpa2.a

7 years agoMerge branch 'feature/wpa2_enterprise' into 'master'
Wu Jian Gang [Fri, 25 Nov 2016 10:46:29 +0000 (18:46 +0800)]
Merge branch 'feature/wpa2_enterprise' into 'master'

Feature/wpa2 enterprise

See merge request !250

7 years agowpa2 enterprise: change wpa2 enterprise APIs to esp_wifi_sta_wpa2_ent_XXX
Xia Xiaotian [Fri, 25 Nov 2016 10:08:21 +0000 (18:08 +0800)]
wpa2 enterprise: change wpa2 enterprise APIs to esp_wifi_sta_wpa2_ent_XXX

7 years agowpa2 enterprise: change the type macro to platform default macro ESP_PLATFORM.
Xia Xiaotian [Fri, 25 Nov 2016 08:56:09 +0000 (16:56 +0800)]
wpa2 enterprise: change the type macro to platform default macro ESP_PLATFORM.

7 years agombedTLS SHA: Fix cloning of SHA-384 digests
Angus Gratton [Fri, 25 Nov 2016 08:07:19 +0000 (19:07 +1100)]
mbedTLS SHA: Fix cloning of SHA-384 digests

Hardware unit only reads 384 bits of state for SHA-384 LOAD,
which is enough for final digest but not enough if you plan to
resume digest in software.

7 years agombedtls tests: Add additional MPI (bignum), SHA tests
Angus Gratton [Fri, 25 Nov 2016 08:15:39 +0000 (19:15 +1100)]
mbedtls tests: Add additional MPI (bignum), SHA tests

7 years agoMerge branch 'master' into feature/modem_sleep
Xia Xiaotian [Fri, 25 Nov 2016 07:27:46 +0000 (15:27 +0800)]
Merge branch 'master' into feature/modem_sleep

Conflicts:
components/esp32/lib

7 years agoMerge branch 'bugfix/tw8770_fix_socket_memory_leak' into 'master'
Wu Jian Gang [Fri, 25 Nov 2016 05:44:02 +0000 (13:44 +0800)]
Merge branch 'bugfix/tw8770_fix_socket_memory_leak' into 'master'

lwip: fix socket memory leak issue

1. Add socket memory leak debug counter
2. Fix TCP PCB leak issue
    Currently ESP32 support maximum 16 TCP PCBs and all TCP PCB are allocated from heap memory. In some scenario, we may
    have memory leak issue,  for example, the application already created 16 TCP PCB, then it close 5 of them, because the TCP
    state machine, the LWIP core may not free all the 5 TCP PCB immediately, maybe some is in TIME_WAIT status, some is in
    FIN_WAIT_1 etc. Then the application try to malloc 17th TCP PCB (the application think they just create 12 because they already
    close 5), memp_malloc() will return true because the heap is not out of memory, but actually we got 17 TCP PCB. When the
    scenario repeat again and again (in our Audio application, it repeat more than 10000 times), more and more TCP PCB will be
    created in the system, each TCP PCB require 200B, then memory leak happen (In Audio application, I saw more than 26 TCP PCB
    are created, and 10*200=2K memory are leaked).

See merge request !223

7 years agowpa2 enterprise: update wifi lib and add wpa2_printf
Xia Xiaotian [Fri, 25 Nov 2016 04:03:58 +0000 (12:03 +0800)]
wpa2 enterprise: update wifi lib and add wpa2_printf

7 years agowpa2 enterprise: update wpa2 enterprise API comments
Xia Xiaotian [Fri, 25 Nov 2016 03:03:33 +0000 (11:03 +0800)]
wpa2 enterprise: update wpa2 enterprise API comments

7 years agoMerge branch 'driver_merge_tmp/merge_timer' into 'master'
Wang Jia Lin [Fri, 25 Nov 2016 02:52:40 +0000 (10:52 +0800)]
Merge branch 'driver_merge_tmp/merge_timer' into 'master'

driver: timer

1. add timer driver code
2. add timer example code
3. replace api for enable interrupt in task_wdt.c

See merge request !237

7 years agoMerge branch 'feature/sha_tls_integration' into 'master'
Angus Gratton [Fri, 25 Nov 2016 02:12:29 +0000 (10:12 +0800)]
Merge branch 'feature/sha_tls_integration' into 'master'

SHA acceleration integrated to mbedTLS incl. TLS sessions

Uses hardware SHA acceleration where available, fails over to software where not available.

Ref TW7112

See merge request !232

7 years agoMerge branch 'bugfix/spi_flash_region' into 'master'
Angus Gratton [Fri, 25 Nov 2016 02:11:51 +0000 (10:11 +0800)]
Merge branch 'bugfix/spi_flash_region' into 'master'

spi_flash_erase_range: Allow for 32KB blocks not 64KB blocks

SPI flash hardware sends 52h command, which is a 32KB erase.

There is a matching bug in the ROM SPIEraseArea code, unless
flashchip->block_size is modified first.

See merge request !249

7 years agoMerge branch 'bugfix/ledc_divider' into 'master'
Angus Gratton [Fri, 25 Nov 2016 02:11:33 +0000 (10:11 +0800)]
Merge branch 'bugfix/ledc_divider' into 'master'

ledc: fix reported error when div_param == 256

Whenever bit_num and freq_hz are such that div_param == 256, the code would flag that as an error.
In fact, value 256 of div_param was a valid one (HW requires that div_param >= 1.0, when interpreted as a Q10.8 fixed point value).

Changed the if statements a bit to make the logic clearer, and added more descriptive error messages.

Also added missing error for the unimplemented case of low speed mode.

Reported in https://github.com/igrr/esp32-cam-demo/issues/2

See merge request !247

7 years agoMerge branch 'bugfix/ringbuffer_item_return_bug_report_from_chunguang' into 'master'
Jeroen Domburg [Fri, 25 Nov 2016 01:31:20 +0000 (09:31 +0800)]
Merge branch 'bugfix/ringbuffer_item_return_bug_report_from_chunguang' into 'master'

bugfix: ringbuffer return item api

Report from chunguang, vRingbufferReturnItem should not call portENTER_CRITICAL_ISR

See merge request !246

7 years agoMerge branch 'master' into driver_merge_tmp/merge_timer
Wangjialin [Thu, 24 Nov 2016 17:07:19 +0000 (01:07 +0800)]
Merge branch 'master' into driver_merge_tmp/merge_timer

# Conflicts:
# docs/index.rst

7 years agoMerge branch 'driver_merge_tmp/merge_pcnt' into 'master'
Wang Jia Lin [Thu, 24 Nov 2016 16:41:16 +0000 (00:41 +0800)]
Merge branch 'driver_merge_tmp/merge_pcnt' into 'master'

driver: PCNT

1. add PCNT module in periph_ctrl.c/.h
2. add description of PCNT status in pcnt_struct.h
3. add PCNT driver code
4. add PCNT example code.

See merge request !229

7 years agoMerge branch 'bugfix/uart_argument_names' into 'master'
Ivan Grokhotkov [Thu, 24 Nov 2016 15:56:35 +0000 (23:56 +0800)]
Merge branch 'bugfix/uart_argument_names' into 'master'

uart: use same argument names in get/set functions

This one is pretty trivial: rename arguments so that same name is used for get and set functions.

https://github.com/espressif/esp-idf/issues/105

See merge request !248

7 years agoesp32: update wifi lib to contain bt/wifi coexist code
Liu Zhi Fu [Thu, 24 Nov 2016 13:37:46 +0000 (21:37 +0800)]
esp32: update wifi lib to contain bt/wifi coexist code

7 years agowpa2 enterprise: update wifi lib in master branch
Xia Xiaotian [Thu, 24 Nov 2016 12:41:44 +0000 (20:41 +0800)]
wpa2 enterprise: update wifi lib in master branch

7 years agowpa2 enterprise: add wifi lib
Xia Xiaotian [Thu, 24 Nov 2016 11:46:37 +0000 (19:46 +0800)]
wpa2 enterprise: add wifi lib

7 years agoMerge branch 'master' into feature/wpa2_enterprise
Xia Xiaotian [Thu, 24 Nov 2016 10:35:56 +0000 (18:35 +0800)]
Merge branch 'master' into feature/wpa2_enterprise

add lib

7 years agoMerge branch 'bugfix/unit_test_run' into 'master'
Ivan Grokhotkov [Thu, 24 Nov 2016 10:29:32 +0000 (18:29 +0800)]
Merge branch 'bugfix/unit_test_run' into 'master'

7 years agoMerge branch 'feature/system_apis' into 'master'
Ivan Grokhotkov [Thu, 24 Nov 2016 10:22:50 +0000 (18:22 +0800)]
Merge branch 'feature/system_apis' into 'master'

system_* APIs cleanup

This changeset is mostly about cleaning up `system_*` APIs and moving them from libcore. It has dragged a few more changes along, however.

- `system_deep_sleep` deprecated, new name is `esp_deep_sleep`
- `system_efuse_read_mac` deprecated, new name is `esp_efuse_read_mac`
- `system_read/write_rtc_mem` removed (reason: we use linker to place code/data into RTC memory now)
- `system_get_sdk_version` deprecated. Returns "master" for now. Support for compile-time and runtime version detection will be done in a separate MR.
- `system_get_time` and variations have been deprecated. `gettimeofday` should be used instead.
- `system_restart` deprecated, new name is `esp_restart`. Rewritten code to work correctly from any of the cores.
- `system_restore` deprecated, `esp_wifi_restore` should be used instead.
- `system_get_rst_info` removed (it wasn't in a header file)
- RTC library has been updated to latest version
- Logging output from `libfoo.a` goes through `foo_printf` function now, where `foo ` is any of the library names. For libraries other than rtc and phy, this is a temporary measure, until we finish switching to esp_log library and clean up all uses of printf/ets_printf.
- ESP-IDF build will fail if any of the libraries have printf/ets_printf reference.
-  Added `esp_random` function which gets values from HW RNG. I have added code which makes sure the value is not polled too often (allows at least 16 APB cycles). Also added a header file for HW RNG (just one register).
- Moved random number generation functions used by wpa library into wpa_supplicant component.

See merge request !234

7 years agosystem_apis: update wifi lib and librtc.a
Xia Xiaotian [Thu, 24 Nov 2016 09:30:33 +0000 (17:30 +0800)]
system_apis: update wifi lib and librtc.a

1. some refractor to debug info in wifi lib(da6280b3)

2. fix bug of hung at phy_int in librtc.a(1bb9ce1d)

7 years agospi_flash_erase_range: Allow for 32KB blocks not 64KB blocks
Angus Gratton [Thu, 24 Nov 2016 05:58:36 +0000 (16:58 +1100)]
spi_flash_erase_range: Allow for 32KB blocks not 64KB blocks

SPI flash hardware sends 52h command, which is a 32KB erase.

There is a matching bug in the ROM SPIEraseArea code, unless
flashchip->block_size is modified first.

7 years agouart: use same argument names in get/set functions
Ivan Grokhotkov [Thu, 24 Nov 2016 05:56:18 +0000 (13:56 +0800)]
uart: use same argument names in get/set functions

https://github.com/espressif/esp-idf/issues/105

7 years agoledc: fix reported error when div_param == 256
Ivan Grokhotkov [Thu, 24 Nov 2016 04:27:32 +0000 (12:27 +0800)]
ledc: fix reported error when div_param == 256

Whenever bit_num and freq_hz are such that div_param == 256, the code would flag that as an error.
In fact, value 256 of div_param was a valid one (HW requires that div_param >= 1.0, when interpreted as a Q10.8 fixed point value).
Changed the if statements a bit to make the logic clearer, and added more descriptive error messages.
Also added missing error for the unimplemented case of low speed mode.

7 years agoMerge branch 'bugfix/uart_isr_rodata' into 'master'
Angus Gratton [Thu, 24 Nov 2016 04:09:46 +0000 (12:09 +0800)]
Merge branch 'bugfix/uart_isr_rodata' into 'master'

UART driver: Fix crash in ISR due to "UART" static array moved to flash

Ref: http://esp32.com/viewtopic.php?f=13&t=546&sid=76ff371ae2b259441a2cf355e96d74b9#p2275

This is a really subtle bug, gcc noticed the UART array elements are read-only so
implicitly moved the elements to .rodata as if it was const. However
this array is accessed from the UART ISR, so has to be in IRAM or DRAM.

See merge request !245

7 years agoMerge branch 'bugfix/rmt_includes' into 'master'
Angus Gratton [Thu, 24 Nov 2016 04:09:19 +0000 (12:09 +0800)]
Merge branch 'bugfix/rmt_includes' into 'master'

Fix inclusion of stdlib.h

Refs:
http://esp32.com/viewtopic.php?f=13&t=550
http://esp32.com/viewtopic.php?f=13&t=551

rmt.c should include stdlib.h for malloc, esp_bignum,c & https_request_main.c should include it for abort().

FreeRTOSConfig.h is only including stdlib if CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is set. However, it is included for abort() so needs to be included whenever CONFIG_FREERTOS_ASSERT_FAIL_ABORT is set.

This change includes it unconditionally in FreeRTOSConfig.h. This is to avoid this kind of bug where compiler errors are dependent on config. I suggest we don't change this to be more selective until we have 'make randomconfig' style tests in CI.

See merge request !244

7 years agodriver: improve pulse counter code
Wangjialin [Thu, 24 Nov 2016 04:01:21 +0000 (12:01 +0800)]
driver: improve pulse counter code

1. Modify some comments in pcnt.h
2. Modify api/pcnt.rst
3. Improve example code.
4. Add status definitions in pcnt_reg.h

7 years agobugfix: ringbuffer return item api
Wangjialin [Thu, 24 Nov 2016 02:31:27 +0000 (10:31 +0800)]
bugfix: ringbuffer return item api

Report from chunguang, vRingbufferReturnItem should not call portENTER_CRITICAL_ISR

7 years agoFixes for stdlib.h inclusion
Angus Gratton [Wed, 23 Nov 2016 21:08:09 +0000 (08:08 +1100)]
Fixes for stdlib.h inclusion

Refs:
http://esp32.com/viewtopic.php?f=13&t=550
http://esp32.com/viewtopic.php?f=13&t=551

rmt.c should include stdlib.h for malloc, esp_bignum,c &
https_request_main.c for abort().

FreeRTOSConfig.h is only including stdlib if
CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is set. However, it is
included for abort() so needs to be included whenever
CONFIG_FREERTOS_ASSERT_FAIL_ABORT is set.

This change includes unconditionally in FreeRTOSConfig.h. This is to
avoid this kind of bug where compiler errors are dependent on config. I
suggest we don't change this to be more selective until we have 'make
randomconfig' style tests in CI.

7 years agoupdate docs/index.rst
Wangjialin [Wed, 23 Nov 2016 13:25:06 +0000 (21:25 +0800)]
update docs/index.rst

7 years agoupdate docs/index.rst
Wangjialin [Wed, 23 Nov 2016 13:22:19 +0000 (21:22 +0800)]
update docs/index.rst

7 years agoadd pcnt.rst
Wangjialin [Wed, 23 Nov 2016 11:07:30 +0000 (19:07 +0800)]
add pcnt.rst

7 years agoMerge branch 'master' into driver_merge_tmp/merge_pcnt
Wangjialin [Wed, 23 Nov 2016 10:15:54 +0000 (18:15 +0800)]
Merge branch 'master' into driver_merge_tmp/merge_pcnt

# Conflicts:
# components/driver/include/driver/periph_ctrl.h

7 years agodriver: PCNT
Wangjialin [Wed, 23 Nov 2016 10:10:45 +0000 (18:10 +0800)]
driver: PCNT

minor changes

7 years agodriver: timer
Wangjialin [Wed, 23 Nov 2016 09:23:21 +0000 (17:23 +0800)]
driver: timer

1. minor modifications
2. use TIMG_WDT_INT_ENA_M instead of BIT(2) in wdt.c
3. add doc/api/timer.rst

7 years agoMerge branch 'master' into feature/wpa2_enterprise
Xia Xiaotian [Wed, 23 Nov 2016 08:34:01 +0000 (16:34 +0800)]
Merge branch 'master' into feature/wpa2_enterprise

7 years agoremove unexisting tests in unit test CIConfig
antti [Wed, 23 Nov 2016 08:22:51 +0000 (16:22 +0800)]
remove unexisting tests in unit test CIConfig

7 years agoremove fp unit test Kconfig
antti [Wed, 23 Nov 2016 08:22:34 +0000 (16:22 +0800)]
remove fp unit test Kconfig

7 years agoCI: fix unit test artifact path
Ivan Grokhotkov [Wed, 23 Nov 2016 06:22:49 +0000 (14:22 +0800)]
CI: fix unit test artifact path

7 years agowpa2 enterprise: update wpa2 enterprise APIs
Xia Xiaotian [Wed, 23 Nov 2016 07:29:01 +0000 (15:29 +0800)]
wpa2 enterprise: update wpa2 enterprise APIs

7 years agoesp32: add some implementation comments
Ivan Grokhotkov [Wed, 23 Nov 2016 04:55:49 +0000 (12:55 +0800)]
esp32: add some implementation comments

7 years agoMerge branch 'feature/integrate_unit_tests' into 'master'
Ivan Grokhotkov [Wed, 23 Nov 2016 04:13:39 +0000 (12:13 +0800)]
Merge branch 'feature/integrate_unit_tests' into 'master'

Integrate unit tests into build system

This MR moves unit tests from esp-idf-tests repository into 'test' subdirectories of respective components.

Tests are run using a runner app in tools/unit-test-app.

This needs a bit of cleanup:

1. remove extra newlines added to makefiles,
2. re-format unit tests code which has tabs
3. write a document on using this test app
4. maybe some refactoring in project.mk

I think 1&2&4 need to be done in this MR, while 3 may be done in a follow-up one.

See merge request !221

7 years agoMerge branch 'bugfix/freertos_staticqueue_size' into 'master'
Ivan Grokhotkov [Wed, 23 Nov 2016 04:04:53 +0000 (12:04 +0800)]
Merge branch 'bugfix/freertos_staticqueue_size' into 'master'

StaticQueue_t needs to have the same size as xQUEUE.

https://github.com/espressif/esp-idf/pull/98

Without this change, building FreeRTOS with static allocation enabled succeeds, but trying to create a queue from a static buffer causes an assert because the size of static and dynamic queues differ.

See merge request !236

7 years agoadd build all unit tests in project.mk and update doc
antti [Wed, 23 Nov 2016 03:42:12 +0000 (11:42 +0800)]
add build all unit tests in project.mk and update doc

7 years agoMerge branch 'bugfix/build_system_secure_boot_embed' into 'master'
Angus Gratton [Wed, 23 Nov 2016 03:35:22 +0000 (11:35 +0800)]
Merge branch 'bugfix/build_system_secure_boot_embed' into 'master'

Build system: Fix a bug with embedding binaries in object files

Sometimes paths were generated absolute, need to keep those as-is

See merge request !228

7 years agoadd updated nvs flash test
antti [Wed, 23 Nov 2016 03:29:36 +0000 (11:29 +0800)]
add updated nvs flash test

7 years agoMerge branch 'bugfix/embed_text_files' into 'master'
Angus Gratton [Wed, 23 Nov 2016 03:26:08 +0000 (11:26 +0800)]
Merge branch 'bugfix/embed_text_files' into 'master'

build system: Fix null-terminating of text files for embedding on OS X

Ref github #112

`/bin/echo -ne` echoes literal `-ne` on OS X.

See merge request !238

7 years agoUART driver: Fix crash in ISR due to "UART" static array moved to flash
Angus Gratton [Tue, 22 Nov 2016 23:47:40 +0000 (10:47 +1100)]
UART driver: Fix crash in ISR due to "UART" static array moved to flash

Ref: http://esp32.com/viewtopic.php?f=13&t=546&sid=76ff371ae2b259441a2cf355e96d74b9#p2275

This is a really subtle bug, gcc noticed the UART array elements are read-only so
implicitly moved the elements to .rodata as if it was const. However
this array is accessed from the UART ISR, so has to be in IRAM or DRAM.

7 years agoFreeRTOS: Use C11 _Static_assert to verify static "dummy" structs at compile time
Angus Gratton [Tue, 22 Nov 2016 22:42:35 +0000 (09:42 +1100)]
FreeRTOS: Use C11 _Static_assert to verify static "dummy" structs at compile time

Includes a tweak to make Static_task_t equal size to TCB_t when using
MPU_WRAPPERS . Matches tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE macro
in tasks.c. This isn't actually a bug (if static task allocation is off,
there is no use for Static_task_t), but it allows us to make consistent
compile-time checks that Static_task_t == TCB_t.

7 years agobuild system: Fix null-terminating of text files for embedding on OS X
Angus Gratton [Tue, 22 Nov 2016 21:49:15 +0000 (08:49 +1100)]
build system: Fix null-terminating of text files for embedding on OS X

Ref github #112

7 years agodriver: add hardware timer code.
Wangjialin [Tue, 22 Nov 2016 18:15:27 +0000 (02:15 +0800)]
driver: add hardware timer code.

1. add timer driver code
2. add timer example code
3. replace api for enable interrupt in task_wdt.c

7 years agoStaticQueue_t needs to have the same size as xQUEUE.
Daniel Campora [Mon, 14 Nov 2016 23:46:53 +0000 (00:46 +0100)]
StaticQueue_t needs to have the same size as xQUEUE.

Without this change, building FreeRTOS with static allocation enabled succeeds, but trying to create a queue from a static buffer causes an assert because the size of static and dynamic queues differ.

7 years agoimplement esp_deep_sleep, fix build issues
Ivan Grokhotkov [Mon, 21 Nov 2016 15:05:23 +0000 (23:05 +0800)]
implement esp_deep_sleep, fix build issues

7 years agoAdd API for random number generator
Ivan Grokhotkov [Mon, 21 Nov 2016 14:59:46 +0000 (22:59 +0800)]
Add API for random number generator

7 years agocatch log output from WiFi libs
Ivan Grokhotkov [Mon, 21 Nov 2016 14:56:11 +0000 (22:56 +0800)]
catch log output from WiFi libs

7 years agoImplement system_* APIs in IDF
Ivan Grokhotkov [Mon, 21 Nov 2016 09:15:37 +0000 (17:15 +0800)]
Implement system_* APIs in IDF

7 years agoremove legacy definitions from esp_types.h
Ivan Grokhotkov [Mon, 21 Nov 2016 09:13:55 +0000 (17:13 +0800)]
remove legacy definitions from esp_types.h

7 years agoMerge branch 'bugfix/tw8727_pc_send_random_pkt_cause_esp32_watchdog' into 'master'
Wu Jian Gang [Tue, 22 Nov 2016 11:19:10 +0000 (19:19 +0800)]
Merge branch 'bugfix/tw8727_pc_send_random_pkt_cause_esp32_watchdog' into 'master'

esp32: fix random pkt cause esp32 watchdog

This change fixes the ESP32 watchdog issue. When the MPDU of AMPDU is longer than 1600B,
esp32 will check whether the last 4B is DEADBEEF, if it's not DEADBEEF, it will assert
and the assert will cause esp32 watchdog. The solution is to init the last 4B to DEADBEEF
when malloc new ebuf for the packet longer than 1600B.

See merge request !233

7 years agombedTLS SHA Acceleration: Add missing esp_sha_lock_engine() function
Angus Gratton [Tue, 22 Nov 2016 09:56:36 +0000 (20:56 +1100)]
mbedTLS SHA Acceleration: Add missing esp_sha_lock_engine() function

7 years agohwcrypto: Fixes for disabling one hardware unit causing reset of a different unit
Angus Gratton [Tue, 22 Nov 2016 07:09:32 +0000 (18:09 +1100)]
hwcrypto: Fixes for disabling one hardware unit causing reset of a different unit

ROM functions reset related units, but this can have problems in a
multithreaded environment.

7 years agombedTLS SHA acceleration: Allow concurrent digest calculation, works with TLS
Angus Gratton [Sun, 20 Nov 2016 05:29:29 +0000 (16:29 +1100)]
mbedTLS SHA acceleration: Allow concurrent digest calculation, works with TLS

SHA hardware allows each of SHA1, SHA256, SHA384&SHA512 to calculate digests
concurrently.

Currently incompatible with AES acceleration due to a hardware reset problem.

Ref TW7111.

7 years agoadd unit tests to esp-idf
antti [Thu, 17 Nov 2016 08:36:10 +0000 (16:36 +0800)]
add unit tests to esp-idf

rename nvs host test folder, modify .gitlab-ci.yml

remove unit-test-app build

re-format unit test files

remove extra newlines in project.mk

some refactoring for unit test part in project.mk

add build files of unit-test-app in gitignore

add README.md for unit test app

correct headings in README.md

remove files and make minor tweaks in unit test app

update .gitlab-ci.yml to use unit test app

delete unused lines in component_wrapper.mk

delete periph_i2s.h and lcd test

add text floating point in components/esp32/test/Kconfig

correct idf test build paths in .gitlab-ci.yml

7 years agoMerge branch 'bugfix/arp_queue_failed' into 'master'
Wu Jian Gang [Tue, 22 Nov 2016 06:45:44 +0000 (14:45 +0800)]
Merge branch 'bugfix/arp_queue_failed' into 'master'

report the arp queue fail result

See merge request !227

7 years agoMerge branch 'doc/pr103_cleanup' into 'master'
Ivan Grokhotkov [Tue, 22 Nov 2016 05:26:56 +0000 (13:26 +0800)]
Merge branch 'doc/pr103_cleanup' into 'master'

Documentation cleanup

From @kryzchb, github pull request #103

See merge request !214

7 years agoMerge branch 'bugfix/gpio_config_pullup' into 'master'
Jeroen Domburg [Tue, 22 Nov 2016 04:12:31 +0000 (12:12 +0800)]
Merge branch 'bugfix/gpio_config_pullup' into 'master'

Fix pullups is not configured by gpio_config

https://github.com/espressif/esp-idf/issues/110

https://github.com/espressif/esp-idf/pull/111

See merge request !226

7 years agoMerge branch 'feature/tw8799_low_level_output_optimize' into 'master'
Wu Jian Gang [Tue, 22 Nov 2016 03:56:35 +0000 (11:56 +0800)]
Merge branch 'feature/tw8799_low_level_output_optimize' into 'master'

Feature/tw8799 low level output optimize

Fix a potential memory crash error in low_level_output

See merge request !224

7 years agoesp32: fix random pkt cause esp32 watchdog
Liu Zhi Fu [Tue, 22 Nov 2016 03:46:10 +0000 (11:46 +0800)]
esp32: fix random pkt cause esp32 watchdog

This change fixes the ESP32 watchdog issue. When the MPDU of AMPDU is longer than 1600B,
esp32 will check whether the last 4B is DEADBEEF, if it's not DEADBEEF, it will assert
and the assert will cause esp32 watchdog. The solution is to init the last 4B to DEADBEEF
when malloc new ebuf for the packet longer than 1600B.

7 years agocomponents/lwip/arp: change the arp dropping packet function
tianzhongxing [Mon, 21 Nov 2016 06:09:52 +0000 (14:09 +0800)]
components/lwip/arp: change the arp dropping packet function

LWIP will drop the oldest package at the arp packet cache queue and return "ERR_OK"
We change it that ARP level will drop the current packet and return "ERR_MEM" to tell user that you should send the packet again latter.

7 years agoMerge branch 'driver_merge_tmp/merge_rmt' into 'master'
Ivan Grokhotkov [Mon, 21 Nov 2016 17:57:01 +0000 (01:57 +0800)]
Merge branch 'driver_merge_tmp/merge_rmt' into 'master'

RMT driver code and example

* add RMT simple driver code.
* add RMT module in periph_ctrl.c/.h
* add infrared RMT example. Will add readme later.

See merge request !190

7 years agormt: add documentation
Wangjialin [Mon, 21 Nov 2016 17:31:56 +0000 (01:31 +0800)]
rmt: add documentation

7 years agoadd RMT driver and example
Wangjialin [Thu, 10 Nov 2016 03:23:40 +0000 (11:23 +0800)]
add RMT driver and example

7 years agoMerge branch 'feature/ipv6_api' into 'master'
Wu Jian Gang [Mon, 21 Nov 2016 11:43:51 +0000 (19:43 +0800)]
Merge branch 'feature/ipv6_api' into 'master'

Ipv6 interface:add branch for ipv6 interface

See merge request !199

7 years agodriver: Add PCNT code
Wangjialin [Mon, 21 Nov 2016 10:17:07 +0000 (18:17 +0800)]
driver: Add PCNT code

1. add PCNT module in periph_ctrl.c/.h
2. add description of PCNT status in pcnt_struct.h
3. add PCNT driver code
4. add PCNT example code.

7 years agoMerge branch 'master' into feature/wpa2_enterprise
Xia Xiaotian [Mon, 21 Nov 2016 10:09:13 +0000 (18:09 +0800)]
Merge branch 'master' into feature/wpa2_enterprise

Conflicts:
components/esp32/component.mk
components/wpa_supplicant/component.mk

7 years agobuild system: If esp-idf makefiles or component.mk changes, recompile source
Angus Gratton [Sun, 20 Nov 2016 05:23:07 +0000 (16:23 +1100)]
build system: If esp-idf makefiles or component.mk changes, recompile source

7 years agoMerge branch 'feature/bignum_rsa' into 'master'
Angus Gratton [Mon, 21 Nov 2016 09:46:21 +0000 (17:46 +0800)]
Merge branch 'feature/bignum_rsa' into 'master'

hwcryto bignum support for RSA operations

Supporting RSA with hardware bignum directives.

Configurable via menuconfig to enable/disable, and to choose between busywaiting and interrupt driven completion.

May still be some performance tweaks possible.

TW7111

See merge request !92

7 years agoMerge branch 'master' into feature/modem_sleep
Xia Xiao Tian [Mon, 21 Nov 2016 01:45:31 +0000 (09:45 +0800)]
Merge branch 'master' into feature/modem_sleep

7 years agolwip: remove useless printf info
Liu Zhi Fu [Mon, 21 Nov 2016 08:08:39 +0000 (16:08 +0800)]
lwip: remove useless printf info

7 years agombedtls hardware bignum: Use memcpy instead of REG_WRITE/REG_READ in a loop
Angus Gratton [Mon, 21 Nov 2016 07:08:22 +0000 (18:08 +1100)]
mbedtls hardware bignum: Use memcpy instead of REG_WRITE/REG_READ in a loop

Removes memory barriers for better performance, thanks Ivan for pointing
this out.

Manually unrolling the loop further seemed like diminishing returns.

7 years agolwip: update according to review comments
Liu Zhi Fu [Mon, 21 Nov 2016 07:02:36 +0000 (15:02 +0800)]
lwip: update according to review comments

1. Define memp_malloc/memp_free as static inline function
2. When TCP pcb is out of memory, try to kill PCB in FIN_WAIT_1 when necessary

7 years agoBuild system: Fix a bug with embedding binaries in object files
Angus Gratton [Mon, 21 Nov 2016 06:45:28 +0000 (17:45 +1100)]
Build system: Fix a bug with embedding binaries in object files

Sometimes paths were generated absolute, need to keep those as-is

7 years agowpa2: change "station to sta" in wpa2 API
Xia Xiao Tian [Mon, 21 Nov 2016 06:17:52 +0000 (14:17 +0800)]
wpa2: change "station to sta" in wpa2 API

7 years agoPullup is not configured by gpio_config #110
Gabe [Sat, 19 Nov 2016 18:03:15 +0000 (10:03 -0800)]
Pullup is not configured by gpio_config #110