/* * adc.h * * Created on: Dec 23, 2012 * Author: tkl */ #ifndef ADC_H_ #define ADC_H_ #include //------------------------------------------------------------------------------ typedef int (*adc_fp_open)(const void *); typedef int (*adc_fp_close)(const void *); typedef uint16_t (*adc_fp_read)(const void *, int); //------------------------------------------------------------------------------ //! \brief Contains the function pointer to access the adc driver. struct adc_fp { const adc_fp_open open; //!< Function pointer to the open function. const adc_fp_close close; //!< Function pointer to the close function. const adc_fp_read read; //!< Function pointer to the read function. }; //------------------------------------------------------------------------------ //! \brief Contains the architecture depended device and the access functions to the adc driver. struct adc { const void *arch_dep_device; //!< Architecture depended adc device (i.e. msp430_adc_t). const struct adc_fp *fp; //!< Function pointer for the adc driver access. }; //------------------------------------------------------------------------------ int adc_open(const struct adc *device); int adc_close(const struct adc *device); uint16_t adc_read(const struct adc *device, int timeout); #endif /* ADC_H_ */