Commit Graph

336 Commits

Author SHA1 Message Date
Ivan Grokhotkov
62f924544d Merge branch 'test/spi_performance' into 'master'
test(spi_master): add performance display for spi master.

See merge request idf/esp-idf!1923
2018-02-08 22:59:40 +08:00
Jeroen Domburg
35de8d703e Merge branch 'bugfix/spi_gpio0' into 'master'
fix(spi): several fixes about maros (flags) and GPIO0.

See merge request idf/esp-idf!1666
2018-02-07 18:50:13 +08:00
Michael (Xiao Xufeng)
a151767426 test(spi_master): add performance display for spi master. 2018-02-07 17:50:13 +08:00
Michael (XIAO Xufeng)
e14e1508cb fix(sdmmc_host): fix the issue when slot and host flag are not compatible. 2018-02-07 12:05:05 +08:00
Michael (XIAO Xufeng)
8abbb17401 feat(sdmmc_host): force pull-up DAT3 for SD 4-bit mode so that slave will not fall into SPI mode. 2018-02-07 12:05:05 +08:00
Michael (Xiao Xufeng)
5214a0600c test(adc2): temporary ignore adc2 unit test (with WiFi) to pass the CI.
the issue is introduced in commit 17f01eb718.
2018-02-06 11:59:40 +08:00
Angus Gratton
4297c337f9 esp32: Add IO_MUX_GPIOxx register names to match iomux names used in TRM
The TRM describes IOMUX registers are IO_MUX_x_REG for x in GPIO0-39.

Until now ESP-IDF describes them as PERIPHS_IO_MUX_(pinname)_U

