]> granicus.if.org Git - esp-idf/log
esp-idf
8 years agoesp32: Bootloader wake deep sleep stub
Angus Gratton [Mon, 12 Sep 2016 07:23:15 +0000 (17:23 +1000)]
esp32: Bootloader wake deep sleep stub

App can contain a stub program resident in RTC fast memory. Bootloader
will load the stub on initial boot. If the device wakes from deep sleep,
the stub is run immediately (before any other data is loaded, etc.)

To implement a custom wake stub, implement a function in your program:

```
void RTC_IRAM_ATTR esp_wake_deep_sleep(void)
{
  esp_default_wake_deep_sleep();
  // other wake logic
}
```

... and it will replace the default implementation.

8 years agoMerge branch 'feature/btdm_controller' into 'master'
Ivan Grokhotkov [Tue, 27 Sep 2016 14:20:37 +0000 (22:20 +0800)]
Merge branch 'feature/btdm_controller' into 'master'

bluetooth controller update

1. add mutex to VHCI APIs
2. remove bss/data log print during initialization;
3. add bss/data symbols in esp32.rom.ld
4. add & modify BTDM OSI functions

See merge request !117

8 years agoMerge branch 'master' into feature/btdm_controller
Ivan Grokhotkov [Tue, 27 Sep 2016 14:08:27 +0000 (22:08 +0800)]
Merge branch 'master' into feature/btdm_controller

* master:
  app_main: Return type to void
  wifi: move type definitions into separate header file
  wifi: use default esp_event_send handler in WIFI_INIT_CONFIG_DEFAULT
  nvs: Remove flash layout arguments from nvs_init()
  Add contributor agreement, update CONTRIBUTING file
  Update http_request & https_request examples for new startup flow
  Add very simple "hello world" & "blink" examples
  Build examples out-of-tree as part of CI process
  Examples: Use event groups for waiting until WiFi is associated & ESP has IP
  BT example: Enable BT stack in config by default
  BT: Relink component on new BT library, auto-initialise submodule if missing
  Documentation: Add contributor guide, expand README & add an examples README
  Update gitignore for examples
  examples: Add https_request example
  mbedtls: Add some initial menuconfig options
  examples: HTTP request example
  component/esp32: udpate wifi lib
  component/esp32: modify bool argument name from enable to en
  component/esp32: adjust some APIs
  esptool: Bump upstream revision

8 years agoMerge branch 'feature/initial_examples' into 'master'
Ivan Grokhotkov [Tue, 27 Sep 2016 11:17:43 +0000 (19:17 +0800)]
Merge branch 'feature/initial_examples' into 'master'

Basic examples

Basic examples, contributor information & README clarifications.

See merge request !102

8 years agoMerge branch 'feature/esptool_bump' into 'master'
Angus Gratton [Tue, 27 Sep 2016 09:54:28 +0000 (17:54 +0800)]
Merge branch 'feature/esptool_bump' into 'master'

esptool: Bump upstream revision

Fixes github #14 (unexpected errors writing to DIO flash)

Also speed boost when writing compressed data (can now go via stub)

See merge request !103

8 years agoMerge remote-tracking branch 'origin/bugfix/modify_some_wifi_apis' into feature/initi...
Angus Gratton [Tue, 27 Sep 2016 09:31:49 +0000 (19:31 +1000)]
Merge remote-tracking branch 'origin/bugfix/modify_some_wifi_apis' into feature/initial_examples

8 years agoapp_main: Return type to void
Angus Gratton [Tue, 27 Sep 2016 09:30:43 +0000 (19:30 +1000)]
app_main: Return type to void

Result is not checked

8 years agoMerge branch 'master' into feature/btdm_controller
Ivan Grokhotkov [Tue, 27 Sep 2016 04:40:56 +0000 (12:40 +0800)]
Merge branch 'master' into feature/btdm_controller

