Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: STM32L452_Nucleo_ticker
Fork of mbed-dev by
Diff: drivers/SPI.h
- Revision:
- 167:e84263d55307
- Parent:
- 149:156823d33999
- Child:
- 168:9672193075cf
diff -r c97ed07ec1a8 -r e84263d55307 drivers/SPI.h
--- a/drivers/SPI.h Thu Jun 08 15:02:37 2017 +0100
+++ b/drivers/SPI.h Wed Jun 21 17:46:44 2017 +0100
@@ -18,7 +18,7 @@
#include "platform/platform.h"
-#if DEVICE_SPI
+#if defined (DEVICE_SPI) || defined(DOXYGEN_ONLY)
#include "platform/PlatformMutex.h"
#include "hal/spi_api.h"
@@ -34,16 +34,15 @@
namespace mbed {
/** \addtogroup drivers */
-/** @{*/
/** A SPI Master, used for communicating with SPI slave devices
*
* The default format is set to 8-bits, mode 0, and a clock frequency of 1MHz
*
* Most SPI devices will also require Chip Select and Reset signals. These
- * can be controlled using <DigitalOut> pins
+ * can be controlled using DigitalOut pins
*
- * @Note Synchronization level: Thread safe
+ * @note Synchronization level: Thread safe
*
* Example:
* @code
@@ -71,6 +70,7 @@
*
* }
* @endcode
+ * @ingroup drivers
*/
class SPI {
@@ -115,9 +115,25 @@
*
* @returns
* Response from the SPI slave
- */
+ */
virtual int write(int value);
+ /** Write to the SPI Slave and obtain the response
+ *
+ * The total number of bytes sent and recieved will be the maximum of
+ * tx_length and rx_length. The bytes written will be padded with the
+ * value 0xff.
+ *
+ * @param tx_buffer Pointer to the byte-array of data to write to the device
+ * @param tx_length Number of bytes to write, may be zero
+ * @param rx_buffer Pointer to the byte-array of data to read from the device
+ * @param rx_length Number of bytes to read, may be zero
+ * @returns
+ * The number of bytes written and read from the device. This is
+ * maximum of tx_length and rx_length.
+ */
+ virtual int write(const char *tx_buffer, int tx_length, char *rx_buffer, int rx_length);
+
/** Acquire exclusive access to this SPI bus
*/
virtual void lock(void);
@@ -261,5 +277,3 @@
#endif
#endif
-
-/** @}*/
