X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Fadc_at91.c;h=bb6a8d11ffd1409fe86d557a86d31e6d233714f1;hb=ef59482dd1c7167b3cb5718572c42019cf16594b;hp=3ebbfa75be80dd25d186b8f0cb606b74f4006c58;hpb=bdcc52e5f18159cadc413c53dd14ef468a6de376;p=bertos.git diff --git a/bertos/cpu/arm/drv/adc_at91.c b/bertos/cpu/arm/drv/adc_at91.c index 3ebbfa75..bb6a8d11 100644 --- a/bertos/cpu/arm/drv/adc_at91.c +++ b/bertos/cpu/arm/drv/adc_at91.c @@ -30,7 +30,6 @@ * * --> * - * * \brief ADC hardware-specific implementation * * This ADC module should be use both whit kernel or none. @@ -42,28 +41,30 @@ * * * \version $Id$ - * * \author Daniele Basile */ #include "adc_at91.h" +#include + #include "cfg/cfg_adc.h" -#include "cfg/cfg_kern.h" +#include "cfg/cfg_proc.h" +#include "cfg/cfg_signal.h" #include #include -// Define logging setting (for cfg/log.h module). +// Define log settings for cfg/log.h. #define LOG_LEVEL ADC_LOG_LEVEL -#define LOG_VERBOSITY ADC_LOG_VERBOSITY +#define LOG_FORMAT ADC_LOG_FORMAT #include #include #include -#if CONFIG_KERNEL +#if CONFIG_KERN #include #include #include @@ -106,14 +107,14 @@ ADC_IER = BV(ADC_DRDY); } -#endif /* CONFIG_KERNEL */ +#endif /* CONFIG_KERN */ /** * Select mux channel \a ch. * \todo only first 8 channels are selectable! */ -INLINE void adc_hw_select_ch(uint8_t ch) +void adc_hw_select_ch(uint8_t ch) { //Disable all channels ADC_CHDR = ADC_CH_MASK; @@ -127,20 +128,20 @@ INLINE void adc_hw_select_ch(uint8_t ch) * If a kernel is present, preempt until convertion is complete, otherwise * a busy wait on ADCS bit is done. */ -INLINE uint16_t adc_hw_read(void) +uint16_t adc_hw_read(void) { ASSERT(!(ADC_SR & ADC_EOC_MASK)); - #if CONFIG_KERNEL + #if CONFIG_KERN adc_process = proc_current(); #endif // Start convertion ADC_CR = BV(ADC_START); - #if CONFIG_KERNEL + #if CONFIG_KERN // Ensure IRQs enabled. - ASSERT(IRQ_ENABLED()); + IRQ_ASSERT_ENABLED(); sig_wait(SIG_ADC_COMPLETE); #else //Wait in polling until is done @@ -154,7 +155,7 @@ INLINE uint16_t adc_hw_read(void) /** * Init ADC hardware. */ -INLINE void adc_hw_init(void) +void adc_hw_init(void) { //Init ADC pins. ADC_INIT_PINS(); @@ -195,7 +196,7 @@ INLINE void adc_hw_init(void) ADC_MR |= ((ADC_COMPUTED_SHTIME << ADC_SHTIME_SHIFT) & ADC_SHTIME_MASK); LOG_INFO("shtime[%ld]\n", (ADC_COMPUTED_SHTIME << ADC_SHTIME_SHIFT) & ADC_SHTIME_MASK); - #if CONFIG_KERNEL + #if CONFIG_KERN //Register and enable irq for adc. adc_enable_irq(); #endif