* master: (32 commits)
  components/nghttp: rename Makefile to component.mk
  components/nghttp: add HTTP2.0 protocol feature
  compoenents/esp32: don't alias start_cpu1 to start_cpu0_default
  components/freertos: fix a bug with an uninitialised return value
  Change application entry point name back to app_main
  gitlab-ci: build SSC with matching branch name, if available
  components/spi_flash: remove stray level of indentation
  components/nvs: fix broken sentences in comment blocks
  components/esp32: fix renaming of esp_event_set_cb, minor clean up
  components/esp32: remove "_user" part from entry points, weaken start_cpu0/1
  Fix a spelling mistake in panic message, add carriage return to stack canary message
  components/lwip,esp32: fixes for C++
  components/bt: fix compilation, remove ./ from makefile
  components/esp32: clarify type of queue in wifi_init_config_t, add default init macro
  components/esp32: add ESP_ERROR_CHECK
  Event handling refactoring
  clean up warnings
  components/esp32,bt: fix typos in comments
  Startup flow refactoring
  Roll back submodule version
  ...

8 years agowifi: move type definitions into separate header file
Ivan Grokhotkov [Tue, 27 Sep 2016 03:47:47 +0000 (11:47 +0800)]
wifi: move type definitions into separate header file

While this may reduce esp_wifi.h file readability for people who don't have a "go to definition" function in their editors, this is needed to decouple esp_wifi and esp_event headers, and possibly other headers which may use wifi types in the future.

8 years agowifi: use default esp_event_send handler in WIFI_INIT_CONFIG_DEFAULT
Ivan Grokhotkov [Tue, 27 Sep 2016 03:33:19 +0000 (11:33 +0800)]
wifi: use default esp_event_send handler in WIFI_INIT_CONFIG_DEFAULT

8 years agonvs: Remove flash layout arguments from nvs_init()
Angus Gratton [Tue, 27 Sep 2016 02:45:06 +0000 (12:45 +1000)]
nvs: Remove flash layout arguments from nvs_init()

Add notes that current NVS layout defaults are a Work In Progress and
not yet integrated with the partition table.

8 years agoAdd contributor agreement, update CONTRIBUTING file
Angus Gratton [Tue, 27 Sep 2016 02:03:08 +0000 (12:03 +1000)]
Add contributor agreement, update CONTRIBUTING file

8 years agoUpdate http_request & https_request examples for new startup flow
Angus Gratton [Tue, 27 Sep 2016 01:16:40 +0000 (11:16 +1000)]
Update http_request & https_request examples for new startup flow

8 years agoAdd very simple "hello world" & "blink" examples
Angus Gratton [Tue, 27 Sep 2016 00:30:07 +0000 (10:30 +1000)]
Add very simple "hello world" & "blink" examples

8 years agoBuild examples out-of-tree as part of CI process
Angus Gratton [Mon, 26 Sep 2016 07:13:32 +0000 (17:13 +1000)]
Build examples out-of-tree as part of CI process

8 years agoExamples: Use event groups for waiting until WiFi is associated & ESP has IP
Angus Gratton [Mon, 26 Sep 2016 05:48:36 +0000 (15:48 +1000)]
Examples: Use event groups for waiting until WiFi is associated & ESP has IP

8 years agoBT example: Enable BT stack in config by default
Angus Gratton [Mon, 26 Sep 2016 06:00:00 +0000 (16:00 +1000)]
BT example: Enable BT stack in config by default

8 years agoBT: Relink component on new BT library, auto-initialise submodule if missing
Angus Gratton [Mon, 26 Sep 2016 05:59:39 +0000 (15:59 +1000)]
BT: Relink component on new BT library, auto-initialise submodule if missing

8 years agoDocumentation: Add contributor guide, expand README & add an examples README
Angus Gratton [Wed, 21 Sep 2016 07:25:36 +0000 (17:25 +1000)]
Documentation: Add contributor guide, expand README & add an examples README

8 years agoUpdate gitignore for examples
Angus Gratton [Wed, 21 Sep 2016 06:46:39 +0000 (16:46 +1000)]
Update gitignore for examples

8 years agoexamples: Add https_request example
Angus Gratton [Wed, 21 Sep 2016 06:44:27 +0000 (16:44 +1000)]
examples: Add https_request example

