From 04fb6e5b420785f6e879a195d9924b934dd96137 Mon Sep 17 00:00:00 2001 From: anthony-a Date: Sat, 10 Apr 2010 21:18:32 +0000 Subject: [PATCH] initial add. --- cpu/cc2430/dev/adc.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 cpu/cc2430/dev/adc.h diff --git a/cpu/cc2430/dev/adc.h b/cpu/cc2430/dev/adc.h new file mode 100644 index 000000000..5a8ea431d --- /dev/null +++ b/cpu/cc2430/dev/adc.h @@ -0,0 +1,41 @@ +/** + * \file + * Header file for ADC. + * \author + * Anthony "Asterisk" Ambuehl + * + */ + +#ifndef __ADC_H +#define __ADC_H +#define ADC_DMA_CONFIG_CHANNEL 1 +#define ADC_CHANNELS 8 +#include "cc2430_sfr.h" +#include "dma.h" +#include "banked.h" + +typedef struct adc_result +{ + uint16_t adc:14; + uint16_t unused:2; +} adc_result_t; + +typedef enum adc_stsel_t +{ + EXT = 0, /* externally triggered by P2_0 */ + CONTINUOUS = 1, /* continuous full speed conversion */ + TIMER1 = 2, /* Timer 1 channel 0 compare event */ + ST = 3 /* ADCCON1.ST = 1 */ +} adc_stsel_t; + +extern void adc_init(void) __banked; +extern void adc_single_shot(void) __banked; +extern int16_t adc_convert_result(int16_t ptr) __banked; +extern int16_t adc_get_last_conv() __banked; +extern void adc_dma_callback(void) __banked; +#ifdef HAVE_DMA +extern xDMAHandle adc_dma; +extern unsigned int *adc_dma_dest; +#endif + +#endif /*__ADC_H*/