Index: firmware/App/Controllers/BloodFlow.h =================================================================== diff -u -rf05acb2d013aa3dec1b59d793b8876aed928b5aa -r051326e2671e8d5b3e99eaa109ea549e94a929f3 --- firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision f05acb2d013aa3dec1b59d793b8876aed928b5aa) +++ firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision 051326e2671e8d5b3e99eaa109ea549e94a929f3) @@ -22,8 +22,8 @@ /** * @defgroup BloodFlow BloodFlow - * @brief Blood Pump & Blood Flow controller/monitor module. Monitors the - * blood flow rate and controls the blood pump. + * @brief Blood Pump & Blood Flow controller/monitor module. Monitors and + * controls the blood pump. * * @addtogroup BloodFlow * @{ @@ -33,39 +33,32 @@ #define MAX_SET_BLOOD_FLOW_RATE 500 ///< Maximum blood flow rate (in mL/min). #define MIN_SET_BLOOD_FLOW_RATE 100 ///< Minimum blood flow rate (in mL/min). -#define SALINE_BOLUS_FLOW_RATE 150 ///< Saline bolus flow rate (in mL/min). -#define VOLUME_PER_BP_MOTOR_REV_ML 0.216F ///< Theoretical volume (mL) of blood/saline volume per motor revolution. -#define BP_HALL_EDGE_COUNTS_PER_REV 48 ///< Number of hall sensor edge counts per motor revolution. - /// Payload record structure for a blood pump data message. typedef struct { - S32 setPoint; ///< Set point. - F32 measFlow; ///< Measured flow in mL/min. + S32 setFlowRate; ///< Set flow rate in mL/min. + F32 measFlow; ///< Measured flow rate in mL/min. F32 measRotorSpd; ///< Measured rotor speed in RPM. F32 measPumpSpd; ///< Measured pump speed in RPM. - F32 measMCSpd; ///< Measured motor speed in RPM. - F32 measMCCurr; ///< Measure motor current in Amps. - F32 pwmDC; ///< Duty cycle. + F32 measCurr; ///< Measure motor current in Amps. + F32 setRPM; ///< Set motor speed in RPM. U32 rotorCount; ///< Rotor count. - U32 presFlow; ///< Blood flow in mL/min. - U32 rotorHall; ///< Rotor hall in counts. + U32 presFlow; ///< Prescribed blood flow in mL/min. + U32 rotorHall; ///< Rotor hall state (1=home, 0=not home). } BLOOD_PUMP_STATUS_PAYLOAD_T; // ********** public function prototypes ********** void initBloodFlow( void ); -void execBloodFlowMonitor( void ); +void execBloodFlowMonitor( void ); void execBloodFlowController( void ); BOOL setBloodPumpTargetFlowRate( U32 flowRate, MOTOR_DIR_T dir, PUMP_CONTROL_MODE_T mode ); BOOL setBloodPumpTargetRPM( U32 rpm, MOTOR_DIR_T dir ); void signalBloodPumpHardStop( void ); void signalBloodPumpRotorHallSensor( void ); BOOL homeBloodPump( void ); -U32 getBloodPumpMotorCount( void ); -U32 getBloodPumpRotorCount( void ); BOOL isBloodPumpRunning( void ); BOOL isBloodPumpRampComplete( void ); void resetBloodPumpRotorCount( void ); @@ -76,25 +69,14 @@ F32 getMeasuredBloodFlowRate( void ); F32 getMeasuredBloodPumpRotorSpeed( void ); F32 getMeasuredBloodPumpSpeed( void ); -F32 getMeasuredBloodPumpMCSpeed( void ); -F32 getMeasuredBloodPumpMCCurrent( void ); -BOOL testSetBloodFlowDataPublishIntervalOverride( U32 value ); -BOOL testResetBloodFlowDataPublishIntervalOverride( void ); -BOOL testSetTargetBloodFlowRateOverride( S32 value, U32 bloodPumpControlMode ); -BOOL testSetMeasuredBloodFlowRateOverride( F32 value ); -BOOL testResetMeasuredBloodFlowRateOverride( void ); -BOOL testSetMeasuredBloodPumpRotorSpeedOverride( F32 value ); -BOOL testResetMeasuredBloodPumpRotorSpeedOverride( void ); -BOOL testSetMeasuredBloodPumpSpeedOverride( F32 value ); -BOOL testResetMeasuredBloodPumpSpeedOverride( void ); -BOOL testSetMeasuredBloodPumpMCSpeedOverride( F32 value ); -BOOL testResetMeasuredBloodPumpMCSpeedOverride( void ); -BOOL testSetMeasuredBloodPumpMCCurrentOverride( F32 value ); -BOOL testResetMeasuredBloodPumpMCCurrentOverride( void ); -BOOL testSetBloodPumpRotorCountOverride( U32 value ); -BOOL testResetBloodPumpRotorCountOverride( void ); -BOOL testSetBloodPumpTargetDutyCycle( F32 value ); +BOOL testBloodFlowDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testSetTargetBloodFlowRateOverride( MESSAGE_T *message ); +BOOL testSetBloodPumpSpeedOverride( MESSAGE_T *message ); +BOOL testMeasuredBloodFlowRateOverride( MESSAGE_T *message ); +BOOL testMeasuredBloodPumpRotorSpeedOverride( MESSAGE_T *message ); +BOOL testMeasuredBloodPumpSpeedOverride( MESSAGE_T *message ); +BOOL testBloodPumpRotorCountOverride( MESSAGE_T *message ); /**@}*/