8 years agombedtls: Add some initial menuconfig options
Angus Gratton [Wed, 21 Sep 2016 06:36:30 +0000 (16:36 +1000)]
mbedtls: Add some initial menuconfig options

8 years agoexamples: HTTP request example
Angus Gratton [Wed, 21 Sep 2016 04:57:02 +0000 (14:57 +1000)]
examples: HTTP request example

8 years agocomponent/esp32: udpate wifi lib
liuzhifu [Mon, 26 Sep 2016 12:43:19 +0000 (20:43 +0800)]
component/esp32: udpate wifi lib

1. 1a01e34f - adjust esp_wifi_set/get_promiscuous' arguments from uint8/uint8*
               to bool/bool*
2. 3611e699 - register event handler instead of event Q in esp_wifi_init

8 years agocomponent/esp32: modify bool argument name from enable to en
liuzhifu [Mon, 26 Sep 2016 12:15:16 +0000 (20:15 +0800)]
component/esp32: modify bool argument name from enable to en

1. Modify WIFI_INIT_CONFIG_DEFAULT
2. Modify bool argument name from enable to en

8 years agoMerge branch 'feature/nghttp' into 'master'
Wu Jian Gang [Mon, 26 Sep 2016 12:14:06 +0000 (20:14 +0800)]
Merge branch 'feature/nghttp' into 'master'

components/nghttp: add HTTP2.0 protocol feature

nghttp only support HTTP2.0 parse function, it has nothing to do with other modules. when Communicate with the server, suggest that you use it on the TLS layer.

See merge request !60

8 years agocomponent/esp32: adjust some APIs
liuzhifu [Mon, 26 Sep 2016 11:45:36 +0000 (19:45 +0800)]
component/esp32: adjust some APIs

1. Modify wifi_init_config_t to:
   typedef struct {
      wifi_event_handler_t event_handler;  /**< WiFi event handler */
   } wifi_init_config_t;
2. Modify argument of esp_wifi_set/get_promiscuous from uint8_t/uint8_t* to bool/bool*

8 years agocomponents/nghttp: rename Makefile to component.mk
Wu Jian Gang [Mon, 26 Sep 2016 11:21:55 +0000 (19:21 +0800)]
components/nghttp: rename Makefile to component.mk

8 years agocomponents/nghttp: add HTTP2.0 protocol feature
liuhan [Tue, 6 Sep 2016 09:24:10 +0000 (17:24 +0800)]
components/nghttp: add HTTP2.0 protocol feature

Develop and Issue HTTP2.0 protocol parse function, see nghttp file.

8 years agocomponent/bt: add VHCI mutex protetion
wangmengyang [Mon, 26 Sep 2016 10:52:15 +0000 (18:52 +0800)]
component/bt: add VHCI mutex protetion

1. add mutex to VHCI APIs
2. remove bss/data log print during initialization;
3. add bss/data symbols in esp32.rom.ld
4. add & modify BTDM OSI functions

8 years agoMerge branch 'feature/init_refactoring' into 'master'
Ivan Grokhotkov [Mon, 26 Sep 2016 09:06:12 +0000 (17:06 +0800)]
Merge branch 'feature/init_refactoring' into 'master'

Startup flow refactoring

This set of commits changes the startup code in a way that lets the application choose if/when to initialize WiFi/BT.

Application entry point is now a more familiar `main()` function. This function is executed in its own task. Application may choose to do some initialization from main function, create some tasks and then return from `main`. Simple applications may choose to do all their work from `main`.

Additionally this MR splits event handling code into two parts.

- One part is a set of standard handlers for WiFi and DHCP events. Most applications will use this set of handlers, and it is made available via new `esp_event_process_default` function.
- Another part is the default implementation of event handling loop. Some applications may choose to use default event loop through `esp_event_loop_` set of APIs, which start an event handling task and call user-provided event callback from this task. Other applications may create an event queue and implement event loop themselves. In this case application has to provide `esp_event_send` function. In this case the implementation provided by `esp_event_loop_` module is unused.

esp-idf-template has been updated to match this set of changes: https://github.com/espressif/esp-idf-template/tree/feature/init_refactoring
BT example has also been updated.

