Commit Graph

574 Commits

Author SHA1 Message Date
Darian Leung
4bfa30967f freeRTOS/Re-factor ring buffers
This fixes multiple bugs with ring buffers and re-factors the code. The public
API has not changed, however the underlying implementation have various private
functions have been changed. The following behavioral changes have been made

-   Size of ring buffers for No-Split/Allow-Split buffers will not be rounded
    up to the nearest 32-bit aligned size. This was done to simplify the
    implementation

-   Item size for No-Split/Allow-Split buffers will also be rounded up to the
    nearest 32-bit aligned size.

The following bugs have been fixed

-   In copyItemToRingbufAllowSplit(), when copying an item where the aligned
    size is smaller than the remaining length, the function does not consider
    the case where the true size of the item is less than 4 bytes.

-   The copy functions will automatically wrap around the write pointers when
    the remaining length of the buffer is not large enough to fit a header, but
    does not consider if wrapping around will cause an overlap with the read
    pointer. This will make a full buffer be mistaken for an empty buffer

closes #1711
-   xRingbufferSend() can get stuck in a infinite loop when the size of the
    free memory is larger than the needed_size, but too small to fit in the ring
    buffer due to alignment and extra overhead of wrapping around.

closes #1846
-   Fixed documentation with ring buffer queue set API

-   Adding and removing from queue set does not consider the case where the
    read/write semaphores actually hold a value.

The following functions have been deprecated
    - xRingbufferIsNextItemWrapped() due to lack of thread safety
    - xRingbufferAddToQueueSetWrite() and xRingbufferRemoveFromQueueSetWrite()
    as adding the queue sets only work under receive operations.

The following functions have been added
    - xRingbufferReceiveSplit() and xRingbufferReceiveSplitFromISR() as a thread
    safe way to receive from allow-split buffers
    - vRingbufferGetInfo()

Documentation for ring buffers has also been added.
2018-05-21 01:04:58 +00:00
Roland Dobai
18e83bcd53 Allow VFS file descriptors in select() 2018-05-18 08:06:33 +02:00
Ivan Grokhotkov
45d3b1f4b1 docs: update information about automatic light sleep 2018-05-18 03:14:46 +00:00
Angus Gratton
06082d9308 Merge branch 'doc/spi_master_thread_safety' into 'master'
driver: Add notes to SPI driver docs about thread safety

See merge request idf/esp-idf!2354
2018-05-07 14:49:41 +08:00
Angus Gratton
b90ad81f22 driver: Add notes to SPI driver docs about thread safety 2018-05-07 09:03:48 +08:00
Ivan Grokhotkov
5f956125c1 Merge branch 'feature/mfg_bin_create_utility' into 'master'
nvs_flash: Add external binary creation support for NVS partition.

See merge request idf/esp-idf!2031
2018-05-02 11:58:38 +08:00
Tian Hao
adada3f67e component/bt : modify header files to avoid conflict
1. add the L1 include path with a prefix, such like osi/list.h, stack/a2d_api.h and etc.
2. modify component, only bluedroid/api/include/api is export to another component and application,
   other include path just for bluedroid used
3. put bluedroid/include into common/include/common, so the root directory of bluedroid have no include path.
4. modify doxygen to use esp_bt.h and redirect to
component/bt/bluedroid/api/include/api/

fix compile
2018-04-26 19:32:06 +08:00
Amit Sheth
aa357a32bc nvs_flash: Add binary creation support for NVS partition.
Ideally suited for generating a binary externally, containing key-value pairs specific
to device manufacturers. Utility allows creation of a binary, compatible
with NVS structure, which can be separately flashed onto a new
partition. This helps device manufacturers set different values for
different devices, e.g. serial numbers, but using a single firmaware
image.
2018-04-23 00:27:29 +05:30
Ivan Grokhotkov
6185e722c3 Revert "Merge branch 'feature/vfs_select' into 'master'"
This reverts merge request !2074
2018-04-20 11:51:41 +08:00
Roland Dobai
6852d653bd Allow VFS file descriptors in select() 2018-04-17 11:25:30 +02:00
Ivan Grokhotkov
e148c2a12c docs: update SDMMC and SDSPI documentation
- Split SDMMC page into pages about SDMMC/SDSPI hosts and a page about
   the protocol layer.
- Use autogenerated API reference instead of manually generated one.
- Add information about SDIO APIs.
2018-04-11 11:07:13 +08:00
Angus Gratton
2bfef060ba Merge branch 'bugfix/small_fixes_from_github' into 'master'
Bugfix/small fixes from github

See merge request idf/esp-idf!2200
2018-04-10 09:19:19 +08:00
Daniel Miller
9acebb08fe doc: spelling
Merges https://github.com/espressif/esp-idf/pull/1800
2018-04-09 12:28:21 +10:00
Jitin George
254212b02b changes to accomodate new Doc structure 2018-04-06 17:16:27 +05:30
Jitin George
e29294b49a Resolved Issues 2018-04-06 17:16:27 +05:30
qiyueixa
2984cdbbe3 add mesh feature 2018-04-04 22:57:45 +08:00
Ivan Grokhotkov
139d49894c Merge branch 'feature/deactivate_wakeup_trigger' into 'master'
esp32: Add deactivation of wake up trigger for different sources

See merge request idf/esp-idf!2079
2018-04-03 15:19:10 +08:00
michael
e0b05c29f1 doc(spi_master): add descriptions about the SPI master speed
Closes https://github.com/espressif/esp-idf/issues/1542, Closes https://github.com/espressif/esp-idf/issues/1008
2018-04-02 12:44:19 +00:00
Ivan Grokhotkov
5bc724d3f9 Merge branch 'feature/configure_pthread_behaviour' into 'master'
pthread: Allow configuration of priority and stacksize

See merge request idf/esp-idf!1978
2018-03-21 00:41:20 +08:00
Kedar Sovani
7a0cab0a5b pthread: Allow configuration of priority and stacksize
The expected usage is:
  esp_pthread_set_cfg(cfg);
  pthread_create()

If the inherit flag is set, then all subsequent threads forked by this
thread will also inherit this configuration. This avoids having to
change/prefix this for each and every pthread_create() call.
2018-03-20 18:06:32 +05:30
Stefan Tauner
757c1d6739 docs: explicitly note that timer alarms are not recurring
Merges https://github.com/espressif/esp-idf/pull/1740
2018-03-19 11:56:57 +08:00
krzychb
b7f7ac3b28 Implemented review comments to zh_CN version of eclipse setup and PICO-KIT get started guides. Resolved issues after rebasing on master of several commits. 2018-03-13 22:31:54 +01:00
krzychb
40bc387bae Restored back original 'zh_CN' version files and updated links between versions 2018-03-13 21:57:08 +01:00
krzychb
097adc3a33 Moved files into separate folders per 'en' and 'zh_CN' language version and linked 'zh_CN' files back to 'en' files if translation is not yet available 2018-03-13 21:57:08 +01:00