Commit graph

370 commits

Author SHA1 Message Date
snake
6bb5a93221 add 'extern C' in header files 2016-09-23 14:54:30 +08:00
Ivan Grokhotkov
5e6b2e9c45 clean up warnings
For third party components (lwip and expat), compilation flags are adjusted to silence existing warnings (i have manually checked that all warnings are benign).
In components/esp32, replaced use of WIFI_DEBUG with ESP_LOG functions.
Only remaining warning is in FreeRTOS queue.c, and it may be a useful one.
2016-09-23 14:46:39 +08:00
snake
7b79e4c9ae add .h license header 2016-09-23 11:02:46 +08:00
snake
95c48d4b84 1. clean up the macro. 2. change component/bt/lib url to use new lib 2016-09-23 10:48:55 +08:00
Ivan Grokhotkov
1c7508885c components/nvs: fix build, use log library instead of printf 2016-09-23 09:00:28 +08:00
Ivan Grokhotkov
f2149eabee components/spi_flash: add flash operation counters option to Kconfig 2016-09-23 08:44:45 +08:00
Ivan Grokhotkov
2a68f60874 components/nvs: add erase function
This change exposes functions to erase single key and to erase all keys from namespace.
TW6769, TW6839
2016-09-23 08:08:03 +08:00
Ivan Grokhotkov
e87d80d478 components/nvs: fix formatting 2016-09-22 21:05:47 +08:00
Ivan Grokhotkov
076141aab9 components/nvs: batch writes when possible
Introduces new internal function, Page::alterEntryRangeState, which gathers changes to multiple elements of entry state table into a single write, provided that these changes fall into a single word. This allows changing state of up to 16 entries in a single write.
Also adds new function, writeEntryData, which writes the whole payload of SZ and BLOB type entries in one go, instead of splitting it into multiple 32-byte writes.
This reduces number of writes required for SZ and BLOB entries.
2016-09-22 21:05:17 +08:00
Ivan Grokhotkov
822a9981d8 Merge branch 'master' into feature/btdm_controller
* master:
  esp32/lib: update to f6d55836
2016-09-22 18:40:54 +08:00
Ivan Grokhotkov
c6e1d0b30a Kconfig: make WiFi and BT mutually exclusive
Also move memory map options from top-level Kconfig to esp32/Kconfig.
2016-09-22 18:36:23 +08:00
Ivan Grokhotkov
bc256cc36d components/bt: add library as submodule 2016-09-22 17:54:19 +08:00
Ivan Grokhotkov
db407074f1 components/bt: remove binary library 2016-09-22 17:52:07 +08:00
snake
993287af61 add btdm_controller 1st 2016-09-22 16:40:31 +08:00
Wu Jian Gang
28be72dbc7 esp32/lib: update to f6d55836
1. Fix reboot halt bug when 240MHz, TW7355
2. Disable long rate code
2016-09-22 16:30:34 +08:00
liuzhifu
67e8b3bcaf tcpip_adapter: set sta ip to IP_ADDR_ANY when sta disconnect from ap
When sta is disconnected from AP, set sta ip to IP_ADDR_ANY to trigger lwip
to clean up all TCP/UDP pcbs.
2016-09-22 11:49:37 +08:00
Ivan Grokhotkov
226e64bd1e Merge branch 'driver_merge_tmp/fix_fifo_struct_header' into 'master'
use uint8_t for fifo struct in uart and i2c

use uint8_t for fifo struct in uart and i2c

