Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r9c78cf309521ec566ada9d2f1cd76c9a9668bf78 -rf1d684e536e7911b356a5d35320c909a1016d3d0 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 9c78cf309521ec566ada9d2f1cd76c9a9668bf78) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision f1d684e536e7911b356a5d35320c909a1016d3d0) @@ -8,7 +8,7 @@ * @file SystemCommMessages.c * * @author (last) Sean Nash -* @date (last) 28-Mar-2023 +* @date (last) 04-May-2023 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -1535,12 +1535,20 @@ BOOL result; MESSAGE_T msg; DG_START_STOP_TX_CMD_REQUEST_T cmd; + cmd.acidType = 0; + cmd.bicarbType = 0; cmd.start = start; + if ( TRUE == start ) + { + cmd.acidType = getTreatmentParameterU32( TREATMENT_PARAM_ACID_CONCENTRATE ); + cmd.bicarbType = getTreatmentParameterU32( TREATMENT_PARAM_BICARB_CONCENTRATE ); + } + // Create a message record blankMessage( &msg ); - msg.hdr.msgID = MSG_ID_STARTING_STOPPING_TREATMENT_CMD_REQUEST; + msg.hdr.msgID = MSG_ID_STARTING_STOPPING_TREATMENT_CMD_REQUEST; msg.hdr.payloadLen = sizeof( DG_START_STOP_TX_CMD_REQUEST_T ); memcpy( &msg.payload, &cmd, sizeof( DG_START_STOP_TX_CMD_REQUEST_T ) ); @@ -2654,7 +2662,6 @@ memcpy( &uFVolumeMl, message->payload, sizeof(F32) ); result = validateAndSetUFVolume( uFVolumeMl ); - setUserSetUFVolumeStatus( result ); } sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_HD_2_UI, result ); @@ -4813,7 +4820,7 @@ U32 valve; memcpy( &valve, message->payload, sizeof(U32) ); - homeValve( (VALVE_T)valve ); + homeValve( (VALVE_T)valve, VALVE_FORCE_HOME, VALVE_NO_CARTRIDGE_PRESENT ); result = TRUE; } @@ -7032,6 +7039,7 @@ void handleTestCurrentTreamtmentParametersRequest( MESSAGE_T *message ) { BOOL result = FALSE; + // verify payload length if ( 0 == message->hdr.payloadLen ) { @@ -8019,6 +8027,7 @@ // Verify payload length if ( ( 0 == message->hdr.payloadLen ) && ( TRUE == isTestingActivated() ) ) { + result = TRUE; signalDialInPumpHardStop(); } @@ -8042,6 +8051,7 @@ // Verify payload length if ( ( 0 == message->hdr.payloadLen ) && ( TRUE == isTestingActivated() ) ) { + result = TRUE; signalDialOutPumpHardStop(); } @@ -8065,11 +8075,39 @@ // Verify payload length if ( ( 0 == message->hdr.payloadLen ) && ( TRUE == isTestingActivated() ) ) { + result = TRUE; signalBloodPumpHardStop(); } // Respond to request sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } +/*********************************************************************//** + * @brief + * The handleEnableVenousBubbleAlarmDetectionRequest function handles a + * request to enable/disable venous bubble alarm detection. + * @details Inputs: none + * @details Outputs: message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +void handleEnableVenousBubbleAlarmDetectionRequest( MESSAGE_T *message ) +{ + BOOL result = FALSE; + + // Verify payload length + if ( sizeof( BOOL ) == message->hdr.payloadLen ) + { + BOOL enabled; + + memcpy( &enabled, message->payload, sizeof( BOOL ) ); + result = TRUE; + setVenousBubbleDetectionEnabled( enabled ); + } + + // Respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + /**@}*/