aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/include/sdc.h26
-rw-r--r--os/hal/platforms/STM32/sdc_lld.h1
-rw-r--r--readme.txt1
3 files changed, 28 insertions, 0 deletions
diff --git a/os/hal/include/sdc.h b/os/hal/include/sdc.h
index 2c35b8a0e..3f0634fc5 100644
--- a/os/hal/include/sdc.h
+++ b/os/hal/include/sdc.h
@@ -163,6 +163,32 @@ typedef enum {
*/
#define SDC_R1_IS_CARD_LOCKED(r1) (((r1) >> 21) & 1)
+/**
+ * @brief Returns the driver state.
+ *
+ * @param[in] sdcp pointer to the @p SDCDriver object
+ * @return The driver state.
+ *
+ * @api
+ */
+#define sdcGetDriverState(sdcp) ((sdcp)->state)
+
+/**
+ * @brief Returns the write protect status.
+ * @note This macro wraps a low level function named
+ * @p sdc_lld_is_write_protected(), this function must be
+ * provided by the application because it is not part of the
+ * SDC driver.
+ *
+ * @param[in] sdcp pointer to the @p SDCDriver object
+ * @return The card state.
+ * @retval FALSE card not inserted.
+ * @retval TRUE card inserted.
+ *
+ * @api
+ */
+#define sdcIsWriteProtected(sdcp) (sdc_lld_is_write_protected(sdcp))
+
/*===========================================================================*/
/* External declarations. */
/*===========================================================================*/
diff --git a/os/hal/platforms/STM32/sdc_lld.h b/os/hal/platforms/STM32/sdc_lld.h
index c0d1b8bdd..a856fbf2b 100644
--- a/os/hal/platforms/STM32/sdc_lld.h
+++ b/os/hal/platforms/STM32/sdc_lld.h
@@ -190,6 +190,7 @@ extern "C" {
uint8_t *buf, uint32_t n);
bool_t sdc_lld_write(SDCDriver *sdcp, uint32_t startblk,
const uint8_t *buf, uint32_t n);
+ bool_t sdc_lld_is_write_protected(SDCDriver *sdcp);
#ifdef __cplusplus
}
#endif
diff --git a/readme.txt b/readme.txt
index cfa33c642..851f2e0b0 100644
--- a/readme.txt
+++ b/readme.txt
@@ -72,6 +72,7 @@
*** 2.3.4 ***
- NEW: Now the STM32 SDC driver supports unaligned buffers transparently.
+ Optimized the driver for single block read and write operations.
*** 2.3.3 ***
- FIX: Fixed race condition in output queues (bug 3303908)(backported