See merge request !106
2016-09-22 11:39:16 +08:00
Wangjialin
71fe8d9f15 Merge branch 'master' into driver_merge_tmp/merge_gpio 2016-09-22 10:50:06 +08:00
Ivan Grokhotkov
ba75f837b8 components/spi_flash: add performance counters 2016-09-22 10:39:36 +08:00
Wangjialin
d2420b667c use uint8_t for fifo struct in uart and i2c 2016-09-22 09:05:39 +08:00
Ivan Grokhotkov
12a0786e2a components/nvs: maintain item hash list at page level 2016-09-21 18:02:52 +08:00
Ivan Grokhotkov
f06ebeba86 components/nvs: avoid reading just-erased page 2016-09-21 18:02:52 +08:00
Wu Jian Gang
134649141c esp32/lib: update to 9f26b9a1
1. Fix reboot halt bug, TW7355
2. Fix system crash when calling system_deep_sleep(), TW7356
2016-09-21 16:49:30 +08:00
Wu Jian Gang
835cc55138 esp32: wait uart tx finish before cpu freq change 2016-09-21 16:15:42 +08:00
Wangjialin
92569082c6 Remove some macros and declarations that are already in rom/gpio.h 2016-09-21 12:08:42 +08:00
Wu Jian Gang
4f93b49e0a esp32/lib: update to 9403d944 2016-09-21 11:37:10 +08:00
Wangjialin
f7b10745be Remove mutex from GPIO driver code. Replace uint8_t/uint16_t with uint32_t 2016-09-21 09:51:37 +08:00
Ivan Grokhotkov
d09a79c20d Merge branch 'feature/menuconfig_cpu_frequency_option' into 'master'
Add CPU frequency selection in menuconfig

See merge request !81
2016-09-20 17:45:46 +08:00
Ivan Grokhotkov
9a1bf32274 Merge branch 'feature/lwip_add_debug_code' into 'master'
lwip: add debug code to show udp/tcp pcbs

Add code to show all tcp/udp pcbs, these kind of debug info is helpful for lwip issue debugging.

See merge request !98
2016-09-20 17:22:22 +08:00
Ivan Grokhotkov
da69d6ad3c Merge branch 'master' into feature/menuconfig_cpu_frequency_option
* master: (57 commits)
  components/lwip: fix grammar
  components/lwip: make SO_REUSE configurable via menuconfig
  bootloader: remove trailing newlines from log messages
  components/freertos: override per-task __cleanup handler to close stdin, stdout, stderr
  components/esp32: move peripheral symbols to separate ld script
  components/log: regroup macros for better readability
  gitlab-ci: allow running tests for branches, triggered via API
  components/log: fix timestamp calculation
  components/log: set default runtime log level to ESP_LOG_VERBOSE
  components/log: fix error when using ESP_LOGx from C++ code
  components/log: fix bugs, add options to override log level for files, components, and bootloader
  fix ledc and spi typo
  remove prefix and postfix
  Enable SO_REUSEADDR in LWIP
  freertos: fix memory debug macro issue Define configENABLE_MEMORY_DEBUG according to CONFIG_ENABLE_MEMORY_DEBUG
  peripheral structure headers: move volatile keyword from members to typedef
  Adding -fstrict-volatile-bitfields to the CFLAGS/CXXFLAGS. Without this, gcc tries to access bitfields using the smallest possible methods (eg l8i to grab an 8-bit field from a 32-bit). Our hardware does not like that. This flag tells gcc that if a bitfield is volatile, it should always use the type the field is defined at (uint32_t in our case) to size its access to the field. This fixes accessing the hardware through the xxx_struct.h headers.
  add peripheral  module struct headers
  build system docs: Add note about no spaces in component names
  Docs: Add note about unusual submodule messages when cloning on Windows
  ...

# Conflicts:
#	components/esp32/cpu_start.c
#	components/esp32/include/soc/cpu.h
2016-09-20 17:22:18 +08:00
Ivan Grokhotkov
6e35c0a91a Merge branch 'feature/logging' into 'master'
Add logging library

Logging library, intended to be used across other components.
Uses design similar to Android NDK logging APIs and allows for both compile time and run time filters, similar to logcat.

Also includes cleanup of cpu_startup.c — i was changing some logging output in this file so decided to re-format it and reduce code duplication.

Ref TW6703

