Commit graph

450 commits

Author SHA1 Message Date
Angus Gratton 76d8190444 multi_heap: Print the problem address when aborting due to heap corruption
New multi_heap code has proven effective at aborting when buffer overruns occur,
but it's currently hard to debug the stack traces from these failures.
2017-09-18 16:54:23 +10:00
Ivan Grokhotkov 7551e1d310 make,docs: update toolchain to 1.22.0-72-g4d49225 2017-09-18 10:32:44 +08:00
krzychb 6fa62ca604 Added a section how to update existing local esp-idf repository and load specific release. Inspired by issues #990 and #997 2017-09-15 19:54:36 +02:00
Wangjialin 2fceec4d85 feature(I2S-ADC): add ADC mode for I2S.
1. Support built-in ADC for I2S.
2. Modify code of ADC, made no change to the original APIs.
3. Add APIs in I2S:
esp_err_t i2s_set_adc_mode(adc_unit_t adc_unit, adc1_channel_t adc_channel);
4. Add I2S ADC/DAC example code.
5. add old-fashion definition to make it more compatible
6. replase spi_flash_ APIs with esp_partition_ APIs
7. add example of generating audio table from wav
8. change example sound
2017-09-14 13:24:08 +08:00
Angus Gratton 4b8aa9e20d ci: Add new check_doc_warnings.sh script, pre-process log lines
* Fixes issue in !1250 when IDF_PATH changes on build runner
* Allows checking document warnings before CI run
* Will be robust to line number changes in document files
2017-09-14 13:46:35 +10:00
Ivan Grokhotkov b2adaf2a4c Merge branch 'feature/docs_adc_api_reference' into 'master'
More details added to  description of ADC API

See merge request !1240
2017-09-14 10:49:12 +08:00
krzychb 53fde7842e Resolved docs formatting issues that sneak into documentation with MR 1061 2017-09-13 21:00:48 +02:00
Jiang Jiang Jian 33a4a6a510 Merge branch 'feature/add_espnow' into 'master'
add ESPNOW feature

See merge request !1061
2017-09-13 20:32:53 +08:00
Ivan Grokhotkov dfaf166436 Merge branch 'feature/toolchain-update' into 'master'
Toolchain update

See merge request !1204
2017-09-13 18:05:09 +08:00
Angus Gratton 61e3a5bd16 windows: Update toolchain & MSYS package download links 2017-09-13 17:27:47 +08:00
Ivan Grokhotkov 5586b4b799 Update toolchain download links 2017-09-13 17:27:47 +08:00
Ivan Grokhotkov d7fb4a71a0 Merge branch 'feature/fail_build_on_sphinx_warning' into 'master'
Fail CI build on Sphinx warnings

See merge request !1228
2017-09-12 13:49:11 +08:00
krzychb 59792bb2c3 Fail CI build on Sphinx warnings 2017-09-12 07:12:57 +02:00
XiaXiaotian e4ba31a8b9 add ESPNOW feature
ESPNOW is a kind of WiFi communication bettween WiFi devices, no
    matter they are connected to each other or not. Once two WiFi
    devices are paired, they can send data to or receive data from
    each other. The data is transmitted in action frame which can
    be encrypted with CCMP method. ESPNOW also support mutilcast frame
    transmitting.
2017-09-12 12:12:13 +08:00
krzychb 31eda99136 More detailed description of ADC API 2017-09-11 21:00:09 +02:00
me-no-dev dd87deb278 Add SPIFFS Component to IDF 2017-09-11 19:56:40 +03:00
Ivan Grokhotkov 1e7c3854d3 Merge branch 'bugfix/warn_on_invalid_xtal_freq' into 'master'
soc/rtc: warn if detected XTAL frequency does not match configured one

See merge request !1242
2017-09-11 18:15:11 +08:00
Ivan Grokhotkov de038f502c Merge branch 'feature/gpio_channel_macro' into 'master'
feat(global): add macros for GPIO->channel lookup

See merge request !1170
2017-09-11 12:15:08 +08:00
Ivan Grokhotkov 5a88f90a33 soc/rtc: warn if detected XTAL frequency does not match configured one
Since 9a8c0392, XTAL frequency is set to 40MHz by default, and users
of 26MHz boards need to select 26MHz manually. Most users are not aware
of this change, and existing getting started guides do not mention that
XTAL frequency needs to be set for some boards. So users are left with
garbage output from UART without any clue what to check.

