aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-05-29 16:19:21 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-05-29 16:19:21 +0000
commit9b9bd471edae25a3ec4771485329f7ce6734c3ed (patch)
treec85c99ab7fb034cee1fe110e001b4953a6018c55 /os
parent88e92b3fc3a14ec04780815b1061e680dfbb9777 (diff)
downloadChibiOS-9b9bd471edae25a3ec4771485329f7ce6734c3ed.tar.gz
ChibiOS-9b9bd471edae25a3ec4771485329f7ce6734c3ed.tar.bz2
ChibiOS-9b9bd471edae25a3ec4771485329f7ce6734c3ed.zip
Enhancements to the SDC driver.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3002 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r--os/hal/include/sdc.h26
-rw-r--r--os/hal/platforms/STM32/sdc_lld.h1
2 files changed, 27 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