See merge request !68
2016-09-20 17:16:41 +08:00
Ivan Grokhotkov
3b22173a93 components/lwip: fix grammar 2016-09-20 16:53:56 +08:00
Ivan Grokhotkov
6b42b90595 Merge branch 'master' into bugfix/lwip_so_reuse
* branch 'master':
  components/freertos: override per-task __cleanup handler to close stdin, stdout, stderr
  gitlab-ci: allow running tests for branches, triggered via API
2016-09-20 16:24:21 +08:00
Ivan Grokhotkov
316d3f9c4a components/lwip: make SO_REUSE configurable via menuconfig
Not all environments need or can work with SO_REUSE enabled, so making this option configurable.
2016-09-20 15:36:55 +08:00
liuzhifu
f64e1c54b7 lwip: add license and add lwip_debug.h 2016-09-20 15:36:49 +08:00
liuzhifu
50c7583f4d lwip: add debug code to show udp/tcp pcbs 2016-09-20 14:51:03 +08:00
Ivan Grokhotkov
dcf34b1be1 bootloader: remove trailing newlines from log messages 2016-09-20 14:18:23 +08:00
Ivan Grokhotkov
e8ae38024d components/freertos: override per-task __cleanup handler to close stdin, stdout, stderr
Default _cleanup_r doesn't do that, which leaks these three file descriptors.
2016-09-19 19:28:36 +08:00
Wangjialin
948be5c0c4 modify typo 2016-09-19 17:50:18 +08:00
Wangjialin
2be163f6cc add gpio driver code 2016-09-19 17:33:21 +08:00
Ivan Grokhotkov
b1ac144874 Merge branch 'driver_merge_tmp/merge_struct_header' into 'master'
add peripheral modules struct headers



See merge request !88
2016-09-19 15:34:37 +08:00
Ivan Grokhotkov
ff2750ab07 components/esp32: move peripheral symbols to separate ld script 2016-09-19 15:05:32 +08:00
Jeroen Domburg
dfab57cd93 Merge branch 'features/lwip-SO_REUSEADDR' into 'master'
Enable SO_REUSEADDR in LWIP

Daniel initially asked me why this wasn't enabled, and I don't think I got any reasons against enabling this. If any, it makes porting existing software easier. Tuan needs it for UDP multicast as well.

Code changes are by Tuan: basically the enable for SO_REUSEADDR in LWIP as well as a bugfix in a bit of mbedTLS that gets enabled.

See merge request !90
2016-09-19 10:42:35 +08:00
Angus Gratton
c2bc965c2c Merge branch 'bugfix/rom_gpio' into 'master'
rom/gpio.h: Use new GPIO_PIN0_REG register name

Closes github #12