We need to provide examples of both event handling approaches. This will be done in a separate follow-up MR.

See merge request !112

8 years agocompoenents/esp32: don't alias start_cpu1 to start_cpu0_default
Ivan Grokhotkov [Mon, 26 Sep 2016 07:58:58 +0000 (15:58 +0800)]
compoenents/esp32: don't alias start_cpu1 to start_cpu0_default

8 years agocomponents/freertos: fix a bug with an uninitialised return value
Ivan Grokhotkov [Mon, 26 Sep 2016 07:57:54 +0000 (15:57 +0800)]
components/freertos: fix a bug with an uninitialised return value

introduced in d63dac0

8 years agoMerge branch 'bugfix/spelling_and_crlf_fix_in_panic' into 'master'
Angus Gratton [Mon, 26 Sep 2016 07:53:05 +0000 (15:53 +0800)]
Merge branch 'bugfix/spelling_and_crlf_fix_in_panic' into 'master'

Fix a spelling mistake in panic message, add carriage return to stack canary message

Probably the most trivial mr ever, but the spelling error was reported as a bug and the missing \r bugged me ever since I saw it.

See merge request !113

8 years agoesptool: Bump upstream revision
Angus Gratton [Wed, 21 Sep 2016 07:59:16 +0000 (17:59 +1000)]
esptool: Bump upstream revision

Fixes github #14 (unexpected errors writing to DIO flash)

Also speed boost when writing compressed data (can now go via stub)

8 years agoChange application entry point name back to app_main
Ivan Grokhotkov [Mon, 26 Sep 2016 06:48:41 +0000 (14:48 +0800)]
Change application entry point name back to app_main

8 years agoMerge branch 'master' into feature/init_refactoring
Ivan Grokhotkov [Mon, 26 Sep 2016 06:35:09 +0000 (14:35 +0800)]
Merge branch 'master' into feature/init_refactoring

* master:
  components/spi_flash: remove stray level of indentation
  components/nvs: fix broken sentences in comment blocks
  Roll back submodule version
  Spinlocks already come initialized. Remove the code that would essentially re-initialize them at runtime
  Remove all references to prvLockQueue / prvUnlockQueue
  components/esp32: clean up unused function warnings in single core mode
  clean up warnings
  components/nvs: fix build, use log library instead of printf
  components/spi_flash: add flash operation counters option to Kconfig
  components/nvs: add erase function
  components/nvs: fix formatting
  components/nvs: batch writes when possible
  components/spi_flash: add performance counters
  components/nvs: maintain item hash list at page level
  components/nvs: avoid reading just-erased page

# Conflicts:
# components/esp32/cpu_start.c
# components/esp32/event_default_handlers.c

8 years agogitlab-ci: build SSC with matching branch name, if available
Ivan Grokhotkov [Mon, 26 Sep 2016 06:17:31 +0000 (14:17 +0800)]
gitlab-ci: build SSC with matching branch name, if available

8 years agoMerge branch 'feature/nvs_speed_improvement' into 'master'
Ivan Grokhotkov [Mon, 26 Sep 2016 04:51:01 +0000 (12:51 +0800)]
Merge branch 'feature/nvs_speed_improvement' into 'master'

nvs: speed improvement and erase APIs

NVS initialization speed issue raised in https://ezredmine.espressif.com/issues/6881 has been addressed for single core mode through optimization of `spi_flash_*` routines. This MR addresses same issue for dual core mode.

- An index table is added at Page level, it allows doing fast search of item index based on key name and namespace. This heavily reduces the number of flash reads.
- Write operations are batched when writing/erasing long variable-length values (str and blob). This gives a 33% reduction in the number of writes for a 64-byte value, 50% reduction for a 96-byte value.
- Add optional (configurable via menuconfig) perfomance counters for spi_flash APIs

With these changes, total init time for NVS goes down from 2 seconds to 140 ms.
Additional RAM usage is 128-640 bytes per page, depending on content. Typical RAM usage for current use case (storing wifi configuration parameters) is 256 bytes.

