Index: firmware/App/Controllers/DialInFlow.h =================================================================== diff -u -r054fa08b67ed2a31f7848b179fbcd1b4da501b0f -r8e7158d8231435496fcf1d5649e51babf859ccc7 --- firmware/App/Controllers/DialInFlow.h (.../DialInFlow.h) (revision 054fa08b67ed2a31f7848b179fbcd1b4da501b0f) +++ firmware/App/Controllers/DialInFlow.h (.../DialInFlow.h) (revision 8e7158d8231435496fcf1d5649e51babf859ccc7) @@ -1,29 +1,53 @@ -/************************************************************************** - * - * 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 DialInFlow.h - * - * @date 16-Dec-2019 - * @author S. Nash - * - * @brief DialInFlow header file. - * - **************************************************************************/ +/************************************************************************** +* +* Copyright (c) 2019-2021 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 DialInFlow.h +* +* @author (last) Sean Nash +* @date (last) 01-Dec-2020 +* +* @author (original) Sean +* @date (original) 16-Dec-2019 +* +***************************************************************************/ #ifndef __DIALYSATE_IN_FLOW_H__ #define __DIALYSATE_IN_FLOW_H__ #include "HDCommon.h" +/** + * @defgroup DialysateInletFlow DialysateInletFlow + * @brief Dialysate Inlet Pump & Dialysate Flow controller/monitor module. + * Monitors the dialysate flow rate and controls the dialysate inlet pump. + * + * @addtogroup DialysateInletFlow + * @{ + */ + // ********** public definitions ********** -#define MAX_DIAL_IN_FLOW_RATE 600 // mL/min -#define MIN_DIAL_IN_FLOW_RATE 100 // mL/min +#define MAX_DIAL_IN_FLOW_RATE 600 ///< Maximum dialysate inlet flow rate (in mL/min). +#define MIN_DIAL_IN_FLOW_RATE 100 ///< Minimum dialysate inlet flow rate (in mL/min). +#define DIALYSATE_FLOW_RATE_FOR_RECIRC 100 ///< Dialysate recirculation flow rate (in mL/min). +/// Payload record structure for a dialysate inlet pump data message. +typedef struct +{ + S32 setPoint; + F32 measFlow; + F32 measRotorSpd; + F32 measPumpSpd; + F32 measMCSpd; + F32 measMCCurr; + F32 pwmDC; + F32 flowSigStrength; +} DIALIN_PUMP_STATUS_PAYLOAD_T; + // ********** public function prototypes ********** void initDialInFlow( void ); @@ -32,20 +56,25 @@ BOOL setDialInPumpTargetFlowRate( U32 flowRate, MOTOR_DIR_T dir, PUMP_CONTROL_MODE_T mode ); void signalDialInPumpHardStop( void ); +void signalDialInPumpRotorHallSensor( void ); +BOOL homeDialInPump( void ); +BOOL isDialInPumpRunning( void ); SELF_TEST_STATUS_T execDialInFlowTest( void ); -DATA_GET_PROTOTYPE( S32, getTargetDialInFlowRate ); -DATA_GET_PROTOTYPE( F32, getMeasuredDialInFlowRate); -DATA_GET_PROTOTYPE( F32, getMeasuredDialInPumpRotorSpeed ); -DATA_GET_PROTOTYPE( F32, getMeasuredDialInPumpSpeed ); -DATA_GET_PROTOTYPE( F32, getMeasuredDialInPumpMCSpeed ); -DATA_GET_PROTOTYPE( F32, getMeasuredDialInPumpMCCurrent ); +S32 getTargetDialInFlowRate( void ); +F32 getMeasuredDialInFlowRate( void ); +F32 getMeasuredDialInFlowSignalStrength( void ); +F32 getMeasuredDialInPumpRotorSpeed( void ); +F32 getMeasuredDialInPumpSpeed( void ); +F32 getMeasuredDialInPumpMCSpeed( void ); +F32 getMeasuredDialInPumpMCCurrent( void ); +BOOL setDialInFlowCalibration( F32 gain, F32 offset ); +void getDialInFlowCalibration( F32 *gain, F32 *offset ); BOOL testSetDialInFlowDataPublishIntervalOverride( U32 value ); BOOL testResetDialInFlowDataPublishIntervalOverride( void ); -BOOL testSetTargetDialInFlowRateOverride( S32 value ); -BOOL testResetTargetDialInFlowRateOverride( void ); +BOOL testSetTargetDialInFlowRateOverride( S32 value, U32 ctrlMode ); BOOL testSetMeasuredDialInFlowRateOverride( F32 value ); BOOL testResetMeasuredDialInFlowRateOverride( void ); BOOL testSetMeasuredDialInPumpRotorSpeedOverride( F32 value ); @@ -56,5 +85,9 @@ BOOL testResetMeasuredDialInPumpMCSpeedOverride( void ); BOOL testSetMeasuredDialInPumpMCCurrentOverride( F32 value ); BOOL testResetMeasuredDialInPumpMCCurrentOverride( void ); +BOOL testSetMeasuredDialInFlowSignalStrengthOverride( F32 value ); +BOOL testResetMeasuredDialInFlowSignalStrengthOverride( void ); +/**@}*/ + #endif