See merge request !86
2016-09-19 10:41:34 +08:00
Ivan Grokhotkov
14e003fcf2 components/log: regroup macros for better readability 2016-09-19 08:53:09 +08:00
Ivan Grokhotkov
1188bdfc68 components/log: fix timestamp calculation 2016-09-18 21:06:43 +08:00
Ivan Grokhotkov
26bf85bad6 components/log: set default runtime log level to ESP_LOG_VERBOSE
With this change, it is possible to use LOG_LOCAL_LEVEL to raise debug level for given file/component
2016-09-18 21:01:28 +08:00
Ivan Grokhotkov
3cdefd9923 components/log: fix error when using ESP_LOGx from C++ code 2016-09-18 20:51:57 +08:00
Ivan Grokhotkov
69278b28bf components/log: fix bugs, add options to override log level for files, components, and bootloader 2016-09-18 20:24:31 +08:00
Wangjialin
015ae7e0d0 fix ledc and spi typo 2016-09-18 19:24:43 +08:00
Wangjialin
94bcb14bcc remove prefix and postfix 2016-09-18 19:05:37 +08:00
Jeroen Domburg
4d4c6a3694 Enable SO_REUSEADDR in LWIP 2016-09-18 16:43:48 +08:00
liuzhifu
4c74ec9415 freertos: fix memory debug macro issue
Define configENABLE_MEMORY_DEBUG according to CONFIG_ENABLE_MEMORY_DEBUG
2016-09-18 15:35:42 +08:00
Ivan Grokhotkov
9938f512f3 peripheral structure headers: move volatile keyword from members to typedef 2016-09-18 12:36:33 +08:00
Wangjialin
489b4f31a9 add peripheral module struct headers 2016-09-18 03:14:18 +08:00
Angus Gratton
6cffb5d8b4 rom/gpio.h: Use new GPIO_PIN0_REG register name
Closes github #12
2016-09-16 09:43:52 +10:00
Ivan Grokhotkov
b0683b0bb4 components/esp32,bootloader: fix build
esp32: use new register name in cpu_start
bootloader: EXTRA_CFLAGS don't work any more, set global CFLAGS in Makefile.projbuild
2016-09-15 02:37:54 +08:00
Ivan Grokhotkov
90e37d9eda fix whitespace after merge 2016-09-15 02:17:08 +08:00
Ivan Grokhotkov
cf22e4445a Merge branch 'master' into feature/logging
* master: (45 commits)
  esp32/lib: update to 1303c92c
  dhcpserver: Fix crash when switching wifi mode
  mbedtls: Temporarily disable default hardware crypto SHA & bignum
  mbedtls hwcrypto sha512: Fix redirection of function names
  mbedtls upstream tweak: Move mbedtls_sha512_process in sha512.h
  Format code by using 4 spaces instead
  modify  character conversion error and typo
  modify i2s_reg.h, rebase to master
  Only modify headers in soc/ . Pass compiling under esp-idf-tests/merge_soc_tmp/merge_for_soc_headers branch.(only change some names of register and INUM).
  Rename vender_ie_type_t and vendor_ie_id_t to wifi_vendor_ie_type_t and wifi_vendor_ie_id_t respectively
  modify arguments for vendor ie APIs by using enum instead
  esp32: fix typo
  esp32: fix kconfig
  define lwip task priority in esp_task.h
  components: esp32 - fix build error
  components: lwip - Modify lwip task priority and stack definition method
  components: esp32
  components: esp32
  components: esp32/lwip
  task priority: modify lwip/wifi/event task priority
  ...

# Conflicts:
#	components/bootloader/src/main/bootloader_start.c
#	components/bootloader/src/main/flash_encrypt.c
#	components/bootloader/src/main/secure_boot.c
#	components/esp32/cpu_start.c
2016-09-15 02:15:50 +08:00
Ivan Grokhotkov
0290a34b55 components/esp32: clean up cpu_start
Move CPU region protection setup into soc/cpu.h
change tabs to spaces
remove unused extern declarations
use RTC_WDTCONFIG0 instead of numeric address (still need to fix BB reg)
2016-09-15 02:03:55 +08:00
Ivan Grokhotkov
716cec5ded components/log: add implementation, update a few components to use it
This also removes logging implementation from bootloader and replaces it
with the one provided by the log component. Some occurrences of printf
and ets_printf have been changed to ESP_LOGx APIs.
2016-09-15 00:53:33 +08:00
Wu Jian Gang
2efaf42253 Merge remote-tracking branch 'origin/feature/mbedtls' 2016-09-14 18:05:56 +08:00
Wu Jian Gang
b3e671e725 esp32/lib: update to 3372298f
remove freq change in system_init
2016-09-14 17:54:34 +08:00
Ivan Grokhotkov
066f3358a7 components/esp32: use APB_CLK_FREQ instead of a number 2016-09-14 17:54:34 +08:00
Ivan Grokhotkov
5ab769516d components/esp32: add CPU frequency selection in menuconfig
Note that with WiFi stack enabled, system_init will reset frequency to 240MHz.
To make this setting useful, esp32-wifi-libs submodule needs to be updated.
2016-09-14 17:54:34 +08:00
Wu Jian Gang
e04e6b0c7f Merge branch 'feature/wifi_lib_update' into 'master'
esp32/lib: update to 1303c92c

