Commit Graph

4582 Commits

Author SHA1 Message Date
Piyush Shah
ef6fe211b8 freertos/ringbuf: Add an API xRingbufferIsNextItemWrapped()
Useful to check if the next item to receive is wrapped or not.
This is valid only if the ring buffer is initialised with type
RINGBUF_TYPE_ALLOWSPLIT.

This is as per the feature request here:
https://github.com/espressif/esp-idf/issues/806

Signed-off-by: Piyush Shah <piyush@espressif.com>
2017-12-27 16:54:25 +08:00
Piyush Shah
50637f638f freertos/ringbuf: Add an API xRingbufferGetCurFreeSize() to fetch current free size available
The earlier available API (xRingbufferGetMaxItemSize())just gives
a static max entry value possible for given ring buffer.
There was a feature request for an API which could provide
a real time available buffer size. See below:

https://github.com/espressif/esp-idf/issues/806

Signed-off-by: Piyush Shah <piyush@espressif.com>
2017-12-27 16:54:25 +08:00
Angus Gratton
c4b861ad65 log: Remove non-static TAG variables 2017-12-27 16:54:24 +08:00
Chuck Todd
492b926d50 i2c: rx <-> tx typo's, NULLing free'd variable, consistent CRITICAL sects
A couple of typos referencing tx_ring_buf when rx_ring_buf, slv_tx_mux
instead of slv_rx_mux.

Also, I2C_ENTER_CRITICAL()/I2C_EXIT_CRITICAL() usage was not consistent.
Only some of the _set_ functions had them.  Most of the _get_ function
had them?  It is my understanding that they should be wrapped around
writes, not reads? (I think we still need the lock for reading pairs of consistent values)

Also, the ticks_to_wait timeout handling in i2c_master_cmd_begin() would
not handle integer rollover correctly.

Merges https://github.com/espressif/esp-idf/pull/1180
2017-12-27 16:54:24 +08:00
Fabiano Kovalski
b5f8cf0f03 driver(i2c): corrected timeout range for i2c_set_timeout.
Merges https://github.com/espressif/esp-idf/pull/1353
2017-12-27 16:54:24 +08:00
Wangjialin
c4bb528c61 bugfix(i2c): use queue instead of event group for internal commands
Reported from github:
https://github.com/espressif/esp-idf/issues/1312
https://github.com/espressif/esp-idf/issues/1193

Issues:
1. We used to use event group in the driver, which would cause:
    a. longer operation time since the event group are based on FreeRTOS timer.
    b. Operation fails if the timer queue is not long enough.
2. There might be some issue with event group, we will still try to provide a small test code in other branch.

modification:
1. use queue instead of event-bit for internal commands
2. use queue overwrite for cmd_done event
2017-12-27 16:54:23 +08:00
michael
a0bdee0c9c feat(monitor): add pause feature. 2017-12-27 16:54:23 +08:00
michael
c015dd6c41 feat(monitor): add new feature allowing disabling log display. 2017-12-27 16:54:23 +08:00
Kewal
5afafb0050 fix typo for heap cap free size 2017-12-27 16:54:22 +08:00
krzychb
ff008d2be3 Linked ESP32 datasheet and regulatory certificates 2017-12-27 16:54:22 +08:00
krzychb
84bfc96f08 Fixed issues identified during review 2017-12-27 16:54:22 +08:00
krzychb
0448ee9685 The WROOM and WROVER family of modules is now extended with ESP-WROOM-32D and ESP32-WROOM-32U 2017-12-27 16:54:22 +08:00
Ivan Grokhotkov
42e411dafc bootloader: don't log anything before uart_console_configure is called 2017-12-27 16:54:21 +08:00
Ivan Grokhotkov
fbff8eb95b esp32: fix incorrect clock enable bit name for UART0
Closes https://github.com/espressif/esp-idf/issues/1301
2017-12-27 16:54:21 +08:00
Ivan Grokhotkov
c778951547 fatfs: fix double free in bailout path of esp_vfs_fat_sdmmc_mount
Fixes https://github.com/espressif/esp-idf/issues/1370
2017-12-27 16:54:21 +08:00
Ivan Grokhotkov
a0776b2f21 sdspi: use response timeout passed from upper layer
Previously SDSPI host driver would rely on retry count when waiting for
the card to read or write data. This caused different timeout times
depending on CPU frequency and card clock frequency. In practice, card
performance does not depend on these two factors.
This change uses timeout_ms field of sdmmc_command_t introduced
previously for SDMMC host.

