Commit graph

212 commits

Author SHA1 Message Date
Ivan Grokhotkov 3f889de5ab vfs: implement vfs_unregister 2017-01-09 04:51:24 +08:00
Ivan Grokhotkov 339267ffc9 Merge branch 'feature/bootloader_rng' into 'master'
Enable bootloader entropy source for RNG

Enables an entropy source when bootloader starts up, which both seeds the RNG for use before WiFi/BT stack is enabled and provides an adequate RNG for secure boot & flash encryption key generation.

A prerequisite was enabling 80MHz operation, so the CPU is now set to 80MHz as soon as second stage bootloader starts running.

See merge request !363
2017-01-07 18:46:10 +08:00
Tian Hao 9c630b759f component/bt : add bt device api
1. add get bd_addr function
2017-01-06 21:19:58 +08:00
Jiang Jiang Jian f5b221b9fb Merge branch 'feature/btdm_blufi_version' into 'master'
component/bt : blufi add version

blufi add version and the android APK add version check, too.

See merge request !378
2017-01-06 18:55:05 +08:00
Tian Hao e4b9563dac component/bt : blufi add version 2017-01-06 17:40:46 +08:00
Jeroen Domburg 718969f6ed Merge branch 'driver/spi' into 'master'
SPI master driver

This merge requests adds an SPI Master driver. This driver is (of course) multithread capable, has device abstraction, has command queueing, DMA support and all other sorts of nice things you'd expect from a SPI driver.


See merge request !332
2017-01-06 16:28:52 +08:00
Wu Jian Gang a4c3f876ab Merge branch 'bugfix/ethernet_init' into 'master'
ethernet : fix sometimes ethernet init fail bug



See merge request !376
2017-01-06 16:26:40 +08:00
Wu Jian Gang e387a16e51 Merge branch 'feature/Add_OTA_Demo' into 'master'
esp32 examples: Add OTA Demo

this demo would show you an OTA workflow and how to make it run.

See merge request !324
2017-01-06 16:15:14 +08:00
Jeroen Domburg 23455de4c2 Add SPI Master driver, example, test and docs 2017-01-06 14:20:32 +08:00
shangke 6e1150473e ethernet: update docs 2017-01-06 14:16:34 +08:00
Ivan Grokhotkov ded13ac8e6 Merge branch 'feature/btdm_blufi' into 'master'
Feature/btdm blufi

This is new BLUFI for config wifi connection through bluetooth.


See merge request !359
2017-01-05 21:54:45 +08:00
Tian Hao 24af07fd13 component/bt : new blufi
1. new blufi protocol
2. new blufi demo
3. support security
4. support sta/ap/sta_ap
5. support wpa-enterprise
2017-01-05 20:22:35 +08:00
Wang Jia Lin ad1d4500f9 Merge branch 'feature/ledc' into 'master'
driver: ledc update

1. add fading functions.
2. clear up ledc.h
3. update api doc.
4. add ledc example

See merge request !347
2017-01-05 20:05:13 +08:00
wangmengyang 2e7748d625 component/bt: modify bluetooth API
1. VHCI api and doxygen
2. Controller api and doxygen
3. bluedroid init/enable api and doxygen
4. cleanup demo codes
2017-01-05 20:02:06 +08:00
Wangjialin 6b5e734901 driver: ledc - update fading functions, add example and doc
1. add fading functions.
2. clear up ledc.c and ledc.h
3. update api doc.
4. add ledc example
5. edit ledc.rst and add readme for example code.
6. add s_ prefix for static global values.
7. add mutex for fade functions
8. minor changes according to the comments.
2017-01-05 17:57:52 +08:00
Tian Hao d6fcec73b2 component/bt : add macro for adv_data_flag
1. add macro for adv data flag
2. add docs for doxygen
2017-01-05 17:53:33 +08:00
Tian Hao ee318d42ae Merge branch 'master' into feature/btdm_gatt_api 2017-01-05 15:25:03 +08:00
Tian Hao 790a3d9ab3 component/bt : update bluetooth api doxygen ref 2017-01-05 14:56:16 +08:00
Angus Gratton 3922ce47b2 bootloader: Enable early boot RNG entropy source
This reverts commit ceb8566970.
2017-01-04 17:07:12 +11:00
Wangjialin 9c7cc86793 1. modify i2c_set_pin function
2. update example comments and other minor changes
3. rename API:  i2c_cmd_link_create/i2c_cmd_link_delete (+4 squashed commits)