1. support to set vendor ie;
2. fix "mode:" log twice issue; TW7019
3. fix station can not connect to some AP in WEP mode; TW7021

See merge request !85
2016-09-14 17:53:01 +08:00
Wu Jian Gang
8051a8b91e Merge branch 'bugfix/tw7058_mode_fatal' into 'master'
[teamwork7058]It causes fatal when switch wifi mode.



See merge request !84
2016-09-14 17:46:12 +08:00
Wu Jian Gang
6bfe892099 esp32/lib: update to 1303c92c 2016-09-14 16:57:00 +08:00
Wu Jian Gang
6104370ac9 Merge branch 'feature/support_vendor_ie_api' into 'master'
esp32: add vendor ie API

1. add esp_wifi_set_vnd_ie
2. add esp_wifi_set_vnd_ie_cb

See merge request !75
2016-09-14 16:53:53 +08:00
Xu Chun Guang
064d2b4ecb dhcpserver: Fix crash when switching wifi mode
See Teamwork 7058.
2016-09-14 16:14:50 +08:00
Angus Gratton
67a26d52ac mbedtls: Temporarily disable default hardware crypto SHA & bignum
Due to limitations referenced in the comments of the changes.
2016-09-14 17:52:39 +10:00
Angus Gratton
f01cabf71d mbedtls hwcrypto sha512: Fix redirection of function names 2016-09-14 17:52:24 +10:00
Angus Gratton
126a68ca1f mbedtls upstream tweak: Move mbedtls_sha512_process in sha512.h
Function declaration should only be included if MBEDTLS_SHA512_ALT is
not set. This matches sha1.h and sha256.h

This change should be contributed back upstream to mbedTLS project.
2016-09-14 17:51:27 +10:00
qiyueixa
56586a10ac Format code by using 4 spaces instead 2016-09-14 15:18:06 +08:00
Wangjialin
f32823ff6c modify character conversion error and typo 2016-09-14 13:47:28 +08:00
Wangjialin
c13ab62e4c modify i2s_reg.h, rebase to master 2016-09-14 13:47:28 +08:00
Wangjialin
41d397cf3f Only modify headers in soc/ .
Pass compiling under esp-idf-tests/merge_soc_tmp/merge_for_soc_headers branch.(only change some names of register and INUM).
2016-09-14 13:47:28 +08:00
qiyueixa
f02e5cdec7 Rename vender_ie_type_t and vendor_ie_id_t to wifi_vendor_ie_type_t and wifi_vendor_ie_id_t respectively 2016-09-14 13:39:30 +08:00
qiyueixa
d866fe84a4 modify arguments for vendor ie APIs by using enum instead 2016-09-14 13:39:30 +08:00
Wu Jian Gang
01cc811ee0 esp32: fix typo 2016-09-14 13:26:17 +08:00
Wu Jian Gang
c1a874fb9e esp32: fix kconfig 2016-09-14 12:55:41 +08:00
Ivan Grokhotkov
2fc60ba938 Merge branch master into feature/logging
* branch master: (51 commits)
  fix typos
  callback: add a void* pointer with each callback
  header: callbacks use "void *" as arguments
  header: format and fix typos
  add wifi api comments
  add wifi api comments
  components/spi_flash: call SPIUnlock only once
  components/spi_flash: improve comments and readability
  esp32 cpu_start: Include rom/uart.h, remove inline ROM function declarations
  bootloader: Add bootloader Kconfig
  Fix bug where nesting vTaskEnterCritical calls would not re-enable interrupts after vTaskExitCritical sections.
  installed gitlab key in global before_script, don't need to overwrite in template before_script
  ci: Use github repo for wifi libraries on master branch, gitlab repo otherwise
  components/esp32,spi_flash: update some comments
  components/esp32: remove dependency of WIFI_ENABLED on FREERTOS_UNICORE
  esp32/lib: Bump WiFi revision
  update ci: build ssc with idf submodule wifi lib
  components/esp32: add inter-processor call API and implement spi_flash through it
  add MACRO to get flash pad number from efuse value
  add comments to register read/write operations
  ...
