/************************************************************************** * * 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 FPGA.h * * @author (last) Sean Nash * @date (last) 26-Jun-2020 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 * ***************************************************************************/ #ifndef __FPGA_H__ #define __FPGA_H__ #include "HDCommon.h" #include "Interrupts.h" /** * @defgroup FPGA FPGA * @brief FPGA service module. * Maintains latest sensor readings at priority task interval. Updates actuator * states at priority task interval. * * @addtogroup FPGA * @{ */ // ********** public definitions ********** // ********** public function prototypes ********** void initFPGA( void ); void execFPGAIn( void ); void execFPGAOut( void ); SELF_TEST_STATUS_T execFPGATest( void ); void signalFPGAReceiptCompleted( void ); void signalFPGATransmitCompleted( void ); void getFPGAVersions( U08 *Id, U08 *Maj, U08 *Min, U08 *Lab ); F32 getFPGABloodFlowSignalStrength( void ); F32 getFPGADialysateFlowSignalStrength( void ); F32 getFPGABloodFlow( void ); F32 getFPGADialysateFlow( void ); U16 getFPGABloodPumpHallSensorCount( void ); U08 getFPGABloodPumpHallSensorStatus( void ); U16 getFPGADialInPumpHallSensorCount( void ); U08 getFPGADialInPumpHallSensorStatus( void ); U16 getFPGADialOutPumpHallSensorCount( void ); U08 getFPGADialOutPumpHallSensorStatus( void ); S32 getFPGAArterialPressure( void ); U16 getFPGAVenousPressure( void ); U16 getFPGABloodPumpOcclusion( void ); U16 getFPGADialInPumpOcclusion( void ); U16 getFPGADialOutPumpOcclusion( void ); void getFPGAAccelAxes( S16 *x, S16 *y, S16 *z ); void getFPGAAccelMaxes( S16 *xm, S16*ym, S16*zm ); void getFPGAAccelStatus( U16 *cnt, U16 *accelFPGAFaultReg ); /**@}*/ #endif