This change also exposes APIs to erase single key or the whole namespaces, needed for https://ezredmine.espressif.com/issues/6769.

See merge request !105

8 years agocomponents/spi_flash: remove stray level of indentation
Ivan Grokhotkov [Mon, 26 Sep 2016 04:47:17 +0000 (12:47 +0800)]
components/spi_flash: remove stray level of indentation

8 years agocomponents/nvs: fix broken sentences in comment blocks
Ivan Grokhotkov [Mon, 26 Sep 2016 04:41:04 +0000 (12:41 +0800)]
components/nvs: fix broken sentences in comment blocks

8 years agocomponents/esp32: fix renaming of esp_event_set_cb, minor clean up
Ivan Grokhotkov [Mon, 26 Sep 2016 04:35:09 +0000 (12:35 +0800)]
components/esp32: fix renaming of esp_event_set_cb, minor clean up

8 years agocomponents/esp32: remove "_user" part from entry points, weaken start_cpu0/1
Ivan Grokhotkov [Mon, 26 Sep 2016 04:29:00 +0000 (12:29 +0800)]
components/esp32: remove "_user" part from entry points, weaken start_cpu0/1

With this change applications can override very early part of startup procedure by implementing "start_cpu0" and "start_cpu1" functions.

8 years agoFix a spelling mistake in panic message, add carriage return to stack canary message
Jeroen Domburg [Mon, 26 Sep 2016 03:18:43 +0000 (11:18 +0800)]
Fix a spelling mistake in panic message, add carriage return to stack canary message

8 years agoMerge branch 'bugfix/clean_up_warnings' into 'master'
Angus Gratton [Mon, 26 Sep 2016 00:16:31 +0000 (08:16 +0800)]
Merge branch 'bugfix/clean_up_warnings' into 'master'

Clean up warnings and remove unused parts of FreeRTOS

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.

Additionally prvLockQueue/prvUnlockQueue have been removed, dragging some other bits of FreeRTOS along.

Original issue: https://github.com/espressif/esp-idf/issues/18

See merge request !111

8 years agocomponents/lwip,esp32: fixes for C++
Ivan Grokhotkov [Sun, 25 Sep 2016 19:05:25 +0000 (03:05 +0800)]
components/lwip,esp32: fixes for C++

- put contents of a few headers into c++ guard blocks
- fix off-by-one error in do_global_ctors
- remove system_init from startup code (should be called from main)

8 years agocomponents/bt: fix compilation, remove ./ from makefile
Ivan Grokhotkov [Sun, 25 Sep 2016 17:45:12 +0000 (01:45 +0800)]
components/bt: fix compilation, remove ./ from makefile

8 years agocomponents/esp32: clarify type of queue in wifi_init_config_t, add default init macro
Ivan Grokhotkov [Sun, 25 Sep 2016 17:35:31 +0000 (01:35 +0800)]
components/esp32: clarify type of queue in wifi_init_config_t, add default init macro

8 years agocomponents/esp32: add ESP_ERROR_CHECK
Ivan Grokhotkov [Sun, 25 Sep 2016 17:34:05 +0000 (01:34 +0800)]
components/esp32: add ESP_ERROR_CHECK

Convenience macro to do error check and assert in cases when error recovery is not expected

8 years agoEvent handling refactoring
Ivan Grokhotkov [Sun, 25 Sep 2016 17:17:32 +0000 (01:17 +0800)]
Event handling refactoring

This change separates definitions in esp_event.h and functions in event.c into several parts:
- event structure definitions (esp_event.h)
- default implementations of event handlers (event_default_handlers.c)
- default implementation of event loop (event_loop.c, esp_event_loop.h)

Purpose of this change is to allow applications choose their own poison:
- full control of event loop at the expense of more bootstrap code
- pre-defined event task firing event callbacks, but less code in app_main.c

8 years agoclean up warnings
Ivan Grokhotkov [Fri, 23 Sep 2016 06:46:39 +0000 (14:46 +0800)]
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.

8 years agocomponents/esp32,bt: fix typos in comments
Ivan Grokhotkov [Sun, 25 Sep 2016 16:51:56 +0000 (00:51 +0800)]
components/esp32,bt: fix typos in comments

