From 9b9bd471edae25a3ec4771485329f7ce6734c3ed Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 29 May 2011 16:19:21 +0000 Subject: Enhancements to the SDC driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3002 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/include/sdc.h | 26 ++++++++++++++++++++++++++ os/hal/platforms/STM32/sdc_lld.h | 1 + 2 files changed, 27 insertions(+) (limited to 'os') 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 -- cgit v1.2.3