2016-09-14 12:19:43 +08:00
liuzhifu
d2d231de29 define lwip task priority in esp_task.h 2016-09-14 12:00:46 +08:00
liuzhifu
8ed5010356 components: esp32 - fix build error 2016-09-14 12:00:46 +08:00
liuzhifu
4a98027242 components: lwip - Modify lwip task priority and stack definition method
lwip task priority and stack size defintion should not depends on esp_task.h, define it
in lwipopts.h directly
2016-09-14 12:00:46 +08:00
liuzhifu
2a15eda8bc components: esp32
Remove priority/stack definition of task that is freertos/lwip/app
2016-09-14 12:00:46 +08:00
liuzhifu
109691f9bc components: esp32
add missing file esp_task.h
2016-09-14 12:00:46 +08:00
liuzhifu
9cf997a6fc components: esp32/lwip
Add esp_task.h for placing all task priority/stack size macro definition
2016-09-14 12:00:46 +08:00
liuzhifu
56a684d9eb task priority: modify lwip/wifi/event task priority
1. Modify lwip core task priority to configMAX_PRIORITIES-7
2. Modify wifi startup task priority to configMAX_PRIORITIES-7
3. Modify event task priority to configMAX_PRIORITIES-4
2016-09-14 11:59:25 +08:00
Wu Jian Gang
058a411786 Merge branch 'feature/add_wifi_api_comments' into 'master'
Feature/add wifi api comments

Add wifi API comments


See merge request !63
2016-09-14 11:17:29 +08:00
Angus Gratton
d7cfe08b13 Merge branch 'bugfix/add_tx_flowcontrol' into 'master'
lwip: add socket tx flow control

This fix is used to solve wifi q full issue:
1. When wifi tx q is full, set tx_enable to false
2. When wifi tx q decrease 1/2 max length, set tx_enable to true again
3. esp_wifi_tx_enable return whether tx_enable is true
4. If esp_wifi_tx_enable return false, socket will be blocked

See merge request !62
2016-09-14 09:01:42 +08:00
Angus Gratton
66b6a4c642 Merge branch 'feature/esptool_upstream' 2016-09-14 10:28:41 +10:00
Wu Jian Gang
ed8e8848e3 fix typos 2016-09-13 20:54:20 +08:00
Wu Jian Gang
b56098a612 Merge remote-tracking branch 'origin/master' into feature/mbedtls 2016-09-13 16:31:48 +08:00
Wu Jian Gang
bf5e83a6ed callback: add a void* pointer with each callback
also format event.c/wifi.c/esp_event.h/esp_wifi.h
2016-09-13 16:20:29 +08:00
Wu Jian Gang
c56a790f64 header: callbacks use "void *" as arguments 2016-09-13 16:19:09 +08:00
Wu Jian Gang
c5f8396df4 header: format and fix typos
SYSTEM_EVENT_STA_GOTIP to SYSTEM_EVENT_STA_GOT_IP
2016-09-13 16:17:41 +08:00
liuzhifu
ded5df7513 add wifi api comments 2016-09-13 16:17:41 +08:00
liuzhifu
b86e060647 add wifi api comments 2016-09-13 16:17:41 +08:00
Ivan Grokhotkov
29c6eab6dc components/spi_flash: call SPIUnlock only once
This fixes the performance impact for spi_flash_write and spi_flash_erase.
With this change, NVS init in single core mode takes about 50ms (compared to >2seconds before that).
2016-09-13 15:16:36 +08:00