This change adds a warning in case specific XTAL frequency was set, and
it does not match automatically detected one. This should help users
fix the issue.
2017-09-11 11:42:26 +08:00
Ivan Grokhotkov 050ae50e83 Merge branch 'bugfix/docs_broken_links' into 'master'
Fixed broken links in documentation

See merge request !1230
2017-09-08 12:06:43 +08:00
Ivan Grokhotkov e12967297d Merge branch 'feature/docs_touch_pad_api' into 'master'
Touch Pad driver overview

See merge request !1195
2017-09-08 11:55:27 +08:00
krzychb b69379941b Fixed broken links in documentation 2017-09-07 18:48:15 +02:00
Ivan Grokhotkov 40df6546c0 Merge branch 'feature/multi_heap_poisoning' into 'master'
Heap tracing & poisoning features

See merge request !749
2017-09-07 17:47:51 +08:00
Ivan Grokhotkov b9dfb437ab Merge branch 'bugfix/intr_free' into 'master'
fix(intr): fix the logic for allocating and freeing interrupts.

See merge request !1124
2017-09-07 17:45:18 +08:00
Angus Gratton 72995bfcec doc: Add docs for heap trace & poisoning 2017-09-07 16:32:05 +10:00
michael 08b9fbc242 feat(global): add macros for GPIO->channel lookup
including: macros for dac, adc, touch, rtc_gpio, uart and clk_out.

TW#13970
2017-09-07 10:40:25 +08:00
Angus Gratton 4809c70899 Merge branch 'feature/register_heaps_runtime' into 'master'
heap: Support adding new heap regions at runtime

See merge request !1159
2017-09-07 10:18:21 +08:00
michael c82e51cf79 fix(intr): always assign the same intr to a same source, disable the source only when all the handlers disabled.
also document handlers sharing a same source.

TW#13454, https://github.com/nodemcu/nodemcu-firmware/issues/1874

Breaking change: handles assigned to a same source should have the same flag now.
2017-09-06 15:20:01 +08:00
krzychb 672390c458 Mass replacement of http with https urls, fixed broken urls 2017-09-06 08:16:01 +02:00
krzychb 73297f1aa3 Separate section on touch detection 2017-09-05 20:43:15 +02:00
krzychb 7c7d29dc4a Implemented 2 of 3 review comments 2017-09-05 08:28:44 +02:00
krzychb ba42c46cb3 Touch Pad driver overview 2017-09-05 08:28:44 +02:00
Angus Gratton 5f3cb9f9dc build system: Document --warn-undefined-variables and add a config item for it 2017-09-05 16:11:03 +10:00
Angus Gratton 5361c08989 heap: Support adding new heap regions at runtime
To facilitate this, the list of registered heap regions is now a linked list
(allowing entries to be appended at runtime.)
2017-09-05 14:07:02 +10:00
Ivan Grokhotkov d2acf1ce77 sleep: add light sleep, factor out APIs common for deep/light sleep 2017-09-01 10:36:14 +08:00
lf f77020ee5f Add quotes to PATH declarations
This is necessary in case someone has a space in their PATH variable (which is within the realm of possibility)

Merges https://github.com/espressif/esp-idf/pull/800
2017-08-30 17:55:00 +10:00
Patrick Hobusch 76cb1bac2b Fix distinction between shared and non-shared interrupts in docs
Merges https://github.com/espressif/esp-idf/pull/701
2017-08-30 17:55:00 +10:00
Jeroen Domburg a1b5813049 Merge branch 'feature/adc_calibration' into 'master'
esp_adc_cal component

See merge request !1084
2017-08-30 10:00:19 +08:00
Angus Gratton 8bd6feedd4 Merge branch 'bugfix/docs_updates' into 'master'
Removed redundant 'Logging to Host' and docs cleaning

See merge request !1158
2017-08-30 09:43:00 +08:00
krzychb 8c3169b6be Removed redundant 'Logging to Host' and docs cleaning 2017-08-29 20:47:10 +02:00
Darian Leung 88b05f9391 esp_adc_cal: Added ADC calibration component
Added component containg API that is able to correct raw ADC readings
into a voltage in mV. Also provided a helper function that combines
the process of getting the raw ADC1 reading then converting it to a
voltage in mV. In doing so, the adc1_get_voltage() function of the ADC
driver has been deprecated. Instead there is now adc1_get_raw to obtain
the raw ADC1 reading, and adc1_to_voltage() that gets the raw reading
and converts all in one function. Functions using the deprecated
adc1_get_voltage() have also been updated to use adc1_get_raw().

