git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@422 05563f52-14a8-4384-a975-3d1654cca0fa
120 lines
3.3 KiB
C
120 lines
3.3 KiB
C
// -----------------------------------------------------------------------------
|
|
/// \file ADCDevice.h
|
|
/// \brief File description
|
|
// -----------------------------------------------------------------------------
|
|
// Micro-Key bv
|
|
// Industrieweg 28, 9804 TG Noordhorn
|
|
// Postbus 92, 9800 AB Zuidhorn
|
|
// The Netherlands
|
|
// Tel: +31 594 503020
|
|
// Fax: +31 594 505825
|
|
// Email: support@microkey.nl
|
|
// Web: www.microkey.nl
|
|
// -----------------------------------------------------------------------------
|
|
/// $Revision$
|
|
/// $Author$
|
|
/// $Date$
|
|
// (c) 2015 Micro-Key bv
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
#ifndef INC_ADCDEVICE_H_
|
|
#define INC_ADCDEVICE_H_
|
|
|
|
/**
|
|
* ADCDevice implementation
|
|
* \defgroup ADCDevice Package ADCDevice
|
|
* \ingroup HAL
|
|
* @{
|
|
*/
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Include files
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "stm32f10x.h"
|
|
// -----------------------------------------------------------------------------
|
|
// Constant and macro definitions
|
|
// -----------------------------------------------------------------------------
|
|
|
|
struct ADCDevice;
|
|
|
|
typedef uint32_t (*ADCReadFunction)(const struct ADCDevice* self);
|
|
|
|
/**
|
|
* \ingroup ADCDevice
|
|
* \class ADCDevice
|
|
* The ADCDevice struct that can be used as an object
|
|
*/
|
|
struct ADCDevice
|
|
{
|
|
ADCReadFunction _read; //!< ADCReadFunction() function pointer
|
|
bool initialized; //!< Flag indicating initialisation status
|
|
unsigned int resolutionInBits; //!< This ADCs resolution in number of bits
|
|
};
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Function declarations
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
/** ADCDevice_construct
|
|
* \brief Constructor for a new ADC device
|
|
*
|
|
* This is a detailed description of the function
|
|
*
|
|
* \memberof ADCDevice
|
|
*
|
|
* \param self ADC object
|
|
* \param[in] read Pointer to read function
|
|
* \param[in] resolutionsInBits The resolution of this ADC device in
|
|
* number of bits
|
|
*
|
|
* \return ErrorStatus SUCCESS if construction was successful
|
|
* ERROR otherwise
|
|
*
|
|
* \todo
|
|
*
|
|
*/
|
|
extern ErrorStatus ADCDevice_construct(struct ADCDevice* self, ADCReadFunction read, unsigned int resolutionInBits);
|
|
|
|
|
|
/** ADCDevice_destruct
|
|
* \brief Destructor for ADC device
|
|
*
|
|
* This is a detailed description of the function
|
|
*
|
|
* \memberof ADCDevice
|
|
*
|
|
* \param self ADC object
|
|
*
|
|
* \return void
|
|
*
|
|
* \todo
|
|
*
|
|
*/
|
|
extern void ADCDevice_destruct(struct ADCDevice* self);
|
|
|
|
/** ADCDevice_read
|
|
* \brief Reads a value from the ADC device input
|
|
* This is a detailed description of the function
|
|
*
|
|
* \memberof ADCDevice
|
|
*
|
|
* \param self ADC object
|
|
*
|
|
* \return uint32_t The current value read from the ADC
|
|
*
|
|
* \todo
|
|
*
|
|
*/
|
|
extern uint32_t ADCDevice_read(const struct ADCDevice* self);
|
|
|
|
/** @} */
|
|
|
|
#endif /* INC_ADCDEVICE_H_ */
|
|
|
|
|