Index: firmware/App/Controllers/PresOccl.h =================================================================== diff -u -r14d740bbb065f043daaa348bcda5f447e1c16a32 -r6e3cc2783dd177a3e53589fcc73ff56f05da20d9 --- firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision 14d740bbb065f043daaa348bcda5f447e1c16a32) +++ firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision 6e3cc2783dd177a3e53589fcc73ff56f05da20d9) @@ -47,14 +47,27 @@ OCCLUSION_SENSOR_DIAL_IN_PUMP, ///< Dialysate inlet pump occlusion sensor OCCLUSION_SENSOR_DIAL_OUT_PUMP, ///< Dialysate outlet pump occlusion sensor NUM_OF_OCCLUSION_SENSORS ///< Number of occlusion sensors -} OCCLUSION_SENSORS_T; +} OCCLUSION_SENSORS_T; + +/// Enumeration of arterial/venous pressure limits states. +typedef enum PressureLimitsStates +{ + PRESSURE_LIMITS_STATE_STABILIZATION = 0,///< Stabilization state + PRESSURE_LIMITS_STATE_STABLE, ///< Stable state + NUM_OF_PRESSURE_LIMITS_STATES +} PRESSURE_LIMITS_STATES_T; /// Payload record structure for the pressure & occlusions data message. typedef struct { F32 arterialPressure; ///< Latest arterial pressure (mmHg) F32 venousPressure; ///< Latest venous pressure (mmHg) U32 bldPumpOcclusion; ///< Latest BP occlusion (no units) + U32 presLimitState; ///< Current pressure limits state (enum-stabilization or stable) + S32 artMinLimit; ///< Current arterial minimum pressure limit (mmHg) + S32 artMaxLimit; ///< Current arterial maximum pressure limit (mmHg) + S32 venMinLimit; ///< Current venous minimum pressure limit (mmHg) + S32 venMaxLimit; ///< Current venous maximum pressure limit (mmHg) } PRESSURE_OCCLUSION_DATA_T; // ********** public function prototypes ********** @@ -64,7 +77,10 @@ void execPresOcclTest( void ); SELF_TEST_STATUS_T execPresOcclDryTest( void ); -SELF_TEST_STATUS_T execPresOcclSelfTest( void ); +SELF_TEST_STATUS_T execPresOcclSelfTest( void ); + +void setPressureLimitsToOuterBounds( void ); +void updatePressureLimitWindows( S32 artPresWin, S32 venPresWin, S32 venPresAsym ); F32 getMeasuredArterialPressure( void ); F32 getFilteredArterialPressure( void );