Index: firmware/App/Controllers/BloodFlow.h =================================================================== diff -u -rf3a26c402a2ec88f5ee7dbb8eb7127ab5b4692aa -r395522dffef1348e176564925656012f529c1910 --- firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision f3a26c402a2ec88f5ee7dbb8eb7127ab5b4692aa) +++ firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision 395522dffef1348e176564925656012f529c1910) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2026 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 BloodFlow.h * -* @author (last) Sean -* @date (last) 25-Oct-2024 +* @author (last) Dara Navaei +* @date (last) 26-Oct-2025 * -* @author (original) Sean -* @date (original) 25-Oct-2024 +* @author (original) Sean Nash +* @date (original) 24-Oct-2024 * ***************************************************************************/ @@ -35,19 +35,23 @@ #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). +#pragma pack(push, 1) /// Payload record structure for a blood pump data message. typedef struct { 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 h4MeasTorquemNm; ///< Measured torque in mN.m. 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). + U32 h6RotorHallState; ///< Rotor hall state (1=home, 0=not home). + //U32 bPstate; + //U32 bpRotorStatus; } BLOOD_PUMP_STATUS_PAYLOAD_T; +#pragma pack(pop) // ********** public function prototypes ********** @@ -58,7 +62,6 @@ 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 ); BOOL isBloodPumpRunning( void ); BOOL isBloodPumpRampComplete( void ); @@ -70,6 +73,7 @@ F32 getMeasuredBloodFlowRate( void ); F32 getMeasuredBloodPumpRotorSpeed( void ); F32 getMeasuredBloodPumpSpeed( void ); +F32 getMeasuredBloodPumpTorque( void ); BOOL testBloodFlowDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testSetTargetBloodFlowRateOverride( MESSAGE_T *message ); @@ -78,6 +82,11 @@ BOOL testMeasuredBloodPumpRotorSpeedOverride( MESSAGE_T *message ); BOOL testMeasuredBloodPumpSpeedOverride( MESSAGE_T *message ); BOOL testBloodPumpRotorCountOverride( MESSAGE_T *message ); +BOOL testHomeBloodPump( MESSAGE_T *message ); +BOOL testHardStopBloodPump( MESSAGE_T *message ); +BOOL testBPFlowAlphaYInterceptOverride( MESSAGE_T *message ); +BOOL testBPFlowWearATermOverride( MESSAGE_T *message ); +BOOL testBPFlowWearBTermOverride( MESSAGE_T *message ); /**@}*/