This commit adds additional IOMUX register names which match the ones used in the TRM.
2018-01-30 17:09:37 +08:00
michael
be96e1db95 fix(spi): fix typo of LSBFIRST macro.
Closes https://github.com/espressif/esp-idf/issues/1480, Closes https://github.com/espressif/esp-idf/issues/1464
2018-01-29 17:44:37 +08:00
michael
8900200147 fix(spi_master): fix the variable command and address flag issue.
Closes https://github.com/espressif/esp-idf/issues/1549
2018-01-29 17:44:36 +08:00
michael
60469c500a fix(spi): fix pin issue with GPIO0 (other pins than CS). 2018-01-29 17:44:36 +08:00
Wangjialin
870efdb9d4 bugfix(uart): patten detect function
requirement from github(https://github.com/espressif/esp-idf/issues/805): to provide the position in the buffer of the pattern detected.

requirement from AT application: in AT app, when no hardware flow control is enabled, in some situation the rx buffer might be full, and the terminator “+++” might be lost, we can use pattern detect interrupt to avoid missing the terminator. When pattern detect interrupt happens, it will not send a data event at the same time.

1. Add API to get position of detected pattern in rx buffer
2. Modify UART event example
3. Add comments for uart_flush, add alias API uart_flush_input to clear the rx buffer
4. Modify the way rx_buffered_len is calculated
2018-01-22 13:33:51 +08:00
kooho
492db0591d Fix uart fifo overflow bug 2018-01-12 14:42:54 +08:00
Angus Gratton
2227c44254 rmt: Add void * argument for end-of-transmission callback
Ref https://github.com/espressif/esp-idf/pull/1174
2018-01-05 17:31:59 +11:00
Krzysztof Bociurko
1066c74b74 rmt: Adds a simple handler that can be called when transmission ends.
Merges https://github.com/espressif/esp-idf/pull/1174
2018-01-05 17:14:02 +11:00
Ivan Grokhotkov
30aacb79d5 Merge branch 'bugfix/uart_semaphore_pr1387' into 'master'
uart driver: Remove unnecessary xSemaphoreGive()

See merge request !1739
2018-01-05 11:05:05 +08:00
Angus Gratton
6e23ee704b Merge branch 'refactor/spi_clk_pre_cal' into 'master'
bugfix(spi_master): improve spi time cost for each transfer.

See merge request !1670
2018-01-04 06:03:12 +08:00
Alexey Morozov
25b8642835 uart driver: Remove unnecessary xSemaphoreGive()
avoid unnecessary call of xSemaphoreGive(p_uart_obj[uart_num]->tx_mux);

Merges https://github.com/espressif/esp-idf/pull/1387
2018-01-03 13:44:19 +11:00
Per Malmberg
f7f52414ec Removed logging in RMT driver which skews the timing. Issue #1345
Merges https://github.com/espressif/esp-idf/pull/1450
2018-01-03 10:50:03 +11:00
Per Malmberg
5fb16d9b2b Fix regression in i2c_master_read() which rejected all data lenths. 2017-12-28 14:54:15 +01:00
michael
2552fdccd1 chore(spi): add log to show native pins or not when configure pins. 2017-12-28 12:03:29 +08:00
michael
f4be6ac84d fix(spi_master): fix the logic in the ISR to prevent re-config registers when device is not changed. 2017-12-28 12:03:29 +08:00
michael
7a7b8fc182 refactor(spi_master): move the clock calculation from ISR to initialization. 2017-12-28 12:03:28 +08:00
Angus Gratton
ec7cac5fe8 Merge branch 'feature/docs_update_rmt_api' into 'master'
RMT API docs update, new example

See merge request !1564
2017-12-27 09:23:47 +08:00
kooho
d78be97154 add NACK for the last byte to read 2017-12-26 21:50:18 +08:00
Angus Gratton
661d584ae7 Merge branch 'bugfix/i2c_fixes_pr1180' into 'master'
i2c: rx <-> tx typo's, NULLing free'd variable, consistent CRITICAL sects

See merge request !1551
2017-12-18 06:44:33 +08:00
Angus Gratton
8f874aaa0f Merge branch 'bugfix/i2c_use_queue_instead_of_eventbit' into 'master'
bugfix(i2c): use queue instead of event group for internal commands

See merge request !1616
2017-12-15 13:54:03 +08:00
Chuck Todd
d913fff6d7 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-11 11:08:39 +08:00
Ivan Grokhotkov
269486ca4d 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-11 11:07:08 +08:00
Fabiano Kovalski
9075b507b5 driver(i2c): corrected timeout range for i2c_set_timeout.
Merges https://github.com/espressif/esp-idf/pull/1353
2017-12-08 14:26:35 +08:00
krzychb
421592a8eb LEDC Driver: Added back original definitions of 'duty_resolution' and 'clock_divider'. This update is to provide backward compatibility with ESP-IDF 2.1. 2017-12-04 21:12:56 +01:00
Jiang Jiang Jian
c672fc54fd Merge branch 'feature/ledc_more_meaningful_parameter_names' into 'master'
Provided more meaningful parameter names by renaming 'bit_num' to 'duty_resoluti…

See merge request !1440
2017-12-01 19:33:53 +08:00
krzychb
866b84b9f8 Typo fix. Closes https://github.com/espressif/esp-idf/issue/1323 2017-12-01 09:06:08 +01:00
Wangjialin
bf3c41bb92 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-11-29 12:33:11 +08:00
Angus Gratton
5e7478a055 Merge branch 'bugfix/ledc_fade_scale' into 'master'
driver(LEDC): add scale value check in ledc_set_fade API

See merge request !1583
2017-11-27 07:23:19 +08:00
panfeng
b553c925b1 bugfix: while scale equals 0 will cause crash 2017-11-23 17:56:18 +08:00
kooho
ada33fe3dd Add GPIO input and output disable option 2017-11-22 15:00:27 +08:00
krzychb
2ec35f60ca RMT API docs update, new example 2017-11-21 22:34:23 +01:00
Ivan Grokhotkov
4b8f55aadf Merge branch 'bugfix/minor_fixes_github' into 'master'
Minor fixes from github

See merge request !1555
2017-11-20 15:58:34 +08:00
Angus Gratton
f54e99008d spi: Add ESP_ERR_NO_MEM to spi_device_queue_trans() documentation
Ref https://github.com/espressif/esp-idf/pull/1243#issuecomment-343103414
2017-11-20 16:06:59 +11:00
michael
02573a8dc9 fix(spi_master): release temporary memory when queue new trans timeout. 2017-11-17 12:15:19 +08:00
michael
13d38f10ee test(spi): internal connection test master with slave for address and command field. 2017-11-17 12:15:19 +08:00
michael
57e1d47ad7 fix(spi_master): fix the CS pin issue with GPIO 0.
Closes #909
2017-11-17 12:15:19 +08:00
michael
842292523f fix(spi_slave): add interrupt free into bus free process. 2017-11-17 12:14:40 +08:00
Raphael Luba
31711b5ac7 SPI: Document TIMEOUT return values
`spi_device_queue_trans` and `spi_device_get_trans_result` can return `ESP_ERR_TIMEOUT` – but this had not been documented.

Merges https://github.com/espressif/esp-idf/pull/1243
2017-11-17 10:50:54 +11:00
krzychb
d488bb7bac Provided more meaningful parameter names by renaming 'bit_num' to 'duty_resolution' and 'div_num' to 'clock_divider' 2017-11-15 08:08:12 +01:00
Ivan Grokhotkov
da141a2c7e Merge branch 'bugfix/touch_pad_register_mismatch' into 'master'
Bugfix/touch pad register mismatch

See merge request !1469
2017-11-15 14:52:13 +08:00
Wangjialin
7200b2cc11 bugfix(touch): registers of touchpad 8 and 9 are mismatched
1. All the registers of touch sensor 8 and 9 are mismatched except the ‘dac’ field in touch register of RTC IO
2. To swap the index for sensor 8 and 9 in APIs.
2017-11-14 18:47:56 +08:00
Ivan Grokhotkov
09d2791cfd Merge branch 'feature/spi_variable_len' into 'master'
feat(spi_master): add new feature allow use variable command and address field length for the same device.

See merge request !1322
2017-11-14 00:08:50 +08:00
Ivan Grokhotkov
5404252e80 Merge branch 'bugfix/uart_fifo_bug_workaround' into 'master'
bugfix(uart): workaround for uart fifo reset issue

See merge request !1499
2017-11-13 17:46:42 +08:00
Wangjialin
4052803e16 bugfix(uart): workaround for uart fifo reset issue
Reported from github:
https://github.com/espressif/esp-idf/issues/1219
https://github.com/espressif/esp-idf/issues/1202

After providing a simple code to digital team, they confirmed that this is a hardware bug.

Root cause:
The fifo reset signal is incorrectly connected
If we want to reset tx fifo of UART2, we have to set txfifo_rst bit of both UART1 and UART2
If we want to reset rx fifo of UART2, we have to set rxfifo_rst bit of both UART1 and UART2

Workaround:
we don't use fifo rst bit in driver.

Documentation:
Digital team would update TRM and give more explanation about this issue.
2017-11-13 15:23:00 +08:00