8 years agoStartup flow refactoring
Ivan Grokhotkov [Sun, 25 Sep 2016 16:50:57 +0000 (00:50 +0800)]
Startup flow refactoring

This change removes implicit WiFi/BT initialization from startup code.
"main" task is started once essential part of startup code is complete.
This task calls application-provided "int main(void)" function, which can call WiFi/BT init functions if necessary.

8 years agoRoll back submodule version
Ivan Grokhotkov [Fri, 23 Sep 2016 10:08:39 +0000 (18:08 +0800)]
Roll back submodule version

8 years agoSpinlocks already come initialized. Remove the code that would essentially re-initial...
Jeroen Domburg [Fri, 23 Sep 2016 09:46:16 +0000 (17:46 +0800)]
Spinlocks already come initialized. Remove the code that would essentially re-initialize them at runtime

8 years agoRemove all references to prvLockQueue / prvUnlockQueue
Jeroen Domburg [Fri, 23 Sep 2016 09:43:52 +0000 (17:43 +0800)]
Remove all references to prvLockQueue / prvUnlockQueue

8 years agoMerge branch 'feature/btdm_controller' into 'master'
Wu Jian Gang [Fri, 23 Sep 2016 07:26:47 +0000 (15:26 +0800)]
Merge branch 'feature/btdm_controller' into 'master'

BT support

Initial version of BT support.

BT and WiFi are mutually exclusive at this point, so we have a new option to select which stack is used.
Precompiled BT libraries are added as a submodule.

See merge request !109

8 years agocomponents/esp32: clean up unused function warnings in single core mode
Ivan Grokhotkov [Fri, 23 Sep 2016 07:02:17 +0000 (15:02 +0800)]
components/esp32: clean up unused function warnings in single core mode

8 years agoadd 'extern C' in header files
snake [Fri, 23 Sep 2016 06:54:30 +0000 (14:54 +0800)]
add 'extern C' in header files

8 years agoclean up warnings
Ivan Grokhotkov [Fri, 23 Sep 2016 06:46:39 +0000 (14:46 +0800)]
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.

8 years agoadd .h license header
snake [Fri, 23 Sep 2016 03:02:46 +0000 (11:02 +0800)]
add .h license header

8 years ago1. clean up the macro. 2. change component/bt/lib url to use new lib
snake [Fri, 23 Sep 2016 02:48:55 +0000 (10:48 +0800)]
1. clean up the macro. 2. change component/bt/lib url to use new lib

8 years agocomponents/nvs: fix build, use log library instead of printf
Ivan Grokhotkov [Fri, 23 Sep 2016 01:00:28 +0000 (09:00 +0800)]
components/nvs: fix build, use log library instead of printf

8 years agocomponents/spi_flash: add flash operation counters option to Kconfig
Ivan Grokhotkov [Fri, 23 Sep 2016 00:44:45 +0000 (08:44 +0800)]
components/spi_flash: add flash operation counters option to Kconfig

8 years agocomponents/nvs: add erase function
Ivan Grokhotkov [Thu, 22 Sep 2016 16:36:53 +0000 (00:36 +0800)]
components/nvs: add erase function

This change exposes functions to erase single key and to erase all keys from namespace.
TW6769, TW6839

8 years agoBLE ADV Demo
wangmengyang [Thu, 22 Sep 2016 13:15:54 +0000 (21:15 +0800)]
BLE ADV Demo

8 years agocomponents/nvs: fix formatting
Ivan Grokhotkov [Thu, 22 Sep 2016 13:05:47 +0000 (21:05 +0800)]
components/nvs: fix formatting

8 years agocomponents/nvs: batch writes when possible
Ivan Grokhotkov [Thu, 22 Sep 2016 03:42:55 +0000 (11:42 +0800)]
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.

8 years agoMerge branch 'master' into feature/btdm_controller
Ivan Grokhotkov [Thu, 22 Sep 2016 10:40:54 +0000 (18:40 +0800)]
Merge branch 'master' into feature/btdm_controller

