Index: firmware/App/Controllers/ConductivitySensors.c =================================================================== diff -u -rb0f90032367640dd22ddfbe0307a20cb6e931ceb -r96dd3e3d17fdfd5b70870bfc15d12a147f4900ee --- firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision b0f90032367640dd22ddfbe0307a20cb6e931ceb) +++ firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 96dd3e3d17fdfd5b70870bfc15d12a147f4900ee) @@ -309,7 +309,7 @@ if ( FALSE == isROOnlyModeEnabled() ) { isConductTooLow = ( conductivity < MAX_COND_SENSOR_CPI_WARNING_LOW_US_PER_CM ? TRUE : FALSE ); - isConductTooHigh = ( conductivity > MAX_COND_SENSOR_CPI_WARNING_LOW_US_PER_CM ? TRUE : FALSE ); + isConductTooHigh = ( conductivity > MAX_COND_SENSOR_CPI_WARNING_HIGH_US_PER_CM ? TRUE : FALSE ); } else { Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -rc230be1bd4296324bf5dfc288c212eb7c2ce5d2d -r96dd3e3d17fdfd5b70870bfc15d12a147f4900ee --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision c230be1bd4296324bf5dfc288c212eb7c2ce5d2d) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 96dd3e3d17fdfd5b70870bfc15d12a147f4900ee) @@ -77,7 +77,7 @@ /// Initial conversion factor from target flow rate to PWM duty cycle estimate. #define ROP_FLOW_TO_PWM_DC(flow) ( ROP_FLOW_TO_PWM_SLOPE * flow + ROP_FLOW_TO_PWM_INTERCEPT ) #define MAX_ALLOWED_FLOW_DEVIATION 0.1F ///< Max allowed deviation from target flow. -#define FLOW_OUT_OF_RANGE_TIME_OUT_MS ( 30 * MS_PER_SECOND ) ///< Flow out of range time out in counts. // TODO - changed to prevent alarms (initial value 12) +#define FLOW_OUT_OF_RANGE_TIME_OUT_MS ( 12 * MS_PER_SECOND ) ///< Flow out of range time out in counts. // TODO - changed to prevent alarms (initial value 12) #define MAX_PRESSURE_TARGET_TOLERANCE 5 ///< Pressure tolerance from maximum set pressure by user in psi. #define MAX_ALLOWED_PRESSURE_PSI 130 ///< Maximum allowed pressure that the RO pump can go to. #define MIN_ALLOWED_PRESSURE_PSI 10 ///< Minimum allowed pressure that the RO pump can go to. Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -rb0f90032367640dd22ddfbe0307a20cb6e931ceb -r96dd3e3d17fdfd5b70870bfc15d12a147f4900ee --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision b0f90032367640dd22ddfbe0307a20cb6e931ceb) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 96dd3e3d17fdfd5b70870bfc15d12a147f4900ee) @@ -167,10 +167,7 @@ * @brief * The initFillMode function initializes the fill mode module. * @details Inputs: none - * @details Outputs: fillState, dialysateFillStartTime, reservoirBaseWeight, - * totalROFlowRateMLPM, concentrateTestStartTime, acidConductivityTotal, - * bicarbConductivityTotal, conductivitySampleCount, havePauseActuatorsBeenSet - * concentratePumpPrimeCount, hasROOnlyModeBeenEnabled + * @details Outputs: fill mode variables initialized. * @return none *************************************************************************/ void initFillMode( void ) @@ -454,11 +451,12 @@ * only mode has been enabled. * @details Inputs: none * @details Outputs: hasROOnlyModeBeenEnabled + * @param enableROOnlyMode TRUE if the RO only mode is requested otherwise, FALSE * @return none *************************************************************************/ -void enableROOnlyMode( void ) +void setROMode( BOOL enableROOnlyMode ) { - hasROOnlyModeBeenEnabled = TRUE; + hasROOnlyModeBeenEnabled = enableROOnlyMode; } /*********************************************************************//** @@ -876,7 +874,7 @@ // Fault alarm per PRS 483 SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DG_OUTLET_PRIMARY_CONDUCTIVITY_OUT_OF_RANGE, avgCPo, MAX_CPO_CONDUCTIVITY_ALLOW ); } - if ( ( avgRR > MAX_RO_REJECTION_RATIO_ALLOW ) && ( FALSE == isROOnlyModeEnabled() ) ) + if ( ( avgRR > MAX_RO_REJECTION_RATIO_ALLOW ) && ( isROOnlyModeEnabled() != TRUE ) ) { // Fault alarm per PRS 483 SET_ALARM_WITH_2_F32_DATA( ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE, avgRR, MAX_RO_REJECTION_RATIO_ALLOW ); Index: firmware/App/Modes/ModeFill.h =================================================================== diff -u -rb0f90032367640dd22ddfbe0307a20cb6e931ceb -r96dd3e3d17fdfd5b70870bfc15d12a147f4900ee --- firmware/App/Modes/ModeFill.h (.../ModeFill.h) (revision b0f90032367640dd22ddfbe0307a20cb6e931ceb) +++ firmware/App/Modes/ModeFill.h (.../ModeFill.h) (revision 96dd3e3d17fdfd5b70870bfc15d12a147f4900ee) @@ -72,7 +72,7 @@ F32 getChemicalUsedVolumeML( CHEMICAL_BOTTLES_T bottle ); void resetChemicalUsedVolumeML( CHEMICAL_BOTTLES_T bottle ); -void enableROOnlyMode( void ); +void setROMode( BOOL enableROOnlyMode ); BOOL isROOnlyModeEnabled( void ); BOOL testSetUsedAcidVolumeMLOverride( F32 value ); Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -rb0f90032367640dd22ddfbe0307a20cb6e931ceb -r96dd3e3d17fdfd5b70870bfc15d12a147f4900ee --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision b0f90032367640dd22ddfbe0307a20cb6e931ceb) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 96dd3e3d17fdfd5b70870bfc15d12a147f4900ee) @@ -921,7 +921,7 @@ handleReceiveChemFlushSampleResultsFromHD( message ); break; - case MSG_ID_DG_SET_RO_ONLY_MODE: + case MSG_ID_UI_SET_DG_RO_MODE: handleSetROOnlyMode( message ); break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rb0f90032367640dd22ddfbe0307a20cb6e931ceb -r96dd3e3d17fdfd5b70870bfc15d12a147f4900ee --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision b0f90032367640dd22ddfbe0307a20cb6e931ceb) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 96dd3e3d17fdfd5b70870bfc15d12a147f4900ee) @@ -1733,25 +1733,23 @@ if ( message->hdr.payloadLen == sizeof(U32) ) { - U32 result; + BOOL result; rejReason = REQUEST_REJECT_REASON_NONE; - memcpy( &result, message->payload, sizeof(U32) ); + memcpy( &result, message->payload, sizeof(BOOL) ); - if ( ( 0 == result ) || ( 1 == result ) ) + if ( ( FALSE == result ) || ( TRUE == result ) ) { switch ( getCurrentOperationMode() ) { case DG_MODE_FAUL: case DG_MODE_SERV: case DG_MODE_INIT: case DG_MODE_STAN: - if ( TRUE == (BOOL)result ) - { - enableROOnlyMode(); - accepted = TRUE; - } + case DG_MODE_SOLO: + setROMode( result ); + accepted = TRUE; break; default: @@ -1766,7 +1764,7 @@ } sendUIResponseMsg( MSG_ID_DG_RO_ONLY_MODE_STATUS_RESPONSE, accepted, rejReason ); - sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_UI, ACK_REQUIRED ); + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_UI, ACK_NOT_REQUIRED ); } /*********************************************************************//**