Files
hsb/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/inc/DACDevice.h
mmi 711f8e72be Fixed multiple bugs and errors.
- Added WARNING handler
- put voltage calculations to dedicated module

fixed last errors. Updated menu repair screen without ERROR from PID 

This is version 0.9.0.3, which is used for the first duration test
Will also be tagged

git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@272 05563f52-14a8-4384-a975-3d1654cca0fa
2017-11-15 15:40:39 +00:00

115 lines
3.6 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
// -----------------------------------------------------------------------------
/// @defgroup {group_name} {group_description}
/// Description
/// @file DACDevice.h
/// @ingroup {group_name}
#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
*
* @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 in volt (signed) to write to output
*
* @return ErrorStatus
*
* @todo
* -----------------------------------------------------------------------------
*/
extern ErrorStatus DACDevice_write(const struct DACDevice* self, uint32_t voltage);
extern uint32_t DACDevice_getCurrentValue(const struct DACDevice* self);
#endif /* INC_DACDEVICE_H_ */