From 935e2fb27f56a3b81d4161d65e116e9da4fe441c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 12 Oct 2010 15:19:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2250 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/platforms/STM32/adc_lld.h | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'os/hal/platforms/STM32/adc_lld.h') diff --git a/os/hal/platforms/STM32/adc_lld.h b/os/hal/platforms/STM32/adc_lld.h index a72ce67f3..b1b1a7840 100644 --- a/os/hal/platforms/STM32/adc_lld.h +++ b/os/hal/platforms/STM32/adc_lld.h @@ -148,8 +148,11 @@ typedef struct { adc_channels_num_t acg_num_channels; /** * @brief Callback function associated to the group or @p NULL. + * @note In order to use synchronous functions this field must be set to + * @p NULL, callbacks and synchronous operations are mutually + * exclusive. */ - adccallback_t acg_callback; + adccallback_t acg_endcb; /* End of the mandatory fields.*/ /** * @brief ADC CR1 register initialization data. @@ -219,10 +222,20 @@ struct ADCDriver { const ADCConversionGroup *ad_grpp; #if ADC_USE_WAIT || defined(__DOXYGEN__) /** - * @brief Synchronization semaphore. + * @brief Waiting thread. */ - Semaphore ad_sem; + Thread *ad_thread; #endif +#if ADC_USE_MUTUAL_EXCLUSION || defined(__DOXYGEN__) +#if CH_USE_MUTEXES || defined(__DOXYGEN__) + /** + * @brief Mutex protecting the peripheral. + */ + Mutex ad_mutex; +#elif CH_USE_SEMAPHORES + Semaphore ad_semaphore; +#endif +#endif /* ADC_USE_MUTUAL_EXCLUSION */ #if defined(ADC_DRIVER_EXT_FIELDS) ADC_DRIVER_EXT_FIELDS #endif -- cgit v1.2.3