Index: firmware/App/Controllers/BloodFlow.h =================================================================== diff -u -r5dea4d2934a06e63b87c74732d5d5d7756bdc62a -rf3a26c402a2ec88f5ee7dbb8eb7127ab5b4692aa --- firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision 5dea4d2934a06e63b87c74732d5d5d7756bdc62a) +++ firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision f3a26c402a2ec88f5ee7dbb8eb7127ab5b4692aa) @@ -14,71 +14,71 @@ * @date (original) 25-Oct-2024 * ***************************************************************************/ - -#ifndef __BLOOD_FLOW_H__ -#define __BLOOD_FLOW_H__ - + +#ifndef __BLOOD_FLOW_H__ +#define __BLOOD_FLOW_H__ + #include "TDCommon.h" -#include "PeristalticPump.h" - -/** - * @defgroup BloodFlow BloodFlow - * @brief Blood Pump & Blood Flow controller/monitor module. Monitors and - * controls the blood pump. - * - * @addtogroup BloodFlow - * @{ - */ - -// ********** public definitions ********** - -#define MAX_SET_BLOOD_FLOW_RATE 500 ///< Maximum prescribed blood flow rate (in mL/min). +#include "PeristalticPump.h" + +/** + * @defgroup BloodFlow BloodFlow + * @brief Blood Pump & Blood Flow controller/monitor module. Monitors and + * controls the blood pump. + * + * @addtogroup BloodFlow + * @{ + */ + +// ********** public definitions ********** + +#define MAX_SET_BLOOD_FLOW_RATE 500 ///< Maximum prescribed blood flow rate (in mL/min). #define MIN_SET_BLOOD_FLOW_RATE 100 ///< Minimum prescribed blood flow rate (in mL/min). /// Payload record structure for a blood pump data message. typedef struct { - 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 measCurr; ///< Measure motor current in Amps. - F32 setRPM; ///< Set motor speed in RPM. - U32 rotorCount; ///< Rotor count. - U32 presFlow; ///< Prescribed blood flow in mL/min. - U32 rotorHall; ///< Rotor hall state (1=home, 0=not home). + S32 h4SetFlowRate; ///< Set flow rate in mL/min. + F32 h4MeasFlow; ///< Measured flow rate in mL/min. + F32 h4MeasRotorSpd; ///< Measured rotor speed in RPM. + F32 h4MeasPumpSpd; ///< Measured pump speed in RPM. + F32 h4MeasCurr; ///< Measure motor current in Amps. + F32 h4SetRPM; ///< Set motor speed in RPM. + U32 h4RotorCount; ///< Rotor count. + U32 h4PresFlow; ///< Prescribed blood flow in mL/min. + U32 h4RotorHallState; ///< Rotor hall state (1=home, 0=not home). } BLOOD_PUMP_STATUS_PAYLOAD_T; -// ********** public function prototypes ********** - -void initBloodFlow( void ); +// ********** public function prototypes ********** + +void initBloodFlow( void ); void execBloodFlowMonitor( void ); -void execBloodFlowController( 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 setBloodPumpTargetRPM( U32 rpm, MOTOR_DIR_T dir ); +void signalBloodPumpHardStop( void ); +void signalBloodPumpRotorHallSensor( void ); BOOL homeBloodPump( void ); BOOL isBloodPumpRunning( void ); BOOL isBloodPumpRampComplete( void ); -void resetBloodPumpRotorCount( void ); - -SELF_TEST_STATUS_T execBloodFlowTest( void ); +void resetBloodPumpRotorCount( void ); -S32 getTargetBloodFlowRate( void ); -F32 getMeasuredBloodFlowRate( void ); +SELF_TEST_STATUS_T execBloodFlowTest( void ); + +S32 getTargetBloodFlowRate( void ); +F32 getMeasuredBloodFlowRate( void ); F32 getMeasuredBloodPumpRotorSpeed( void ); F32 getMeasuredBloodPumpSpeed( void ); -BOOL testBloodFlowDataPublishIntervalOverride( MESSAGE_T *message ); +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 testSetBloodPumpSpeedOverride( MESSAGE_T *message ); +BOOL testMeasuredBloodFlowRateOverride( MESSAGE_T *message ); +BOOL testMeasuredBloodPumpRotorSpeedOverride( MESSAGE_T *message ); +BOOL testMeasuredBloodPumpSpeedOverride( MESSAGE_T *message ); BOOL testBloodPumpRotorCountOverride( MESSAGE_T *message ); - -/**@}*/ - -#endif + +/**@}*/ + +#endif