Conversion is based on ADC characteristics. The characteristics are based
on the ADC's v_ref, herefore the appropriate structure and functions have
been provided to obtain the ADC characteristics.

The existing ADC driver has also been modified by adding a function to
route the internal ADC reference voltage to a GPIO allowing users to measure
it manually.

Relevant documentation has also been updated
2017-08-29 18:43:14 +08:00
Ivan Grokhotkov 3161854efb Merge branch 'bugfix/spi_hd_rx' into 'master'
fix(spi_dma_rx): add check to avoid using SPI half-duplex mode DMA with both MOSI and MISO phases.

See merge request !1111
2017-08-28 17:36:58 +08:00
michael 2554f61f05 doc(spi master): documents updated for several limitations. 2017-08-26 02:15:32 +08:00
Ivan Grokhotkov 631f552489 sdmmc: don't use high speed mode with SD over SPI
Disabling due to limitation of SPI driver (max 26MHz for full-duplex
mode over GPIO matrix)
2017-08-25 14:33:19 +08:00
Jeroen Domburg 1862736c3a Merge branch 'bugfix/the_esp-wrover-kit_identity' into 'master'
ESP-WROVER-KIT now integrates the ESP32-WROVER module by default.

See merge request !1096
2017-08-24 14:33:34 +08:00
Ivan Grokhotkov cc96234bb8 Merge branch 'feature/docs_esp32-wrover_info' into 'master'
docs: Included information about ESP32-WROVER module

See merge request !1107
2017-08-24 14:30:06 +08:00
Wang Jia Lin f1ecffb46c Merge branch 'bugfix/touch_pad_driver' into 'master'
driver(touch): fix bug and add more features

See merge request !1056
2017-08-23 19:12:39 +08:00
krzychb 173cce2850 docs: Included information about ESP32-WROVER module 2017-08-22 20:08:04 +02:00
Wangjialin 842caaab21 driver(touch): fix bug and add more features
1. add sens_struct.h
2. add definition of RTCCNTL and RTCIO
3. modify touch pad examples
4. update example code.
5. add comments add option in menuconfig
6. fix issue that pad index 8 and 9 are mismatched
7. add touch_pad_read_filtered() api to get value filtered by iir filter
8. modify touch pad isr func
9. Make the items in perihperal.ld in the sequence of address
10. delete Kconfig for touch pad
11. add touchpad filter APIs to adjust the filter
12. add touch_pad into index.rst
13. add touch_pad in Doxyfile
14. add touch_pad.rst
2017-08-22 21:21:39 +08:00
Ivan Grokhotkov 908f94c8e9 docs: wifi: use list instead of nested table
Latex backend does not support nested tables, which caused documentation
build to fail on readthedocs.
2017-08-22 15:12:35 +08:00
Ivan Grokhotkov 430cf3e9b3 docs: link to Kconfig options documentation 2017-08-22 15:12:35 +08:00
Ivan Grokhotkov a2f4f2999d docs: generate documentation for Kconfig options
This adds a simple script which parses Kconfig files using Kconfiglib
and emits ReST document with the list of all options. For each option
a link target is generated, to make it possible to link to any Kconfig
option from the rest of the documentation.
Since Kconfiglib is not on PyPI, the latest version (45f87b9d) is
bundled into the docs directory.
2017-08-22 15:12:34 +08:00
Ivan Grokhotkov 5de7c91a54 add console component and example 2017-08-21 15:58:27 +08:00
krzychb f2ce3e8678 ESP-WROVER-KIT now integrates the ESP32-WROVER module by default. But it is still compatible with both ESP-WROOM-32 and ESP32-WROVER. The latest baseboard is still V3. The original 'ESP-WROVER-KIT' that integrates ESP-WROOM-32 is unlikely to be produced any longer, while the original 'ESP-WROVER-KIT-RVB' is renamed as “ESP-WROVER-KIT” and in mass production. 2017-08-19 21:16:00 +02:00
Ivan Grokhotkov bfb15c6fc9 Merge branch 'bugfix/docs_app_trace_lib' into 'master'
Update of "Application Level Tracing library" documentation to reflect "esp32" target

