Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r5652568f680408e60fe5fb84eee926e8804c07d7 -rd2f699d284b62815b594331e58af7d058f6cdea2 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 5652568f680408e60fe5fb84eee926e8804c07d7) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d2f699d284b62815b594331e58af7d058f6cdea2) @@ -996,11 +996,11 @@ if ( message->hdr.payloadLen == sizeof( U32 ) ) { - DG_VALVE_SETTING_ID_T valveSettingID; + U32 valveSettingID; result = TRUE; memcpy( &valveSettingID, message->payload, sizeof( U32 ) ); - changeValveSettingCmd( valveSettingID ); + changeValveSettingCmd( (DG_VALVE_SETTING_ID_T)valveSettingID ); } sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, result ); @@ -1083,18 +1083,20 @@ { BOOL result = FALSE; - if ( message->hdr.payloadLen == sizeof( BOOL ) ) + if ( message->hdr.payloadLen == sizeof( DG_START_STOP_TX_CMD_REQUEST_T ) ) { - BOOL startingTreatment; + DG_START_STOP_TX_CMD_REQUEST_T startingTreatment; DG_OP_MODE_T dgMode = getCurrentOperationMode(); - memcpy( &startingTreatment, message->payload, sizeof( BOOL ) ); + memcpy( &startingTreatment, message->payload, sizeof( DG_START_STOP_TX_CMD_REQUEST_T ) ); - if ( ( DG_MODE_STAN == dgMode ) && ( TRUE == startingTreatment ) ) + if ( ( DG_MODE_STAN == dgMode ) && ( TRUE == startingTreatment.start ) ) { + // If the command is start DG, set the acid and bicarb types to be used, otherwise in the stop command it does not matter + setAcidAndBicarbType( startingTreatment.acidType, startingTreatment.bicarbType ); result = requestDGStart(); } - else if ( ( dgMode >= DG_MODE_GENE ) && ( dgMode <= DG_MODE_DRAI ) && ( FALSE == startingTreatment ) ) + else if ( ( dgMode >= DG_MODE_GENE ) && ( dgMode <= DG_MODE_DRAI ) && ( FALSE == startingTreatment.start ) ) { result = requestDGStop(); }