* master:
  esp32/lib: update to f6d55836

8 years agoKconfig: make WiFi and BT mutually exclusive
Ivan Grokhotkov [Thu, 22 Sep 2016 10:36:23 +0000 (18:36 +0800)]
Kconfig: make WiFi and BT mutually exclusive

Also move memory map options from top-level Kconfig to esp32/Kconfig.

8 years agocomponents/bt: add library as submodule
Ivan Grokhotkov [Thu, 22 Sep 2016 09:54:19 +0000 (17:54 +0800)]
components/bt: add library as submodule

8 years agocomponents/bt: remove binary library
Ivan Grokhotkov [Thu, 22 Sep 2016 09:52:07 +0000 (17:52 +0800)]
components/bt: remove binary library

8 years agoadd btdm_controller 1st
snake [Thu, 22 Sep 2016 08:40:31 +0000 (16:40 +0800)]
add btdm_controller 1st

8 years agoesp32/lib: update to f6d55836
Wu Jian Gang [Thu, 22 Sep 2016 08:30:34 +0000 (16:30 +0800)]
esp32/lib: update to f6d55836

1. Fix reboot halt bug when 240MHz, TW7355
2. Disable long rate code

8 years agoMerge branch 'bugfix/tw7054' into 'master'
Wu Jian Gang [Thu, 22 Sep 2016 03:58:33 +0000 (11:58 +0800)]
Merge branch 'bugfix/tw7054' into 'master'

esp32:tw7054 remove sta netif when sta disconnect from ap

When sta disconnect from ap, remove sta netif to let lwip to free all tcp pcbs

See merge request !101

8 years agotcpip_adapter: set sta ip to IP_ADDR_ANY when sta disconnect from ap
liuzhifu [Thu, 22 Sep 2016 03:49:37 +0000 (11:49 +0800)]
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.

8 years agoMerge branch 'driver_merge_tmp/fix_fifo_struct_header' into 'master'
Ivan Grokhotkov [Thu, 22 Sep 2016 03:39:16 +0000 (11:39 +0800)]
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

8 years agoMerge branch 'driver_merge_tmp/merge_gpio' into 'master'
Ivan Grokhotkov [Thu, 22 Sep 2016 03:21:18 +0000 (11:21 +0800)]
Merge branch 'driver_merge_tmp/merge_gpio' into 'master'

add gpio driver code

See merge request !93

8 years agoMerge branch 'master' into driver_merge_tmp/merge_gpio
Wangjialin [Thu, 22 Sep 2016 02:50:06 +0000 (10:50 +0800)]
Merge branch 'master' into driver_merge_tmp/merge_gpio

8 years agocomponents/spi_flash: add performance counters
Ivan Grokhotkov [Tue, 13 Sep 2016 08:40:05 +0000 (16:40 +0800)]
components/spi_flash: add performance counters

8 years agouse uint8_t for fifo struct in uart and i2c
Wangjialin [Thu, 22 Sep 2016 01:05:39 +0000 (09:05 +0800)]
use uint8_t for fifo struct in uart and i2c

8 years agocomponents/nvs: maintain item hash list at page level
Ivan Grokhotkov [Tue, 20 Sep 2016 14:40:12 +0000 (22:40 +0800)]
components/nvs: maintain item hash list at page level

8 years agocomponents/nvs: avoid reading just-erased page
Ivan Grokhotkov [Tue, 20 Sep 2016 10:00:49 +0000 (18:00 +0800)]
components/nvs: avoid reading just-erased page

8 years agoMerge branch 'feature/wifi_lib_update' into 'master'
Wu Jian Gang [Wed, 21 Sep 2016 09:22:39 +0000 (17:22 +0800)]
Merge branch 'feature/wifi_lib_update' into 'master'

bugfix: reboot halt and deep sleep crash

1. Fix reboot halt bug, TW7355
2. Fix system crash when calling system_deep_sleep(), TW7356

See merge request !104

8 years agoesp32/lib: update to 9f26b9a1
Wu Jian Gang [Wed, 21 Sep 2016 08:49:30 +0000 (16:49 +0800)]
esp32/lib: update to 9f26b9a1