Squashed commits:
[2e0ac3e] 1. coding style: add one space after condition key words.
2. modify i2c.h, use gpio_num_t instead of int, improve comments of return values
3. add i2c index in index.rst
4. add readme for i2c example
[4991d92] update i2c.doc
[88b672e] driver: i2c

1. add mux and spin lock to run in a thread-safe way.
2. modify example code
[4eb15fe] driver: i2c code

1. add i2c master code
2. add i2c slave code
3. add i2c example code
4. add DRAM_ATTR for I2C array
2017-01-03 00:57:19 +08:00
Angus Gratton 2350288a33 examples: Move sdkconfig.defaults support into build system
Is used fairly widely, and a little bit buggy in the form
where it was in each Makefile (didn't always get copied in place).
2016-12-29 17:37:30 +08:00
Ivan Grokhotkov c1370c5561 Merge branch 'feature/osx_brew_reqs' into 'master'
docs: provide list of packages for homebrew

Github PR #20: https://github.com/espressif/esp-idf/pull/20

See merge request !340
2016-12-29 12:36:30 +08:00
Ivan Grokhotkov 48c4a10827 Merge branch 'feature/gpio_intr_function' into 'master'
GPIO driver: add per-pin interrupt handlers

1. add ISR handler apis so that users of different layers can hook their own isr handler on different GPIO.
    Audio project has different software layers, they need different gpio isr handler for layer instead of processing all GPIO interrupts in one handler.
    If this kind of calling a handler from isr is not proper, please kindly point out.
2. add gpio example code.
3. update gpio doc.

See merge request !345
2016-12-29 12:36:04 +08:00
Ivan Grokhotkov 156845f754 Merge branch 'bugfix/doc_template' into 'master'
Clarification on documenting examples

Improve documentation of examples with two basic actions:
- include README.md in each example project
- add a link with synopsis in API documentation

This was not clear reading original API documentation template.


See merge request !349
2016-12-29 12:33:51 +08:00
Wangjialin ade7ee2092 gpio_driver: add per-pin interrupt handlers
1. add ISR handler apis so that users of different layers can hook their own isr handler on different GPIO.
    Audio project has different software layers, they need different gpio isr handler for layer instead of processing all GPIO interrupts in one handler.
    If this kind of calling a handler from isr is not proper, please kindly point out.
2. add gpio example code.
3. improve gpio.rst
4. add readme for gpio example

Squashed commits:
[278e50f] update: GPIO
1. coding style, add a space between conditional or loop keyword and an opening paren.
2. modify some return value and doc
3. use printf in example code
Squashed commits:
[efb23bb] minor change of comment
2016-12-29 11:16:32 +08:00
Angus Gratton 665dcc5712 linux docs: Add note about precompiled gdb on Arch
Closes github #150: https://github.com/espressif/esp-idf/issues/150
2016-12-28 10:17:56 +11:00
Krzysztof 6a39bc6996 Clarification on documenting examples 2016-12-27 12:32:40 +01:00
Malte Janduda e8b194d5e5 provide list of packages for homebrew 2016-12-22 17:09:05 +11:00
Ivan Grokhotkov a760eb3980 Merge branch 'feature/erase_flash' into 'master'
Build system: Add `make erase_flash` target



See merge request !328
2016-12-22 09:53:25 +08:00
Wangjialin 9dbdab5c9a driver: uart
1. add uart rx buffer data length API
2. add uart pattern detect event
3. add uart example code
4. modify uart_isr_register
5. modify uart.rst
6. fix parity err event and frame err event.
2016-12-21 11:55:53 +08:00
Angus Gratton 7ba6be782e Merge branch 'feature/secure_boot_remote_sign' into 'master'
Secure boot: Option for app & partition table signing to happen outside build system

Allows for a remote signing server, private signing key does not need to be on the build system.

See merge request !320
2016-12-20 07:04:31 +08:00
Angus Gratton 59e0f63d37 Build system: Add make erase_flash target 2016-12-20 10:00:04 +11:00
Angus Gratton d6fafd00db Secure boot: Option for app & partition table signing to happen outside build system 2016-12-19 13:12:05 +11:00
Wangjialin b00b75db7e driver: sigma-delta
1. add sigma-delta code and example.
2. add gpio output signal in io matrix.

Squashed commits:
[a25e7d4] minor changes for doc
[6a03a1e] minor changes on comments and doc.
[97dd9e4] Add doc.
update index.rst
change example index
2016-12-18 17:20:17 +08:00
Ivan Grokhotkov 126d164283 docs: fix some warnings 2016-12-16 14:31:29 +08:00
Ivan Grokhotkov 628bad1dbf deep sleep: add documentation 2016-12-16 14:31:29 +08:00
Liu Zhi Fu 3984d96acb esp32: refactor to sniffer
1. TW8657, WIFI send the whole packet to smartconfig;
2. modify API annotation of smartconfig and sniffer;
3. export smartconfig APIs to programming guide;
2016-12-15 18:20:00 +08:00
Ivan Grokhotkov 9d5f4e877e Merge branch 'bugfix/heap_alloc_no_iram' into 'master'
Restore ability to alloc IRAM, and more.

- Fix mem regions so allocating IRAM works again
- Optimize allocator slightly, uses 4 less bytes per malloc now
- Allow querying free heap memory space per memory type


See merge request !301
2016-12-15 16:28:29 +08:00
Jeroen Domburg 6f0a494cae Add testcase, fix executable memory allocated in shared dram/iram region 2016-12-15 15:03:22 +08:00
Jeroen Domburg 1e117dc3d3 Fix small things noticed in MR, add documentation 2016-12-15 15:03:22 +08:00
Tian Hao 5a2033c4e3 Merge branch 'master' into bugfix/btdm_bluedroid 2016-12-15 14:40:29 +08:00
Tian Hao f3450abf3d component/bt : add some macro , so redo the doxygen 2016-12-15 14:02:48 +08:00
Angus Gratton bbe1bceda8 build system: Project ELF should depend on linker scripts, binary libraries
TW#7816
2016-12-12 15:58:53 +11:00
Angus Gratton bab1d49f1f Merge branch 'feature/esptool_flash_encryption' into 'master'
Flash encryption support

Flash encryption support in build system, tooling

To come in future MR:
* On-device key generation on first boot (for production devices), need to finalise testing of bootloader entropy seeding.
* spi_flash_encrypted_write to support non-32-byte block writes (at least optionally.)
* I think a lot of the bootloader_support component can possibly be rolled into "spiflash" and other components, to use a common API.

See merge request !240
2016-12-12 06:50:46 +08:00
Jeroen Domburg bf57594ebe Merge branch 'feature/intr_alloc' into 'master'
Add dynamic interrupt allocation mechanism

This adds:
- Dynamic allocation of interrupts. Pass it the features of the interrupt you want, it'll set you up with an int.
- Shared interrupts. Enables multiple peripheral drivers to use the same interrupt. 
- Marking what interrupts are fully executable from IRAM; if an int isn't marked like that it will get disabled once flash cache gets disabled.

Also:
- Modifies driver to be in line with these changes

See merge request !254
2016-12-09 14:00:39 +08:00
Angus Gratton f68e1c22ab Merge branch 'bugfix/ci_fail_warnings' into 'master'
Fail CI build on warnings

This allows developers to add CFLAGS for -Wno-error=XXX while developing, but before code passes the CI build then it must be warning-free.

See merge request !279
2016-12-09 13:25:51 +08:00
Jeroen Domburg baa6a477c5 Fix example code, add chapter to docs about interrupts and multicore issues 2016-12-08 14:42:00 +08:00
Jeroen Domburg 655fd2986a Add interrupt allocation scheme / interrupt sharing. Also modifies drivers and examples. Also allows interrupts
to be marked specifically as having a handler that's all in IRAM.
2016-12-08 12:39:33 +08:00
Angus Gratton 94d2f77643 build system: Remove FLAGS_XXX variable option, replace with per-target overrides
Use for targeted disabling of warnings in LWIP.
2016-12-07 13:49:09 -08:00
Ivan Grokhotkov c8685c2002 Merge branch 'feature/ulp' into 'master'
Initial support for generation of ULP coprocessor code

This adds basic support for writing ULP coprocessor programs using an assembly-like syntax, with integer labels and branches to labels.

See merge request !261
2016-12-02 22:45:47 +08:00
Wu Jian Gang 667d0ef319 docs: fix example index 2016-12-02 16:02:20 +08:00
Angus Gratton ceb8566970 Flash encryption / secure boot: Temporarily disable on-device key generation
Will be enabled after seeding of HWRNG in bootloader is fully tested/qualified.
2016-12-01 23:49:13 -08:00
Angus Gratton f62b83fb77 secure boot docs: Add some examples of using espsecure.py standalone 2016-12-01 23:49:12 -08:00
Angus Gratton 822ed84225 docs: Correct partition table offset 2016-12-01 23:49:12 -08:00
Angus Gratton 9eb135fd73 Flash encryption: Support enabling flash encryption in bootloader, app support
* App access functions are all flash encryption-aware
* Documentation for flash encryption
* Partition read/write is flash aware
* New encrypted write function
2016-12-01 23:49:12 -08:00
Ivan Grokhotkov ab3677d64c initial support for generation of ULP coprocessor code 2016-12-01 20:26:47 -08:00
Jiang Jiang Jian bd20288b81 Merge branch 'feature/btdm_bluedroid' into 'master'
Feature/btdm bluedroid

This branch contain the bluedroid host code.
Currently,  Only GAP/GATT SERVER/GATT CLIENT release to users.
Actually, the content of the codes is further more than GAP/GATT and etc.
In this release version, users only need to concern about the APIs which are in "api/include/".

Now, suggestions in comment have been resolved are following:
1. The APIs use callback function. Ivan , Jeroen and me have discussed it. Currently the code will not be changed.
2. The APIs use OPEN/CLOSE. I have ask Ivan, besides bluedroid do this, we will keep the name.
3. Coding style. I have run format.sh to handle the style. And some spell error have been fixed.
4. APIs doxygen. I have clean the warning by doxygen. But bt.rst is still need to be completed.
5. Other comment without resolved face to face that I have to add response in the comment and fix them in the code
6. Fix some incorrect things. See the git log for details.

This 1st version of bluedroid release still have lots of things to do. But it can be done after this merge.
1. Compelete the BLUFI(Bluetooth config wifi connection) documents, security, application protocol and other.
2. Add SPP-LIKE profile.
3. Do more examples codes to cover most of the APIs.
4. Test and fix bug.

Another thing:
1. Do the document of APIs.(xml->bt.rst->html) 
(I will do this before merge as Ivan's suggestion)
This is already done. Besides, the union type in doxygen have something error. Ivan will fix it.



See merge request !239
2016-12-02 12:07:20 +08:00
Tian Hao df419fd862 component/bt : doxygen can generate html correctly 2016-12-01 20:20:22 +08:00
shangke e0040af7e5 ethernet: add first version of ethernet driver 2016-12-01 19:17:48 +08:00
tzx 9b2cad4174 docs: fix return error of ota docs and fix ota.rst 2016-12-01 13:54:25 +08:00
Tian Zhong Xing 72422b32dc feature/fota_ops_api: add ota core api implement 2016-11-28 17:12:57 +08:00
Wang Jia Lin 58d902eb78 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
2016-11-25 10:52:40 +08:00
Angus Gratton d0801fdbab 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
2016-11-25 10:12:29 +08:00
Wangjialin a5ad8090cf Merge branch 'master' into driver_merge_tmp/merge_timer
# Conflicts:
#	docs/index.rst
2016-11-25 01:07:19 +08:00
Wangjialin f97f198c9d 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
2016-11-24 12:01:21 +08:00
Wangjialin 452bee7181 update docs/index.rst 2016-11-23 21:25:06 +08:00
Wangjialin 303ab23116 update docs/index.rst 2016-11-23 21:22:19 +08:00
Wangjialin a97e076dec add pcnt.rst 2016-11-23 19:07:30 +08:00
Wangjialin 6db1482cd5 Merge branch 'master' into driver_merge_tmp/merge_pcnt
# Conflicts:
#	components/driver/include/driver/periph_ctrl.h
2016-11-23 18:15:54 +08:00
Wangjialin 7571b8c2e4 driver: PCNT
minor changes
2016-11-23 18:10:45 +08:00
Wangjialin c533099e08 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
2016-11-23 17:23:21 +08:00
Angus Gratton c48612e516 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.
2016-11-22 20:42:38 +11:00
Ivan Grokhotkov 383d987697 Merge branch 'doc/pr103_cleanup' into 'master'
Documentation cleanup

From @kryzchb, github pull request #103

See merge request !214
2016-11-22 13:26:56 +08:00
Wangjialin 235eceea06 rmt: add documentation 2016-11-22 01:44:23 +08:00
Krzysztof d4b5bd347d Doxygen configuration clean up 2016-11-21 10:35:00 +08:00
Krzysztof dd0585e84e doc: Index clean up 2016-11-21 10:34:59 +08:00
Krzysztof a86c431f98 doc: Formating clean up 2016-11-21 10:34:59 +08:00
Krzysztof bf61f6de55 doc: API Reference - examples & fixes 2016-11-21 10:25:11 +08:00
Krzysztof 4e9e8f52ac doc: Documenting Code clean up 2016-11-21 10:24:12 +08:00
Ivan Grokhotkov 1f6585dd4f docs: update partition tables documentation 2016-11-18 20:34:54 +08:00
Jeroen Domburg f3a44aa4db Merge with master; merge Doxygen config 2016-11-17 20:21:12 +08:00
Ivan Grokhotkov 3bbe41c34d Merge branch 'feature/docs_general_notes' into 'master'
Docs: new documentation and warnings cleanup

This change set

- adds a high-level description of application startup flow. Some parts are missing, but hopefully we can use this description as a base to expand on.
- adds a few notes about memory regions and their use in ESP-IDF.
- add SPI flash and partition APIs page
- fixes all Doxygen warnings in header files
- enables build failures on new Doxygen warnings

See merge request !201
2016-11-17 19:00:03 +08:00
Angus Gratton acafa9aaa8 Merge branch 'bugfix/secure_boot_fixes' into 'master'
Secure boot related fixes

Fix some issues (mostly build system) from the secure boot implementation

Also refactor the way submodule checks are applied to make them more reliable.

See merge request !207
2016-11-17 17:42:03 +08:00
Jeroen Domburg d116adf260 Add documentation 2016-11-17 12:09:08 +08:00
Wu Jian Gang 3366c98d39 Merge branch 'bugfix/tw8746_restore_cause_load_fail' into 'master'
nvs_flash: adjust the nvs_flash start sector number

Modify the nvs flash start sector from 6 to 9 because the partition table bin burn address is modified from 0x4000 to 0x8000

See merge request !215
2016-11-17 11:53:41 +08:00
Liu Zhi Fu 936b02216b docs/nvs_flash: update the nvs flash offset comment according review 2016-11-17 11:44:39 +08:00
Benjamin Vernoux 78d0849426 Simplified "Installing OpenOCD" with git clone --recursive 2016-11-17 10:19:42 +11:00
Angus Gratton 24b4c17ead build system: Refactor SubmoduleCheck to work project-wide
Required at project level because some components use header files in
other components' submodules, and one component with a
submodule (esptool.py) doesn't have or need a component.mk.
2016-11-17 09:18:51 +11:00
Ivan Grokhotkov 13d4734399 docs: fix Doxygen warnings, fail CI build on Doxygen warnings 2016-11-16 22:44:22 +08:00
Ivan Grokhotkov ca202cbb46 docs: fix broken links, formatting, add SPI flash and partition APIs 2016-11-16 22:44:22 +08:00
Ivan Grokhotkov 8713155e66 docs: add description of ESP-IDF application startup flow and memory layout 2016-11-16 22:44:22 +08:00
Angus Gratton c15024e629 Merge branch 'master' into feature/build_component_project_vars 2016-11-14 14:54:41 +11:00
Angus Gratton ea4005e673 Merge branch 'feature/esptool_secure_boot' into 'master'
Secure boot support

Also includes a lot of esptool.py changes (two new command line tools, espefuse.py and espsecure.py)
https://github.com/themadinventor/esptool/compare/feature/esp32_v20_refactor...feature/esp32_secure_boot?expand=1


See merge request !163
2016-11-14 11:32:04 +08:00
Angus Gratton 0b4fe9dd6d secure boot: Add warnings this feature is not finished yet 2016-11-14 14:22:36 +11:00
Angus Gratton 572f62928b Secure boot: Documentation tweaks 2016-11-14 14:22:36 +11:00
Angus Gratton e459f803da secure boot: Functional partition table & app signature verification 2016-11-14 11:08:42 +11:00
Angus Gratton ff1b2c6039 partition_table: Pad generated table to 0xC00 length, for easier signing 2016-11-14 11:08:42 +11:00
Angus Gratton b5de581399 Secure boot: initial image signature support 2016-11-14 11:08:42 +11:00
Angus Gratton 341593f7d2 build system: Remove need for $(Q) macro in recipes, use --silent in MAKEFLAGS instead 2016-11-11 12:32:47 +11:00
Krzysztof ce0382f0c0 Revised api files
- Included UART API
- Addedd "Header Files"
- Improved template
- deleted redundat nvs.rst
2016-11-10 22:50:55 +01:00