Index: firmware/App/Drivers/RotaryValve.h =================================================================== diff -u -r7a211da92e750bc5e306e897e956487a4303a36b -r8759adf902288368a8b0aaea7a809cc88822a9ab --- firmware/App/Drivers/RotaryValve.h (.../RotaryValve.h) (revision 7a211da92e750bc5e306e897e956487a4303a36b) +++ firmware/App/Drivers/RotaryValve.h (.../RotaryValve.h) (revision 8759adf902288368a8b0aaea7a809cc88822a9ab) @@ -44,8 +44,6 @@ H1_VALV = 0, ///< Arterial rotary pinch valve FIRST_VALVE = H1_VALV, ///< First valve H19_VALV, ///< Venous rotary pinch valve -// H13_VALV, ///< Air trap valueIN -// H20_VALV, ///< Air trap valueOUT NUM_OF_VALVES ///< Number of valves } VALVE_T; Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -r39732559edf2c943e1ef206a393df435a19dc5c9 -r8759adf902288368a8b0aaea7a809cc88822a9ab --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 39732559edf2c943e1ef206a393df435a19dc5c9) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 8759adf902288368a8b0aaea7a809cc88822a9ab) @@ -396,15 +396,17 @@ /*********************************************************************//** * @brief - * The getDDComppatabilitys function returns the DD version information. - * @details \b Inputs: dgVersion + * The isDDCompatible function determines whether the DD firmware is + * compatible with the TD firmware. + * @details \b Inputs: ddVersion * @details \b Outputs: none - * @return dgVersion + * @return TRUE if DD firmware is compatible with TD firmware, FALSE if not. *************************************************************************/ -U32 isDDCompatibile( void ) +BOOL isDDCompatible( void ) { ddVersion = getDDVersion(); - return ddVersion.compatibilityRev; + + return ( SW_COMPATIBILITY_REV == ddVersion.compatibilityRev ); } /*********************************************************************//** Index: firmware/App/Modes/ModeInitPOST.h =================================================================== diff -u -r39732559edf2c943e1ef206a393df435a19dc5c9 -r8759adf902288368a8b0aaea7a809cc88822a9ab --- firmware/App/Modes/ModeInitPOST.h (.../ModeInitPOST.h) (revision 39732559edf2c943e1ef206a393df435a19dc5c9) +++ firmware/App/Modes/ModeInitPOST.h (.../ModeInitPOST.h) (revision 8759adf902288368a8b0aaea7a809cc88822a9ab) @@ -47,7 +47,7 @@ void signalDDVersion( DD_VERSIONS_T version ); // Record DD version info DD_VERSIONS_T getDDVersion( void ); // Get DD version info -U32 isDDCompatibile( void ); // Get DD compatability +BOOL isDDCompatible( void ); // Get DD compatability BOOL getDDPOSTPassed( void ); // Get DD POST pass/fail status /**@}*/ Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r32d273feed8fd8c1278a2a9231b912aef37629ab -r8759adf902288368a8b0aaea7a809cc88822a9ab --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 32d273feed8fd8c1278a2a9231b912aef37629ab) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 8759adf902288368a8b0aaea7a809cc88822a9ab) @@ -84,7 +84,7 @@ *************************************************************************/ U32 transitionToStandbyMode( void ) { -// TD_OP_MODE_T previousOpMode = getPreviousOperationMode(); //ToDo +// TD_OP_MODE_T previousOpMode = getPreviousOperationMode(); //TODO // Re-initialize when transitioning to standby mode initStandbyMode(); @@ -104,11 +104,11 @@ // Set valves to default positions set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); - if ( getValveState( H1_VALV ) < VALVE_STATE_IDLE ) + if ( getValveState( H1_VALV ) == VALVE_STATE_IDLE ) { setValvePosition( H1_VALV, VALVE_POSITION_A_INSERT_EJECT ); } - if ( getValveState( H19_VALV ) < VALVE_STATE_IDLE ) + if ( getValveState( H19_VALV ) == VALVE_STATE_IDLE ) { setValvePosition( H19_VALV, VALVE_POSITION_A_INSERT_EJECT ); } @@ -121,7 +121,7 @@ // Request DD service record and usage information from DD // sendDDServiceRequestToDD(); - //ToDo: Service record id not available + //TODO: Service record id not available // broadcastData( MSG_ID_TD_DD_REQUEST_SERVICE_RECORD_FROM_TD, COMM_BUFFER_OUT_CAN_TD_2_DD, requestPayload, sizeof( requestPayload ) ); // broadcastData( MSG_ID_TD_DD_USAGE_INFO_REQUEST, COMM_BUFFER_OUT_CAN_TD_2_DD, requestPayload, sizeof( requestPayload ) ); // sendDDUsageInfoRequestToDD(); //TODO need to enable @@ -223,7 +223,7 @@ { TD_STANDBY_STATE_T state = STANDBY_WAIT_FOR_TREATMENT_STATE; F32 bicarbConvFactor = BICARBONATE_CONVERSION_FACTOR; - //ToDo + //TODO // DD_OP_MODE_T ddOperationMode = getDDOpMode(); // switch ( ddOperationMode ) @@ -251,7 +251,7 @@ // If DD is communicating and we don't yet have DD version info, request it if ( TRUE == isDDCommunicating() ) { - if ( FALSE == isDDCompatibile()) + if ( FALSE == isDDCompatible()) { U08 fwVersionRequestPayload[3] = { 0U, 0U, 0U }; @@ -276,13 +276,15 @@ respRecord.venPresLimitAsymmetricmmHg = getSysConfigTreatmentParameterU32DefaultValue( TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC ); respRecord.tmpPresLimitWindowmmHg = getSysConfigTreatmentParameterU32DefaultValue( TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW ); sendPressureLimitsChangeResponse( &respRecord ); - // start DD pre-gen // TODO + // start DD pre-gen // TODO we need to add UF rate as per new requirement + cmdStartPreGenerateDialysate( (F32)getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ), getTreatmentParameterF32( TREATMENT_PARAM_ACID_CONCENTRATE_CONV_FACTOR ), bicarbConvFactor, getTreatmentParameterU32( TREATMENT_PARAM_SODIUM ), - getTreatmentParameterU32( TREATMENT_PARAM_BICARBONATE ) ); + getTreatmentParameterU32( TREATMENT_PARAM_BICARBONATE ), + getTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME ) ); // Start treatment workflow with pretreatment mode // Set fluid type setFluidType( modality ); @@ -427,11 +429,11 @@ { rejReason = REQUEST_REJECT_REASON_DD_BUSY; } - else if ( FALSE == isDDCompatibile() ) + else if ( FALSE == isDDCompatible() ) { rejReason = REQUEST_REJECT_REASON_DD_INCOMPATIBLE; } - // ToDo: Need to uncomment below after implementation + // TODO: Need to uncomment below after implementation // else if ( TRUE == isDDDisinfectionOverdue() ) // { // rejReason = REQUEST_REJECT_REASON_DISINFECT_HAS_BEEN_EXPIRED; @@ -465,7 +467,7 @@ else { // Low battery is a warning only, not a rejection. - //ToDo + //TODO // if ( TRUE == isBatteryRemainingCapacityLessThan60Wh() ) // { // SET_ALARM( ALARM_ID_TD_LOW_BATTERY_CHARGE ); Index: firmware/App/Services/DDInterface.c =================================================================== diff -u -r1b83a4555c4040a45cecfbea45b6570812ab281e -r8759adf902288368a8b0aaea7a809cc88822a9ab --- firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision 1b83a4555c4040a45cecfbea45b6570812ab281e) +++ firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision 8759adf902288368a8b0aaea7a809cc88822a9ab) @@ -110,6 +110,7 @@ preGenDialysateCmdSet.bicarbConvFactor = 0.0F; preGenDialysateCmdSet.sodium = 0; preGenDialysateCmdSet.bicarbonate = 0; + preGenDialysateCmdSet.ufVolume = 0.0F; dialysateDeliveryCmdSet.start = FALSE; dialysateDeliveryCmdSet.dialRate = 0.0F; @@ -357,7 +358,7 @@ * @param bicarbonate Level of bicarbonate used in mEq/L. * @return none *************************************************************************/ -void cmdStartPreGenerateDialysate( F32 qd, F32 dialTemp, F32 acidConvFactor, F32 bicarbConvFactor, U32 sodium, U32 bicarbonate ) +void cmdStartPreGenerateDialysate( F32 qd, F32 dialTemp, F32 acidConvFactor, F32 bicarbConvFactor, U32 sodium, U32 bicarbonate, F32 ufVol ) { preGenDialysateCmdSet.start = TRUE; preGenDialysateCmdSet.dialRate = qd; @@ -366,6 +367,7 @@ preGenDialysateCmdSet.bicarbConvFactor = bicarbConvFactor; preGenDialysateCmdSet.sodium = sodium; preGenDialysateCmdSet.bicarbonate = bicarbonate; + preGenDialysateCmdSet.ufVolume = ufVol; #ifndef TEST_UI_ONLY sendMessage( MSG_ID_DD_PRE_GEN_DIALYSATE_REQUEST_DATA, COMM_BUFFER_OUT_CAN_TD_2_DD, (U08*)(&preGenDialysateCmdSet), sizeof( PRE_GEN_DIALYSATE_REQ_PAYLOAD_T ) ); Index: firmware/App/Services/DDInterface.h =================================================================== diff -u -r9c833ef5623ce842267e284d958820ac0dc3a7fc -r8759adf902288368a8b0aaea7a809cc88822a9ab --- firmware/App/Services/DDInterface.h (.../DDInterface.h) (revision 9c833ef5623ce842267e284d958820ac0dc3a7fc) +++ firmware/App/Services/DDInterface.h (.../DDInterface.h) (revision 8759adf902288368a8b0aaea7a809cc88822a9ab) @@ -57,7 +57,7 @@ BOOL setDialysateData( MESSAGE_T *message ); BOOL setDialysatePressure( MESSAGE_T *message ); -void cmdStartPreGenerateDialysate( F32 qd, F32 dialTemp, F32 acidConvFactor, F32 bicarbConvFactor, U32 sodium, U32 bicarbonate ); +void cmdStartPreGenerateDialysate( F32 qd, F32 dialTemp, F32 acidConvFactor, F32 bicarbConvFactor, U32 sodium, U32 bicarbonate, F32 ufVol ); void cmdStartGenerateDialysate( F32 qd, F32 quf, F32 dialTemp, BOOL bypass, F32 acidConvFactor, F32 bicarbConvFactor, U32 sodium, U32 bicarbonate ); void cmdChangeQd( F32 qd ); void cmdChangeQuf( F32 quf ); Index: firmware/App/Services/Messaging.h =================================================================== diff -u -r7a211da92e750bc5e306e897e956487a4303a36b -r8759adf902288368a8b0aaea7a809cc88822a9ab --- firmware/App/Services/Messaging.h (.../Messaging.h) (revision 7a211da92e750bc5e306e897e956487a4303a36b) +++ firmware/App/Services/Messaging.h (.../Messaging.h) (revision 8759adf902288368a8b0aaea7a809cc88822a9ab) @@ -51,14 +51,6 @@ } UI_OFF_BUTTON_RESPONSE_PAYLOAD_T; #pragma pack(pop) -/// Payload record structure for off button response. -typedef struct -{ - U32 id; - U32 command; - U32 reason; -} UI_OFF_BUTTON_PAYLOAD_T; - /// Payload record structure for UI response. typedef struct {