See merge request !1081
2017-08-16 19:12:51 +08:00
Ivan Grokhotkov 44f5b9f78d Merge branch 'bugfix/docs_datasheet_link_fix' into 'master'
Fix the wrong link of the datasheet

See merge request !1100
2017-08-16 19:11:43 +08:00
krzychb b0b323df37 Included 'Introduction' from original 'Get Started' PDF 2017-08-14 08:06:42 +02:00
krzychb fe80e1a595 Fixed Breathe release because 'latest' introduces errors 2017-08-09 19:09:59 +02:00
krzychb 00a81564f0 Merge branch 'master' of https://gitlab.espressif.cn:6688/idf/esp-idf into feature/docs_setup_sphinx 2017-08-09 18:46:43 +02:00
Ivan Grokhotkov 43b81c8f11 Merge branch 'feature/fast_crypto_used_in_supplicant' into 'master'
Add the fast crypto function in supplicant, relate to the task tw13712

See merge request !1075
2017-08-09 21:55:05 +08:00
Deng Xin 57bc38d867 Add the fast crypto function in supplicant
optimize the speed when do wifi connect
2017-08-09 21:36:13 +08:00
Anton Maklakov 3a608a359d doc: Fix the wrong link 2017-08-09 18:41:02 +08:00
Ivan Grokhotkov b8b553d122 Merge branch 'feature/docs_build_openocd_windows' into 'master'
Provided instruction to build OpenOCD from sources using MSYS2

See merge request !1062
2017-08-09 13:17:35 +08:00
Ivan Grokhotkov 142f4ac071 Merge branch 'feature/docs_wrover_kit_description' into 'master'
Updated desription of ESP-WROVER-KIT features in getting started guide, changed …

See merge request !1064
2017-08-09 13:17:19 +08:00
krzychb ca5065c66c Trace collection command examples 2017-08-05 16:54:58 +02:00
krzychb 485518cb59 Target change, clarifications and formatting updates 2017-08-04 22:17:31 +02:00
Ivan Grokhotkov d286d2f647 Merge branch 'feature/apptrace_api_ext' into 'master'
esp32: Apptrace API enhancement

See merge request !1021
2017-08-02 14:34:42 +08:00
krzychb b1fcfca987 Updated desription of ESP-WROVER-KIT features in getting started guide, changed link to JTAG Debugging 2017-08-02 06:57:28 +02:00
krzychb 2e94b51b9c Instructions how to setup tools and build documentation locally 2017-08-02 06:33:55 +02:00
krzychb d5119dd529 Provided instruction to build OpenOCD from sources using MSYS2 2017-08-02 06:10:44 +02:00
Ivan Grokhotkov dce7fcb90d Merge branch 'bugfix/sdspi_docs' into 'master'
Fix SD SPI docs

See merge request !1058
2017-07-28 16:03:45 +08:00
Ivan Grokhotkov 3bd6194c58 Merge branch 'feature/docs_jtag_debugging' into 'master'
Update and extension of Debugging documentation

See merge request !850
2017-07-27 22:03:45 +08:00
Ivan Grokhotkov 770b9e3b9e docs: fix warnings related to SD SPI documentation 2017-07-27 20:43:26 +08:00
Ivan Grokhotkov d4982e0b64 docs: temporary downgrade Sphinx to 1.5.6 to work around Breathe issue 2017-07-27 20:43:26 +08:00
Ivan Grokhotkov 046b2c0aa4 docs: add OpenOCD/JTAG instructions for macOS 2017-07-27 20:25:56 +08:00
Jeroen Domburg 09c8851b8d Merge branch 'feature/esp-wrover-kit-rvb_note' into 'master'
Add a note what is different about ESP-WROVER-KIT RVB

See merge request !1008
2017-07-26 16:12:58 +08:00
krzychb f50fd070c9 Updated links to binary distributions of OpenOCD 2017-07-26 14:53:54 +08:00
Alexey Gerenkov 7d86f167ee docs: Flashing over JTAG was added 2017-07-26 14:53:48 +08:00
krzychb 1fb85b494c JTAG Debugging - revamping of Debugging documentation 2017-07-26 14:53:43 +08:00
Ivan Grokhotkov 002f38fa8f Merge branch 'feature/sdspi_driver' into 'master'
SD SPI mode driver

This MR adds functionality to support SD cards connected via SPI interface.
Additionally, two bugs are fixed:
- Definition of `SPI_TRANS_MODE_DIOQIO_ADDR` in spi_master driver
- SD card probing frequency was 4000kHz instead of 400kHz as required by the standard

