git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@427 05563f52-14a8-4384-a975-3d1654cca0fa
133 lines
4.2 KiB
C
133 lines
4.2 KiB
C
// -----------------------------------------------------------------------------
|
|
/// @file DACDevice.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
|
|
// -----------------------------------------------------------------------------
|
|
|
|
/**
|
|
* %DACDevice implementation
|
|
* \defgroup DACDevice Package DACDevice
|
|
* \ingroup HAL
|
|
* @{
|
|
*/
|
|
|
|
#ifndef INC_DACDEVICE_H_
|
|
#define INC_DACDEVICE_H_
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Include files
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "stm32f10x.h"
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Constant and macro definitions
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Type definitions.
|
|
// -----------------------------------------------------------------------------
|
|
|
|
struct DACDevice;
|
|
|
|
typedef ErrorStatus (*DACWriteFunction)(const struct DACDevice* self, uint32_t voltage);
|
|
typedef uint32_t (*DACReadbackFunction)(const struct DACDevice* self);
|
|
|
|
|
|
struct DACDevice
|
|
{
|
|
DACWriteFunction _write;
|
|
DACReadbackFunction _readback;
|
|
bool initialized;
|
|
unsigned int resolutionInBits;
|
|
};
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Function declarations
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
/** ----------------------------------------------------------------------------
|
|
* DACDevice_construct
|
|
* Constructor for DAC device
|
|
*
|
|
* @param self DAC object
|
|
* @param write Pointer to write function
|
|
* @param readback Pointer to value readback function
|
|
* @param resolutionsInBits The resolution of this ADC device in
|
|
* number of bits
|
|
*
|
|
* @return ErrorStatus SUCCESS if construction was successful
|
|
* ERROR otherwise
|
|
*
|
|
* @todo
|
|
* -----------------------------------------------------------------------------
|
|
*/
|
|
extern ErrorStatus DACDevice_construct(struct DACDevice* self, DACWriteFunction write, DACReadbackFunction readback, unsigned int resolutionInBits);
|
|
|
|
|
|
/** ----------------------------------------------------------------------------
|
|
* DACDevice_destruct
|
|
* Destructor for DAC device
|
|
*
|
|
* @param self DAC object
|
|
*
|
|
* @return void
|
|
*
|
|
* @todo
|
|
* -----------------------------------------------------------------------------
|
|
*/
|
|
extern void DACDevice_destruct(struct DACDevice* self);
|
|
|
|
/** ----------------------------------------------------------------------------
|
|
* DACDevice_construct
|
|
* Writes a value to the DAC device output
|
|
*
|
|
* @param self DAC object
|
|
* @param voltage value to write to output
|
|
*
|
|
* @return ErrorStatus
|
|
*
|
|
* @todo
|
|
* -----------------------------------------------------------------------------
|
|
*/
|
|
extern ErrorStatus DACDevice_write(const struct DACDevice* self, uint32_t voltage);
|
|
|
|
|
|
/** ----------------------------------------------------------------------------
|
|
* DACDevice_getCurrentValue
|
|
* returns the currently applied value from the DAC
|
|
*
|
|
* @param self DAC object
|
|
*
|
|
* @return uint32_t The value that is currently applied to
|
|
* the DAC device
|
|
*
|
|
* @todo
|
|
* -----------------------------------------------------------------------------
|
|
*/
|
|
extern uint32_t DACDevice_getCurrentValue(const struct DACDevice* self);
|
|
|
|
#endif /* INC_DACDEVICE_H_ */
|
|
|
|
/** @} */
|