From 9b9bd471edae25a3ec4771485329f7ce6734c3ed Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 29 May 2011 16:19:21 +0000 Subject: [PATCH] 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 + readme.txt | 1 + 3 files changed, 28 insertions(+) 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