See merge request !727
2017-07-26 13:51:37 +08:00
Alexey Gerenkov 60c45ae2c4 Updated acc to comments 2017-07-24 20:07:21 +03:00
Alexey Gerenkov c2c9149a24 esp32: Apptrace API enhancement
- User down buffer configuration support
 - bugfix: ring buf - avalable write size undeflow
 - SysView down buf support updated
2017-07-24 19:57:44 +03:00
Liu Zhi Fu 508855538e docs: add wifi.rst
Add more documents about WiFi API/Event Mechanism/State Machine etc
2017-07-24 10:20:06 +08:00
Dmitry Yakovlev e5bb45f381 driver: SD protocol driver for SPI peripheral 2017-07-20 13:43:07 +08:00
Angus Gratton d664e32394 build system: Use component.mk for all components, refactor bootloader build
For config-only components, component.mk should now contain "COMPONENT_CONFIG_ONLY := 1"

Also refactored some of the generation of linker paths, library list. This required cleaning up the way the bootloader
project works, it's now mostly independent from the parent.
2017-07-19 09:10:48 +10:00
Angus Gratton 5492ba759a build system docs: Add some notes about project-level variables 2017-07-19 09:07:53 +10:00
Angus Gratton 2571e66a29 build system: Make component searching more explicit, obsolete SRCDIRS
Each COMPONENT_DIRS directory can now either be a component directory, or a parent directory containing component
subdirectories.

When searching for components, skip any directory which doesn't have component.mk, Kconfig.projbuild, or
Makefile.projbuild in it. This helps with debugging, list-components output, etc.
2017-07-19 09:07:53 +10:00
Angus Gratton 2c1fe6663d build system: Add list-components target for debugging component discovery 2017-07-19 09:07:53 +10:00
Ivan Grokhotkov 0ae916d555 Merge branch 'feature/high_level_interrupts' into 'master'
Break out high-level interrupts so a component can override them

See merge request !675
2017-07-18 10:42:31 +08:00
krzychb d3788b0db1 Add a note what is different about ESP-WROVER-KIT RVB 2017-07-17 07:16:31 +02:00
Angus Gratton b71f47670f doc: Move romconsole doc sub-headings to sub-headings
Removes them from the API guides ToC.
2017-07-13 14:33:29 +08:00
Angus Gratton 71c70cb15c heap: Refactor heap regions/capabilities out of FreeRTOS
Remove tagged heap API, rename caps_xxx to heap_caps_xxx

Also includes additional heap_caps_xxx inspection functions.
2017-07-10 17:46:03 +08:00
Jeroen Domburg 6cf6f43ac5 Merge branch 'feature/update_wrover_v3' into 'master'
docs: layout of esp-wrover-kit updated to v3

See merge request !929
2017-07-07 14:16:36 +08:00
Jeroen Domburg 1d748db209 Break out high-level interrupts so a component can override them 2017-07-07 12:51:33 +08:00
Ivan Grokhotkov 0087b887ae docs: update general notes section on IRAM/ISRs
- Remove outdated note that all ISRs should be in IRAM
- Replace “ISR handler” with “ISR” or “interrupt handler”
2017-07-06 10:47:18 +08:00
Ivan Grokhotkov cd1b6abc8c docs: fix flash encryption key storage block, use same names as in TRM 2017-07-06 10:47:18 +08:00
krzychb 9bb4dac3d2 Layout of esp-wrover-kit updated to v3 2017-07-05 21:21:54 +02:00
Jeroen Domburg 50e486f9eb Some documentation for the undocumented ROM console. 2017-06-29 19:01:50 +08:00
Ivan Grokhotkov 9b955f4c9f Merge branch 'feature/sysview_via_apptrace' into 'master'
sysview via apptrace

See merge request !708
2017-06-29 08:40:13 +08:00
Alexey Gerenkov 8d43859b6a esp32: SEGGER SystemView Tracing Support
Implements support for system level traces compatible with SEGGER
SystemView tool on top of ESP32 application tracing module.
That kind of traces can help to analyse program's behaviour.
SystemView can show timeline of tasks/ISRs execution, context switches,
statistics related to the CPUs' load distribution etc.

Also this commit adds useful feature to ESP32 application tracing module:
 - Trace data buffering is implemented to handle temporary peaks of events load
2017-06-27 20:52:43 +03:00