Fixes https://esp32.com/viewtopic.php?f=2&t=3440&p=16037 and similar
issues related to SDSPI timeouts.
2017-12-27 16:54:21 +08:00
Ivan Grokhotkov
ae30d1bc7b fatfs: fix deinit not called for SDSPI host
Closes https://github.com/espressif/esp-idf/issues/1362
2017-12-27 16:54:21 +08:00
krzychb
28e4162dd2 Resolves: Warning '-s option given but default rule can be matched'. Closes https://github.com/espressif/esp-idf/issues/1338 2017-12-27 16:54:20 +08:00
Ivan Grokhotkov
242f8ea743 docs: add information about execution time of ULP instructions 2017-12-27 16:54:20 +08:00
Ivan Grokhotkov
5c1506f796 ulp: document the need to wait for RTC to be ready for wakeup 2017-12-27 16:54:20 +08:00
Ivan Grokhotkov
103559153f ulp: mention that instructions array must be declared in local scope
Closes https://github.com/espressif/esp-idf/issues/1327
2017-12-27 16:54:20 +08:00
Ivan Grokhotkov
d340088993 docs: add description of ULP I2C instructions 2017-12-27 16:54:20 +08:00
Ivan Grokhotkov
e8fbd6e288 time: rename time source option from FRC to "high-resolution timer"
libc time function now rely on esp_timer_get_time as the source of
high-resolution time, rather than FRC1 timer. Internally, on the ESP32
esp_timer implementation uses FRC2 timer.

- Change help text and labels in Kconfig to use "high-resolution timer"
  instead of FRC1. Keep existing Kconfig option name to be backwards
  compatible.
- Change references to "FRC1" in the source code to "FRC".
2017-12-27 16:54:19 +08:00
Ivan Grokhotkov
50b710d267 newlib/time: fix compilation error when only RTC is used as clock source
Fixes https://github.com/espressif/esp-idf/issues/1245
2017-12-27 16:54:19 +08:00
Ivan Grokhotkov
f4554c81fc vfs/fatfs: use structures with bit fields for FAT date/time
Replace explicit masks and shifts with bit fields when working with FATFS date and time representations. Also zero-initialize remaining members of struct tm.

Fixes https://github.com/espressif/esp-idf/issues/1369.
2017-12-27 16:54:19 +08:00
Ivan Grokhotkov
96be8f2efa vfs/fatfs: fix stat call failing when called for mount point
FATFS does not support f_stat call for drive root. When handling stat
for drive root, don't call f_stat and just return struct st with S_IFDIR
flag set.

Closes #984
2017-12-27 16:54:19 +08:00
Ivan Grokhotkov
033124be14 spiffs: make OBJ_META_LEN configurable, make mtime support optional
- SPIFFS_OBJ_META_LEN can be set in sdkconfig
- mtime support can be enabled in sdkconfig, if META_LENGTH is sufficient
- add test for mtime updates
2017-12-27 16:54:18 +08:00
luc lebosse
b4c1bdb11b Unify the time file creation for SPIFFS and SD 2017-12-27 16:54:18 +08:00
krzychb
acc9b871d1 1. Following https://esp32.com/viewtopic.php?f=14&t=3834 and https://github.com/espressif/esp-idf/issues/1351 updated information regarding selection of the main XTAL frequency. 2. Removed obsolete note about ': not a valid identifier...', as it does not show up anymore with the latests MSYS2 installation. 2017-12-27 16:54:17 +08:00
panfeng
cb9be8c0c4 bugfix: io setting useless when io_num > 32 2017-12-27 16:54:17 +08:00
Paul Reimer
8388e1be54 Add #include guards and __cplusplus guards to esp_debug.h
Merges https://github.com/espressif/esp-idf/pull/1358
2017-12-27 16:54:16 +08:00
Paul Reimer
5960e7419d build system: Add *.cc files to list of file extensions compiled by default
Merges https://github.com/espressif/esp-idf/pull/1318
2017-12-27 16:54:16 +08:00
robotrovsky
21912b95f4 Bugfix I_DELAY macro
When compiling

> const ulp_insn_t program[] = {
> I_DELAY(1)
> };

with the xtensa-esp32-elf-g++ compiler i always got the error:

> sorry, unimplemented: non-trivial designated initializers not supported
>
>        };

This was due to the different order in the macro and the struct. The struct has another order of the fields (opcode, unused, cycles) vs (cycles, unused, opcode):
>    struct {
>        uint32_t cycles : 16;       /*!< Number of cycles to sleep */
>        uint32_t unused : 12;       /*!< Unused */
>        uint32_t opcode : 4;        /*!< Opcode (OPCODE_DELAY) */
>    } delay;                        /*!< Format of DELAY instruction */

After updating the order in the macro it is possible to compile with the g++ compiler.

