Index: firmware/App/Modes/ModeTxParams.c =================================================================== diff -u -r50f4b79164155c1bc375dd3ff0e8588f934dc729 -r395522dffef1348e176564925656012f529c1910 --- firmware/App/Modes/ModeTxParams.c (.../ModeTxParams.c) (revision 50f4b79164155c1bc375dd3ff0e8588f934dc729) +++ firmware/App/Modes/ModeTxParams.c (.../ModeTxParams.c) (revision 395522dffef1348e176564925656012f529c1910) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2025-2025 Diality Inc. - All Rights Reserved. +* Copyright (c) 2025-2026 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file ModeTxParams.c * -* @author (last) Sean -* @date (last) 18-Mar-2025 +* @author (last) Dara Navaei +* @date (last) 25-Sep-2025 * -* @author (original) Sean -* @date (original) 18-Mar-2025 +* @author (original) Sean Nash +* @date (original) 21-Apr-2025 * ***************************************************************************/ @@ -499,6 +499,9 @@ TREATMENT_PARAMS_DATA_PAYLOAD_T params; U32 rejReasons[ NUM_OF_TREATMENT_PARAMS ]; + // Initialize reject reasons to zeroes + memset( (U08*)&rejReasons[0], 0, sizeof( U32 ) * NUM_OF_TREATMENT_PARAMS ); + // Verify message payload length is valid if ( sizeof( TREATMENT_PARAMS_DATA_PAYLOAD_T ) == message->hdr.payloadLen ) { @@ -523,27 +526,27 @@ paramsAreInvalid = FALSE; validTreatParamsReceived = TRUE; } - } - // Respond to set treatment parameters request message - sendTreatmentParamsResponse( paramsAreInvalid, &rejReasons[0] ); - // Send initial adjustable ranges to UI so UF volume range will be known when UF volume prompted for later - if ( TRUE == validTreatParamsReceived ) - { - U32 setTxDuration = stagedParams[ TREATMENT_PARAM_TREATMENT_DURATION ].uInt; - TREATMENT_PARAM_RANGE_BROADCAST_PAYLOAD_T payload; + // Respond to set treatment parameters request message + sendTreatmentParamsResponse( paramsAreInvalid, &rejReasons[0] ); + // Send initial adjustable ranges to UI so UF volume range will be known when UF volume prompted for later + if ( TRUE == validTreatParamsReceived ) + { + U32 setTxDuration = stagedParams[ TREATMENT_PARAM_TREATMENT_DURATION ].uInt; + TREATMENT_PARAM_RANGE_BROADCAST_PAYLOAD_T payload; - payload.minTreatmentTime = treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ].minimum.uInt; - payload.maxTreatmentTime = treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ].maximum.uInt; - payload.minUFVolume = 0.0F; - payload.maxUFVolume = MIN( (F32)setTxDuration * MAX_UF_RATE_ML_MIN, (F32)MAX_UF_VOLUME_ML ); - payload.minDialRate = treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ].minimum.uInt; - payload.maxDialRate = treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ].maximum.uInt; - sendMessage( MSG_ID_TD_TREATMENT_PARAM_RANGES, COMM_BUFFER_OUT_CAN_TD_2_UI, (U08*)(&payload), sizeof( TREATMENT_PARAM_RANGE_BROADCAST_PAYLOAD_T ) ); + payload.minTreatmentTime = treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ].minimum.uInt; + payload.maxTreatmentTime = treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ].maximum.uInt; + payload.minUFVolume = 0.0F; + payload.maxUFVolume = MIN( (F32)setTxDuration * MAX_UF_RATE_ML_MIN, (F32)MAX_UF_VOLUME_ML ); + payload.minDialRate = treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ].minimum.uInt; + payload.maxDialRate = treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ].maximum.uInt; + sendMessage( MSG_ID_TD_TREATMENT_PARAM_RANGES, COMM_BUFFER_OUT_CAN_TD_2_UI, (U08*)(&payload), sizeof( TREATMENT_PARAM_RANGE_BROADCAST_PAYLOAD_T ) ); + } + + result = ( TRUE == paramsAreInvalid ? FALSE : TRUE ); } - result = ( TRUE == paramsAreInvalid ? FALSE : TRUE ); - return result; } @@ -860,8 +863,7 @@ setPressureLimitsToOuterBounds(); // Go to pre-treatment mode -// requestNewOperationMode( MODE_PRET ); // TODO - restore when pre-tx mode implemented - requestNewOperationMode( MODE_TREA ); + requestNewOperationMode( MODE_PRET ); treatParamsConfirmed = FALSE; } @@ -1324,7 +1326,7 @@ BOOL result = FALSE; // Verify payload length is valid - if ( message->hdr.payloadLen != sizeof( DIALIN_SET_TX_PARAM_PAYLOAD_T ) ) + if ( message->hdr.payloadLen == sizeof( DIALIN_SET_TX_PARAM_PAYLOAD_T ) ) { DIALIN_SET_TX_PARAM_PAYLOAD_T payload;