Commit Graph

191 Commits

Author SHA1 Message Date
michael
cfba157fdd spi_slave: add valid check for DMA buffers
The DMA cannot receive data correctly when the buffer address is not
WORD aligned. Currently we only check whether the buffer is in the DRAM
region.

The DMA always write in WORDs, so the length arguments should also be
multiples of 32 bits.

A check is added to see whether the buffer is WORD aligned and has valid
length.
2018-11-26 03:49:26 +00:00
Michael (XIAO Xufeng)
8cddfa35b8 spi: fix the crash when callbacks are not in the IRAM
Introduced in 9c23b8e5 and 4f87a62f. To get higher speed, menuconfig
options are added to put ISR and other functions into the IRAM.  The
interrupt flag ESP_INTR_FLAG_IRAM is also mistakenly set when the ISR is
put into the IRAM. However callbacks, which are wrote by the user, are
called in the master and slave ISR. The user may not be aware of that
these callbacks are not disabled during flash operations. Any cache miss
during flash operation will cause panic.

Essentially IRAM functions and intrrupt flag ESP_INTR_FLAG_IRAM are
different, the latter means not disabling the ISR during flash
operations.  New bus_config flag intr_flags is offered to help set the
interrupt attribute, including priority level, SHARED, IRAM (not
disabled during flash operations).  It introduced a small BREAK to
IDFv3.1 (but the same as IDFv3.0) that the user has to manually set IRAM
flag now (therefore he's aware of the IRAM thing) to void the ISR being
disabled during flash operations.
2018-11-20 13:07:13 +08:00
Michael (XIAO Xufeng)
7fe4f987fd sdio_slave: add documentation for the standard init process 2018-10-26 16:56:18 +08:00
Krzysztof Budzynski
cd5f8bcf74 MCPWM API doc update 2018-10-10 08:15:23 +08:00
Ivan Grokhotkov
0eff312411 can: remove license disclaimer 2018-09-27 13:25:59 +08:00
Michael (Xiao Xufeng)
4af51833f3 spi_master: add new polling mode to decrease time cost each transaction 2018-09-20 19:46:46 +08:00
Ivan Grokhotkov
97b2281c49 Merge branch 'bugfix/can_driver_multiple_bugs' into 'master'
CAN: Add pm_lock, fix gpio bug, update docs

See merge request idf/esp-idf!3138
2018-09-04 20:34:06 +08:00
Darian Leung
dc3fa14a26 CAN: Add pm_lock, fix gpio bug, update docs
This commit does the following

- Add power management lock to CAN driver so that APB frequency does not change
whilst CAN driver is in use
- Fix incorrect flag in can_transmit()
- Refactor can_driver_install() and can_driver_uninstall() so that critical sections
are shorter
- Fix CAN gpio configuration bug on RX pin. Closes #2302
- Add docs about multiple ID configuration and fix example links
2018-09-01 02:46:05 +08:00
Ivan Grokhotkov
da34e3eb68 sdmmc: document eMMC support, host features 2018-08-30 13:14:26 +08:00
Jeroen Domburg
9de884f586 Merge branch 'feat/spi_non_dma_64byte' into 'master'
spi_master: change high part config to allow transactions of 64 bytes

See merge request idf/esp-idf!3025
2018-08-21 16:53:37 +08:00
michael
404e99965d spi_master: change high part config to allow transactions of 64 bytes 2018-08-16 18:55:09 +08:00
Krzysztof Budzynski
df5d3ea692 Provided a table with development boards by Espressif together with USB-to-serial driver names 2018-08-16 05:24:40 +08:00
Angus Gratton
e5d2406b1d Merge branch 'bugfix/spi_cs_setup_fulldup' into 'master'
fix(spi_master): allow to use cs_ena_pretrans in full duplex mode without…

See merge request idf/esp-idf!2576
2018-07-16 16:30:36 +08:00
Angus Gratton
a67d5d89e0 Replace all DOS line endings with Unix
Command run was:
git ls-tree -r HEAD --name-only | xargs dos2unix
2018-07-12 19:10:37 +08:00
Angus Gratton
064261cd3a Merge branch 'bugfix/adc_two_point_cal_val_update' into 'master'
Updated information in  documentation about  'Two Point Values' used to calibrate ADC readings

See merge request idf/esp-idf!2678
2018-07-11 12:53:33 +08:00
Darian Leung
1d2727f4c8 CAN Driver
The following commit contains the first version of the ESP32 CAN Driver.

closes #544
2018-07-04 14:01:57 +08:00
Angus Gratton
909eec9c3b Merge branch 'feature/uart_add_rs485_interface_support' into 'master'
driver: add rs485 half duplex interface support to uart driver

See merge request idf/esp-idf!2415
2018-07-03 14:34:33 +08:00
Alex Lisitsyn
ef5dc73f6f driver: add rs485 half duplex interface support to uart driver (update after review)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results
update uart.h (uart_set_rx_timeout() description
test_uart.c remove ignore tag
uart.c/h: fix param errors
test_uart.c: Remove GCC warning supress
uart.rst: fix the notes
rs485_example.c: fix output

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Alex Lisitsyn
51e9cf6848 driver: add rs485 half duplex interface support to uart driver (update after review)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Michael (XIAO Xufeng)
3d23fe9a61 feature(spi): provide macro to write multi-byte data straightly
resolves https://github.com/espressif/esp-idf/issues/2062
2018-07-02 15:34:47 +08:00
krzychb
f4ef7689bd The 'Two Point Values' used to calibrate ADC readings, unlike 'eFuse Vref', are not measured and burned into eFuse BLOCK3 for each individual chip during factory calibration. This operation should be done by user, if more accurate calibration is required. 2018-06-29 19:01:11 +02:00
Michael (XIAO Xufeng)
fe076f5cb9 doc(sdio_slave): add some information of slave protocol 2018-06-25 06:55:19 +00:00
michael
8676830e61 fix(spi_master): allow to use cs_ena_pretrans in full duplex mode without command and address phases 2018-06-25 04:30:14 +00:00
Ivan Grokhotkov
4b91c82cc4 Merge branch 'feat/sdio_pullup' into 'master'
feature(sdio): add features to make SDIO slave compatible with more devkits

See merge request idf/esp-idf!2454
2018-06-20 13:58:56 +08:00
Angus Gratton
d0b8f2865f docs: Switch base URL from esp-idf.readthedocs.io to docs.espressif.com 2018-06-19 11:23:33 +00:00
Michael (XIAO Xufeng)
9377575415 docs(spi_master): fix wavedrom image and comment mistake 2018-06-15 17:38:27 +08:00
michael
85b08684e3 doc(sdio_slave): add descriptions about conflicts on MTDI pin 2018-06-14 12:04:23 +08:00
michael
5cf7d3768d feat(spi_master): fine tune the timing of SPI 2018-06-06 06:08:39 +00:00
Ivan Grokhotkov
9da4df8f55 Merge branch 'bugfix/docs_esp-wrover-kit_and_touch-sensor' into 'master'
docs: updated esp wrover kit jumpers and touch sensor links

See merge request idf/esp-idf!2422
2018-05-22 16:22:30 +08:00
krzychb
42b1ec76b7 Provided links to 'Touch Sensor Application Note' and 'Guide for ESP32-Sense Development Kit' 2018-05-21 19:29:36 +02:00
michael
1b45e1117b doc(sdio_slave): documentation for SDIO slave driver 2018-05-21 23:48:56 +08:00
Roland Dobai
18e83bcd53 Allow VFS file descriptors in select() 2018-05-18 08:06:33 +02:00
Angus Gratton
b90ad81f22 driver: Add notes to SPI driver docs about thread safety 2018-05-07 09:03:48 +08:00
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
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
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