Merges https://github.com/espressif/esp-idf/pull/1310
2017-12-27 16:54:16 +08:00
Ivan Grokhotkov
3085eb7ec6 openssl: add feature check for MBEDTLS_SSL_ALPN
Fixes https://github.com/espressif/esp-idf/issues/1342
2017-12-27 16:54:16 +08:00
Mahavir Jain
8ed44ace4b heap_trace: fix bug in realloc for copying trace record
Closes https://github.com/espressif/esp-idf/issues/1354

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2017-12-27 16:54:15 +08:00
Mahavir Jain
58accf05cf docs: fix i2s code snippet for interrupt flags setting
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2017-12-27 16:54:15 +08:00
Ivan Grokhotkov
6f90393f22 docs: link to FreeRTOS APIs from SMP changes documentation 2017-12-27 16:54:14 +08:00
Ivan Grokhotkov
66fe94f816 docs: add FreeRTOS API docs
- Use `code` tags instead of a mix of `<pre></pre>` and
  `@verbatim .. @endverbatim`
- Remove manually added function prototypes from comment blocks
- Remove of grouping (`\defgroup`) — some extra work is needed
  to make groups compatible with the way we auto-generate API
  reference from Doxygen XML files. It's pretty easy to add the
  grouping directives back if/when we implement support for
  Doxygen groups in the later stages of documentation build
  process.
- Hide private APIs under `@cond .. @endcond`
- Convert some comments into Doxygen-compatible ones
- Fix various documentation issues: missing documentation for
  some parameters, mismatch between parameter names in comment
  block and in function prototype.
- Add doxygen comments for functions which didn't have them
  (thread local storage).
- Add [out] param tags where necessary
- Redefine `xTaskCreate` and `xTaskCreateStatic` as inline
  functions instead of macros.
2017-12-27 16:54:14 +08:00
Darian Leung
df6adbd5bf freertos/fix SMP bug with Idle task clean up
This commit backports vTaskDelete() behavior from FreeRTOS v9.0.0  which
allows for the immediate freeing of task memory if the task being deleted
is not currently running and not pinned to the other core. This commit also
fixes a bug in prvCheckTasksWaitingTermination which prevented the
Idle Task from cleaning up all tasks awaiting deletion. Each iteration of the Idle
Task should traverse the xTasksWaitingTermination list and clean up all tasks
not pinned to the other core. The previous implementation would cause
prvCheckTasksWaitingTermination to return when encountering a task
pinned to the other core whilst traversing the xTasksWaitingTermination list.

The test case for vTaskDelete() has been updated to test for the bugfix and
backported deletion behavior.
2017-12-27 16:54:14 +08:00
Roman Valls Guimera
ce3ccc18fa Update cJSON to 1.6.0
* Fixes compilation errors/warnings with gcc 7.2.0

Merges https://github.com/espressif/esp-idf/pull/1163
2017-12-27 16:54:13 +08:00
Roman Valls Guimera
36d6e4e2c7 Fix compilation errors when using gcc-7.2.0 for the crosstool-ng toolchain
* Change snprintf for strlcat does not complain w/gcc7.2.0 and it is safer, thanks @projectgus
* Use proper quotes for character literals

Merges https://github.com/espressif/esp-idf/pull/1163
2017-12-27 16:54:13 +08:00
Angus Gratton
a4d45a0a4d spi_flash: Add option to log warnings if (spuriously) writing zero bits to ones
Won't work for SPIFFS, maybe some other implementations?
2017-12-27 16:54:12 +08:00
Angus Gratton
38170d465c spi_flash: Add option to verify all writes by reading back data
Helpful when debugging SPI flash hardware related issues.

TW15203
2017-12-27 16:54:12 +08:00
Angus Gratton
ccea4a0f8f windows: Allow "make menuconfig" to work if ming32 gcc is also installed
Closes https://github.com/espressif/esp-idf/issues/1296
2017-12-27 16:54:12 +08:00
Jiang Jiang Jian
954c0981d8 Merge branch 'refactor/btdm_spp_client_demo' into 'release/v3.0'
component/bt: refactor spp client demo

See merge request !1697
2017-12-27 11:46:15 +08:00
Ivan Grokhotkov
de79de1c26 Merge branch 'bugfix/btdm_modify_code_format_and_comments_v3.0' into 'release/v3.0'
Component/bt: modify code format and comments_v3.0

See merge request !1693
2017-12-25 14:30:50 +08:00
zhiweijian
194e1835c2 Component/bt: modify code format and comments 2017-12-22 19:50:51 +08:00
Ivan Grokhotkov
17ac80867b Merge branch 'bugfix/btdm_fix_memory_leak_for_SMP_V3.0' into 'release/v3.0'
component/bt: fix memory leak in SMP_V3.0

See merge request !1691
2017-12-22 14:34:44 +08:00
xiewenxiang
e8d1072467 component/bt: refactor spp client demo
- fix the bug that before free the db pointer, the db was set to NULL
2017-12-21 10:01:38 +08:00
Jiang Jiang Jian
05605920ae Merge branch 'bugfix/esp_timer_overflow_bugs' into 'release/v3.0'
esp_timer:fix three bugs about timer get and timer alarm where overflow is not correct

See merge request !1663
2017-12-20 13:31:41 +08:00