41 lines
884 B
C
41 lines
884 B
C
/**
|
|
* \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*/
|