1. Fix reboot halt bug, TW7355
2. Fix system crash when calling system_deep_sleep(), TW7356

8 years agoesp32: wait uart tx finish before cpu freq change
Wu Jian Gang [Wed, 21 Sep 2016 08:15:42 +0000 (16:15 +0800)]
esp32: wait uart tx finish before cpu freq change

8 years agoRemove some macros and declarations that are already in rom/gpio.h
Wangjialin [Wed, 21 Sep 2016 04:08:42 +0000 (12:08 +0800)]
Remove some macros and declarations  that are already in rom/gpio.h

8 years agoesp32/lib: update to 9403d944
Wu Jian Gang [Wed, 21 Sep 2016 03:37:10 +0000 (11:37 +0800)]
esp32/lib: update to 9403d944

8 years agoRemove mutex from GPIO driver code. Replace uint8_t/uint16_t with uint32_t
Wangjialin [Wed, 21 Sep 2016 01:51:37 +0000 (09:51 +0800)]
Remove mutex from GPIO driver code. Replace uint8_t/uint16_t with uint32_t

8 years agoMerge branch 'bugfix/macos_build' into 'master'
Angus Gratton [Tue, 20 Sep 2016 11:28:20 +0000 (19:28 +0800)]
Merge branch 'bugfix/macos_build' into 'master'

fix kconfig build on macOS

macOS version of sed doesn't recognize \r as special character.
Replacing with \x0D substitution which works everywhere.

See merge request !96

8 years agoMerge branch 'feature/menuconfig_cpu_frequency_option' into 'master'
Ivan Grokhotkov [Tue, 20 Sep 2016 09:45:46 +0000 (17:45 +0800)]
Merge branch 'feature/menuconfig_cpu_frequency_option' into 'master'

Add CPU frequency selection in menuconfig

See merge request !81

8 years agoMerge branch 'feature/lwip_add_debug_code' into 'master'
Ivan Grokhotkov [Tue, 20 Sep 2016 09:22:22 +0000 (17:22 +0800)]
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

8 years agoMerge branch 'master' into feature/menuconfig_cpu_frequency_option
Ivan Grokhotkov [Tue, 20 Sep 2016 09:22:18 +0000 (17:22 +0800)]
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

8 years agoMerge branch 'feature/logging' into 'master'
Ivan Grokhotkov [Tue, 20 Sep 2016 09:16:41 +0000 (17:16 +0800)]
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

8 years agoMerge branch 'bugfix/lwip_so_reuse' into 'master'
Ivan Grokhotkov [Tue, 20 Sep 2016 09:13:09 +0000 (17:13 +0800)]
Merge branch 'bugfix/lwip_so_reuse' into 'master'

make SO_REUSE configurable via menuconfig

SSC expects SO_REUSE to be off by default.
Trivial change, moving this option to menuconfig.
This should also (finally!) fix failing tests in master.

See merge request !99

8 years agocomponents/lwip: fix grammar
Ivan Grokhotkov [Tue, 20 Sep 2016 08:53:56 +0000 (16:53 +0800)]
components/lwip: fix grammar

8 years agoMerge branch 'master' into bugfix/lwip_so_reuse
Ivan Grokhotkov [Tue, 20 Sep 2016 08:24:21 +0000 (16:24 +0800)]
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

8 years agocomponents/lwip: make SO_REUSE configurable via menuconfig
Ivan Grokhotkov [Tue, 20 Sep 2016 07:36:55 +0000 (15:36 +0800)]
components/lwip: make SO_REUSE configurable via menuconfig

Not all environments need or can work with SO_REUSE enabled, so making this option configurable.

8 years agolwip: add license and add lwip_debug.h
liuzhifu [Tue, 20 Sep 2016 07:36:49 +0000 (15:36 +0800)]
lwip: add license and add lwip_debug.h

8 years agolwip: add debug code to show udp/tcp pcbs
liuzhifu [Tue, 20 Sep 2016 06:51:03 +0000 (14:51 +0800)]
lwip: add debug code to show udp/tcp pcbs