From: Ivan Grokhotkov Date: Mon, 28 Aug 2017 09:36:58 +0000 (+0800) Subject: Merge branch 'bugfix/spi_hd_rx' into 'master' X-Git-Tag: v3.1-dev~359 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3161854efbd3ff966c3adbf06c8ed8558eadbb5f;p=esp-idf 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 --- 3161854efbd3ff966c3adbf06c8ed8558eadbb5f diff --cc components/driver/include/driver/spi_master.h index c938d499fa,d3b6f81dc5..3102807293 --- a/components/driver/include/driver/spi_master.h +++ b/components/driver/include/driver/spi_master.h @@@ -71,14 -71,12 +71,14 @@@ typedef struct */ struct spi_transaction_t { uint32_t flags; ///< Bitwise OR of SPI_TRANS_* flags - uint16_t command; ///< Command data, of which the length is set in the command_bits of spi_device_interface_config_t. - uint64_t addr; ///< Address data, of which the length is set in the address_bits of spi_device_interface_config_t. - ///< NOTE: this field is re-written to be used in a new way. - ///< - Example: write 0x123400 and address_bits=24 to send address of 0x12, 0x34, 0x00. + uint16_t cmd; ///< Command data, of which the length is set in the ``command_bits`` of spi_device_interface_config_t. + ///< NOTE: this field, used to be "command" in ESP-IDF 2.1 and before, is re-written to be used in a new way in ESP-IDF 3.0. + ///< - Example: write 0x0123 and command_bits=12 to send command 0x12, 0x3_ (in previous version, you may have to write 0x3_12). + uint64_t addr; ///< Address data, of which the length is set in the ``address_bits`` of spi_device_interface_config_t. + ///< NOTE: this field, used to be "address" in ESP-IDF 2.1 and before, is re-written to be used in a new way in ESP-IDF3.0. + ///< - Example: write 0x123400 and address_bits=24 to send address of 0x12, 0x34, 0x00 (in previous version, you may have to write 0x12340000). size_t length; ///< Total data length, in bits - size_t rxlength; ///< Total data length received, should be not greater than ``length`` in full-duplex mode. (0 defaults this to the value of ``length``) + size_t rxlength; ///< Total data length received, should be not greater than ``length`` in full-duplex mode (0 defaults this to the value of ``length``). void *user; ///< User-defined variable. Can be used to store eg transaction ID. union { const void *tx_buffer; ///< Pointer to transmit buffer, or NULL for no MOSI phase