Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -ra7821aff3dc204a060233b0753253ec04d020557 -rfcbf16998f91c7c14ac952badfef65f3e012f160 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision a7821aff3dc204a060233b0753253ec04d020557) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision fcbf16998f91c7c14ac952badfef65f3e012f160) @@ -81,6 +81,7 @@ #define PSI_TO_MMHG ( 51.7149F ) ///< Conversion factor for converting PSI to mmHg. +// The new arterial pressure sensor is the same as the venous pressure sensor #define VENOUS_PRESSURE_NORMAL_OP 0 ///< Venous pressure status bits indicate normal operation. #define VENOUS_PRESSURE_CMD_MODE 1 ///< Venous pressure status bits indicate sensor in command mode. #define VENOUS_PRESSURE_STALE_DATA 2 ///< Venous pressure status bits indicate data is stale (no new data since last fpga read). @@ -817,7 +818,6 @@ } } } - // Check for occlusion in Treatment modes where pumps are moving else if ( MODE_TREA == getCurrentOperationMode() ) { Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r2dd1b02e90c90fcd94bf9b21245282205a963654 -rfcbf16998f91c7c14ac952badfef65f3e012f160 --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 2dd1b02e90c90fcd94bf9b21245282205a963654) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision fcbf16998f91c7c14ac952badfef65f3e012f160) @@ -162,10 +162,12 @@ #define SYRINGE_PUMP_STALL_SPEED_THRESHOLD 0.05F ///< Minimum syringe pump speed to be considered not stalled. #define SYRINGE_PUMP_ADC_FPGA_ERROR_TIMEOUT_MS ( 2 * MS_PER_SECOND ) ///< Syringe pump ADC FPGA error timeout in milliseconds. + #define SYRINGE_PUMP_DAC_MAX_RETRIES 5 ///< Syringe pump DAC retries to write. #define SYRINGE_PUMP_DAC_TIMER ( 200 / TASK_PRIORITY_INTERVAL ) ///< Syringe pump DAC timer between retries. #define SYRINGE_PUMP_OCCLUSION_PERSISTENCE 50 ///< Syringe pump occlusion persistence timer in milliseconds. #define SYRINGE_PUMP_EMPTY_FORCE_COUNT 5 ///< Syringe pump empty force voltage count persistence. + /// Defined states for the syringe pump control state machine. typedef enum SyringePump_States { @@ -339,6 +341,7 @@ initPersistentAlarm( ALARM_ID_HD_SYRINGE_PUMP_CONTROLLER_DIRECTION_ERROR, 0, SYRINGE_PUMP_DIR_ALARM_PERSISTENCE ); initPersistentAlarm( ALARM_ID_HD_SYRINGE_PUMP_RUNNING_WHILE_BP_OFF_ERROR, 0, SYRINGE_PUMP_OFF_ALARM_PERSISTENCE ); initPersistentAlarm( ALARM_ID_HD_SYRINGE_PUMP_SPEED_ERROR, 0, SYRINGE_PUMP_RATE_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION, 0, SYRINGE_PUMP_OCCLUSION_PERSISTENCE); initTimeWindowedCount( TIME_WINDOWED_COUNT_SYRINGE_PUMP_OFF_ERROR, SYRINGE_PUMP_OFF_ERROR_MAX_CNT, SYRINGE_PUMP_OFF_ERROR_TIME_WIN_MS ); initFPGAPersistentAlarm( FPGA_PERS_ERROR_SYRINGE_PUMP_ADC, ALARM_ID_HD_SYRINGE_PUMP_FPGA_ADC_FAULT, Index: firmware/App/Modes/ConsumableSelfTest.c =================================================================== diff -u -r3970ba21aa2500f662620ef3d4b3e1e7a48fc47a -rfcbf16998f91c7c14ac952badfef65f3e012f160 --- firmware/App/Modes/ConsumableSelfTest.c (.../ConsumableSelfTest.c) (revision 3970ba21aa2500f662620ef3d4b3e1e7a48fc47a) +++ firmware/App/Modes/ConsumableSelfTest.c (.../ConsumableSelfTest.c) (revision fcbf16998f91c7c14ac952badfef65f3e012f160) @@ -110,6 +110,7 @@ if ( TRUE == consumableInstallConfirmed ) // TODO - should we check that concentrate cap is off too? { consumableInstallConfirmed = FALSE; + #ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_CONSUMABLES_TESTS ) ) { Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -ra7821aff3dc204a060233b0753253ec04d020557 -rfcbf16998f91c7c14ac952badfef65f3e012f160 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision a7821aff3dc204a060233b0753253ec04d020557) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision fcbf16998f91c7c14ac952badfef65f3e012f160) @@ -71,6 +71,7 @@ static OVERRIDE_U32_T standbyModePublishInterval = { DISINFECTS_DATA_PUB_INTERVAL, DISINFECTS_DATA_PUB_INTERVAL, DISINFECTS_DATA_PUB_INTERVAL, 0 }; static const U32 SERVICE_TIME_INTERVAL_S = (U32)( 365 * 0.5 * SECONDS_IN_A_DAY ); ///< HD/DG 6-month service interval in seconds. +static BOOL homingInitiated; ///< Flag indicates actuator homing has been initiated from standby mode. // ********** private function prototypes ********** Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -r1f4d0aead50079c495871c7d0ea1c410186a90c2 -rfcbf16998f91c7c14ac952badfef65f3e012f160 --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 1f4d0aead50079c495871c7d0ea1c410186a90c2) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision fcbf16998f91c7c14ac952badfef65f3e012f160) @@ -7,8 +7,8 @@ * * @file ModeTreatmentParams.c * -* @author (last) Sean Nash -* @date (last) 31-May-2023 +* @author (last) Michael Garthwaite +* @date (last) 16-May-2023 * * @author (original) Sean Nash * @date (original) 29-May-2020 Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -r33172fb03fd33afef26de13c343480c62cfa1a3c -rfcbf16998f91c7c14ac952badfef65f3e012f160 --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 33172fb03fd33afef26de13c343480c62cfa1a3c) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision fcbf16998f91c7c14ac952badfef65f3e012f160) @@ -7,8 +7,8 @@ * * @file OperationModes.c * -* @author (last) Sean Nash -* @date (last) 31-May-2023 +* @author (last) Michael Garthwaite +* @date (last) 16-May-2023 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 Index: firmware/App/Modes/OperationModes.h =================================================================== diff -u -r60c102696e521ff82452aaad30e1db9f240eef58 -rfcbf16998f91c7c14ac952badfef65f3e012f160 --- firmware/App/Modes/OperationModes.h (.../OperationModes.h) (revision 60c102696e521ff82452aaad30e1db9f240eef58) +++ firmware/App/Modes/OperationModes.h (.../OperationModes.h) (revision fcbf16998f91c7c14ac952badfef65f3e012f160) @@ -53,6 +53,7 @@ void setConfirmationRequestStatus( GENERIC_CONFIRM_ID_T requestID, CONFIRMATION_REQUEST_STATUS_T status ); // Set the confirmation request status GENERIC_CONFIRM_ID_T addConfirmationRequest( GENERIC_CONFIRM_ID_T requestID, GENERIC_CONFIRM_COMMAND_T requestType, U32 rejectReason ); // Add a new confirmation request void setCurrentSubState( U32 subState ); // Set the current substate. +void setCurrent4thLevelState( U32 state ); // Set the current 4th level state. BOOL testSetOperationMode( HD_OP_MODE_T newMode ); // Force transition to a given mode (if allowed) BOOL testSetOpModePublishIntervalOverride( U32 ms );