/************************************************************************** * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file InternalADC.h * * @author (last) Sean Nash * @date (last) 24-Aug-2020 * * @author (original) Sean Nash * @date (original) 08-Nov-2019 * ***************************************************************************/ #ifndef __INT_ADC_H__ #define __INT_ADC_H__ #include "HDCommon.h" /** * @defgroup InternalADC InternalADC * @brief The internal ADC module provides functions for reading the sampled * internal ADC channel data. * * @addtogroup InternalADC * @{ */ // ********** public definitions ********** #define INT_ADC_BITS_PER_CHANNEL 12 ///< Internal ADC channels are 12-bit. #define INT_ADC_FULL_SCALE_BITS 4096 ///< Internal ADC has 4096 full scale counts per channel. #define INT_ADC_ZERO 1998 ///< For signed 2's compliment data, zero is here. #define INT_ADC_REF_V 3.0 ///< Internal ADC reference voltage is 3.0V. /// Enumeration of internal ADC channels that are used. typedef enum Int_ADC_Channels { INT_ADC_NOT_USED = 0, ///< Not used. INT_ADC_BLOOD_PUMP_SPEED, ///< Internal ADC channel for blood pump speed. INT_ADC_BLOOD_PUMP_MOTOR_CURRENT, ///< Internal ADC channel for blood pump current. INT_ADC_DIAL_IN_PUMP_SPEED, ///< Internal ADC channel for dialysate inlet pump speed. INT_ADC_DIAL_IN_PUMP_MOTOR_CURRENT, ///< Internal ADC channel for dialysate inlet pump current. INT_ADC_DIAL_OUT_PUMP_SPEED, ///< Internal ADC channel for dialysate outlet pump speed. INT_ADC_DIAL_OUT_PUMP_MOTOR_CURRENT, ///< Internal ADC channel for dialysate outlet pump current. NUM_OF_INT_ADC_CHANNELS ///< Number of used internal ADC channels. } INT_ADC_CHANNEL_T; // ********** public function prototypes ********** void initInternalADC( void ); void execInternalADC( void ); U16 getIntADCReading( INT_ADC_CHANNEL_T channel ); /**@}*/ #endif