Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -r6419179374edcd65da462de84e8aeaefb7e20320 -rb4bc2e0337b358ee180650101d98e18346bf7c22 --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision 6419179374edcd65da462de84e8aeaefb7e20320) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision b4bc2e0337b358ee180650101d98e18346bf7c22) @@ -42,75 +42,75 @@ /// Enumeration of DG pressure sensors. typedef enum DG_PressureSensors { - DG_PRESSURE_SENSOR_RO_PUMP_INLET = 0, ///< RO pump pressure sensor. - DG_PRESSURE_SENSOR_RO_PUMP_OUTLET, ///< RO pump pressure sensor. - DG_PRESSURE_SENSOR_DRAIN_PUMP_INLET, ///< Drain pump inlet pressure. - DG_PRESSURE_SENSOR_DRAIN_PUMP_OUTLET, ///< Drain pump outlet pressure. - NUM_OF_DG_PRESSURE_SENSORS ///< Number of pressure sensors. + DG_PRESSURE_SENSOR_RO_PUMP_INLET = 0, ///< RO pump pressure sensor + DG_PRESSURE_SENSOR_RO_PUMP_OUTLET, ///< RO pump pressure sensor + DG_PRESSURE_SENSOR_DRAIN_PUMP_INLET, ///< Drain pump inlet pressure + DG_PRESSURE_SENSOR_DRAIN_PUMP_OUTLET, ///< Drain pump outlet pressure + NUM_OF_DG_PRESSURE_SENSORS ///< Number of pressure sensors } DG_PRESSURE_SENSORS_T; /// Payload record structure for an RO pump data message. typedef struct { - U32 setPtPSI; - F32 measFlowRateMlMin; - F32 setPWMDutyCyclePct; + U32 setPtPSI; ///< RO pump set target pressure + F32 measFlowRateMlMin; ///< RO pump measured flow rate in mL per min + F32 setPWMDutyCyclePct; ///< RO pump set PWM duty cycle percent } DG_RO_PUMP_DATA_PAYLOAD_T; /// Payload record structure for a drain pump data message. typedef struct { - U32 setPtRPM; - F32 setDAC; + U32 setPtRPM; ///< Drain pump set RPM value + F32 setDAC; ///< Drain pump set DAC value } DG_DRAIN_PUMP_DATA_PAYLOAD_T; /// Payload record structure for a DG pressures data message. typedef struct { - F32 roInPSI; - F32 roOutPSI; - F32 drainInPSI; - F32 drainOutPSI; + F32 roInPSI; ///< DG inlet pressure in PSI + F32 roOutPSI; ///< DG outlet pressure in PSI + F32 drainInPSI; ///< DG drain inlet pressure in PSI + F32 drainOutPSI; ///< DG drain outlet pressure in PSI } DG_PRESSURES_DATA_PAYLOAD_T; /// Payload record structure for a reservoirs data message. typedef struct { - U32 resID; - U32 setFillToVolumeMl; - U32 setDrainToVolumeMl; + U32 resID; ///< Active reservoir ID + U32 setFillToVolumeMl; ///< Reservoir set fill to target volume in ml + U32 setDrainToVolumeMl; ///< Reservoir set drain to target volume in ml } DG_RESERVOIRS_DATA_PAYLOAD_T; /// Payload record structure for DG temperature sensors data message. typedef struct { - F32 TPi; - F32 TPo; - F32 TD1; - F32 TD2; - F32 TRo; - F32 TDi; - F32 HtrPrimThermo; - F32 HtrTrimThermo; - F32 HtrPrimColdJunc; - F32 HtrTrimColdJunc; - F32 HtrPrimInternal; - F32 HtrTrimInternal; + F32 TPi; ///< Inlet primary heaters temperature sensor + F32 TPo; ///< Outlet primary heaters temperature sensor + F32 TD1; ///< Conductivity sensor 1 temperature sensor + F32 TD2; ///< Conductivity sensor 2 temperature sensor + F32 TRo; ///< Outlet redundant temperature sensor + F32 TDi; ///< Inlet dialysate temperature sensor + F32 HtrPrimThermo; ///< Primary heaters internal temperature sensor + F32 HtrTrimThermo; ///< Trimmer heater internal temperature sensor + F32 HtrPrimColdJunc; ///< Primary heaters cold junction temperature sensor + F32 HtrTrimColdJunc; ///< Trimmer heater cold junction temperature sensor + F32 HtrPrimInternal; ///< Primary heaters internal temperature + F32 HtrTrimInternal; ///< Trimmer heater internal temperature } DG_TEMPERATURES_T; /// Payload record structure for a drain reservoir command message. typedef struct { - U32 drainToVolumeML; - BOOL tareLoadCells; + U32 drainToVolumeML; ///< Drain to target volume in ml + BOOL tareLoadCells; ///< Flag indicates to tare load cells or not } DRAIN_RESERVOIR_CMD_PAYLOAD_T; /// DG command response data record structure. typedef struct { - U32 commandID; ///< The command DG is responding to - BOOL rejected; ///< Flag indicates if the command has been rejected - U32 rejectCode; ///< Reason code for rejecting the command + U32 commandID; ///< The command DG is responding to + BOOL rejected; ///< Flag indicates if the command has been rejected + U32 rejectCode; ///< Reason code for rejecting the command } DG_CMD_RESPONSE_T; // ********** public function prototypes ********** Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r5d13922ee2e8c851bc5db67ef4d0120b47de6f07 -rb4bc2e0337b358ee180650101d98e18346bf7c22 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 5d13922ee2e8c851bc5db67ef4d0120b47de6f07) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision b4bc2e0337b358ee180650101d98e18346bf7c22) @@ -106,7 +106,6 @@ // ********** private function prototypes ********** -static PRESSURE_STATE_T handlePresOcclInitState( void ); static PRESSURE_STATE_T handlePresOcclContReadState( void ); static void convertInlinePressures( void ); static void convertOcclusionPressures( void ); @@ -215,7 +214,7 @@ switch ( presOcclState ) { case PRESSURE_INIT_STATE: - presOcclState = handlePresOcclInitState(); + presOcclState = PRESSURE_CONTINUOUS_READ_STATE; break; case PRESSURE_CONTINUOUS_READ_STATE: @@ -233,21 +232,6 @@ /*********************************************************************//** * @brief - * The handlePresOcclInitState function handles the initialize state - * of the pressure/occlusion monitor state machine. - * @details Inputs: TBD - * @details Outputs: TBD - * @return next state - *************************************************************************/ -static PRESSURE_STATE_T handlePresOcclInitState( void ) -{ - PRESSURE_STATE_T result = PRESSURE_CONTINUOUS_READ_STATE; - - return result; -} - -/*********************************************************************//** - * @brief * The handlePresOcclContReadState function handles the continuous read state * of the pressure/occlusion monitor state machine. * @details Inputs: FPGA pressure/occlusion readings Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -rc14a0220256e92a6339a444a3e1bc85e159ccce3 -rb4bc2e0337b358ee180650101d98e18346bf7c22 --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision c14a0220256e92a6339a444a3e1bc85e159ccce3) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision b4bc2e0337b358ee180650101d98e18346bf7c22) @@ -304,7 +304,7 @@ if ( MODE_TREA == getCurrentOperationMode() ) { - if ( ( TREATMENT_DIALYSIS_STATE == getTreatmentState() ) && ( getDialysisState() != DIALYSIS_SALINE_BOLUS_STATE ) ) + if ( ( TREATMENT_DIALYSIS_STATE == getTreatmentState() ) && ( DIALYSIS_SALINE_BOLUS_STATE != getDialysisState() ) ) { if ( HEPARIN_CMD_PAUSE == cmd ) { @@ -429,7 +429,7 @@ *************************************************************************/ BOOL retractSyringePump( void ) { - if ( ( SYRINGE_PUMP_OFF_STATE == syringePumpState ) && ( heparinDeliveryState != HEPARIN_STATE_OFF ) ) + if ( ( SYRINGE_PUMP_OFF_STATE == syringePumpState ) && ( HEPARIN_STATE_OFF != heparinDeliveryState ) ) { syringePumpSetRate = SYRINGE_PUMP_RETRACT_RATE; syringePumpRetractRequested = TRUE; @@ -448,7 +448,7 @@ BOOL seekSyringePlunger( void ) { if ( ( SYRINGE_PUMP_OFF_STATE == syringePumpState ) && ( TRUE == isSyringeDetected() ) && - ( TRUE == syringePumpPositionKnown ) && ( heparinDeliveryState != HEPARIN_STATE_OFF ) ) + ( TRUE == syringePumpPositionKnown ) && ( HEPARIN_STATE_OFF != heparinDeliveryState ) ) { syringePumpSetRate = SYRINGE_PUMP_SEEK_RATE; syringePumpSeekRequested = TRUE; Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -r92c04526739f32e904fe258bd622aa08734ce343 -rb4bc2e0337b358ee180650101d98e18346bf7c22 --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 92c04526739f32e904fe258bd622aa08734ce343) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision b4bc2e0337b358ee180650101d98e18346bf7c22) @@ -164,6 +164,8 @@ break; default: + currentPostTreatmentState = HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE; + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_POST_TREATMENT_INVALID_STATE, currentPostTreatmentState ); break; } @@ -407,10 +409,10 @@ /*********************************************************************//** * @brief * The handleDrainReservoirOneState function sends command to DG to - * drain reservoir one. + * drain first reservoir. * @details Inputs: none * @details Outputs: drained reservoir one - * @return current state (sub-mode) + * @return next state *************************************************************************/ static DRAIN_STATE_T handleDrainFirstReservoirStartState( void ) { @@ -425,6 +427,14 @@ return state; } +/*********************************************************************//** + * @brief + * The handleDrainFirstReservoirState function waits for DG to finish draining + * first reservoir and sends command to switch reservoir. + * @details Inputs: none + * @details Outputs: drained first reservoir + * @return next state + *************************************************************************/ static DRAIN_STATE_T handleDrainFirstReservoirState( void ) { DG_CMD_RESPONSE_T dgCmdResp; @@ -454,6 +464,14 @@ return state; } +/*********************************************************************//** + * @brief + * The handleDrainSwitchReservoirState function waits for DG to complete + * reservoir switch and sends drain command. + * @details Inputs: none + * @details Outputs: proceed to next state after DG switched reservoir + * @return next state + *************************************************************************/ static DRAIN_STATE_T handleDrainSwitchReservoirState( void ) { DRAIN_STATE_T state = DRAIN_SWITCH_RESERVOIR_STATE; @@ -469,11 +487,11 @@ /*********************************************************************//** * @brief - * The handleDrainReservoirTwoState function sends command to DG to drain - * reservoir two. + * The handleDrainReservoirTwoState function waits for DG to finish draining + * second reservoir. * @details Inputs: none - * @details Outputs: drained reservoir two - * @return current state (sub-mode) + * @details Outputs: drained second reservoir + * @return next state *************************************************************************/ static DRAIN_STATE_T handleDrainSecondReservoirState( void ) { Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -ra40f31235a6e8a5041937f04789f65fdcb4a1721 -rb4bc2e0337b358ee180650101d98e18346bf7c22 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision a40f31235a6e8a5041937f04789f65fdcb4a1721) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision b4bc2e0337b358ee180650101d98e18346bf7c22) @@ -241,7 +241,7 @@ * disposable installation. * @details Inputs: none * @details Outputs: confirmInstallRequested - * @return TRUE if signal accepted, FALSE if not + * @return none *************************************************************************/ void signalUserConfirmInstallation( void ) { Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r04f033af4174bf41a7aa0ff9ccaae45b77472e01 -rb4bc2e0337b358ee180650101d98e18346bf7c22 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 04f033af4174bf41a7aa0ff9ccaae45b77472e01) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision b4bc2e0337b358ee180650101d98e18346bf7c22) @@ -258,6 +258,7 @@ SW_FAULT_ID_HD_SYRINGE_INVALID_CONT_CMD, SW_FAULT_ID_HD_SYRINGE_INVALID_VREF, SW_FAULT_ID_HD_SYRINGE_INVALID_STATE, + SW_FAULT_ID_MODE_POST_TREATMENT_INVALID_STATE, // 115 NUM_OF_SW_FAULT_IDS } SW_FAULT_ID_T;