Index: firmware/App/Services/TxParams.c =================================================================== diff -u -rf37218b76c088f6143ad4ad89081ce8a9eaa991b -rb564503baa3723268fce41b8efdd091105aac423 --- firmware/App/Services/TxParams.c (.../TxParams.c) (revision f37218b76c088f6143ad4ad89081ce8a9eaa991b) +++ firmware/App/Services/TxParams.c (.../TxParams.c) (revision b564503baa3723268fce41b8efdd091105aac423) @@ -202,7 +202,6 @@ static void extractTreatmentParamsFromPayload( TREATMENT_PARAMS_DATA_RESPONSE_PAYLOAD_T payload ); //static void checkPressureParamsRange( TREATMENT_PARAMS_DATA_RESPONSE_PAYLOAD_T* txParams ); static void sendTreatmentParamsResponse( BOOL rejected, U32 *reasons ); -static BOOL isVitalsMeasurementIntervalValid( U32 value ); static BOOL isPressureLimitValueValid( U32 value, U32 minValue, U32 maxValue ); static BOOL isArterialPressureLimitWindowValid( U32 value ); static BOOL isVenousPressureLimitWindowValid( U32 value ); @@ -213,6 +212,7 @@ static BOOL isSystolicBpHighAlarmLimitValid( U32 value ); static BOOL isHeartRateLowAlarmLimitValid( U32 value ); static BOOL isHeartRateHighAlarmLimitValid( U32 value ); +static BOOL isVitalsMeasurementIntervalValid( U32 value ); //static void getInstitutionalRecordEdgeValue( TREATMENT_PARAM_T param, CRITICAL_DATAS_T* value, BOOL isMin ); @@ -1657,19 +1657,9 @@ { BOOL result = FALSE; BOOL accepted = FALSE; - VITALS_ADJUSTMENT_REQUEST_PAYLOAD_T request; VITALS_ADJUSTMENT_RESPONSE_PAYLOAD_T response; - memset( &request, 0, sizeof( request ) ); - memset( &response, 0, sizeof( response ) ); - - response.systolicBpLowAlarmLimitRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; - response.systolicBpHighAlarmLimitRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; - response.heartRateLowAlarmLimitRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; - response.heartRateHighAlarmLimitRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; - response.vitalsMeasurementIntervalRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; - if ( message->hdr.payloadLen == sizeof( VITALS_ADJUSTMENT_REQUEST_PAYLOAD_T ) ) { memcpy( &request, &message->payload[ 0 ], sizeof( VITALS_ADJUSTMENT_REQUEST_PAYLOAD_T ) ); @@ -1720,6 +1710,14 @@ setTreatmentParameterU32( TREATMENT_PARAM_BP_MEAS_INTERVAL, request.vitalsMeasurementInterval_min ); } } + else + { + response.systolicBpLowAlarmLimitRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; + response.systolicBpHighAlarmLimitRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; + response.heartRateLowAlarmLimitRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; + response.heartRateHighAlarmLimitRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; + response.vitalsMeasurementIntervalRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; + } response.accepted = accepted; @@ -1741,7 +1739,11 @@ *************************************************************************/ static BOOL isVitalsAlarmLimitValueValid( U32 value, U32 minValue, U32 maxValue ) { - return ( ( value >= minValue ) && ( value <= maxValue ) ); + BOOL limitValid; + + limitValid = ( ( value >= minValue ) && ( value <= maxValue ) ) ? TRUE : FALSE; + + return limitValid; } /*********************************************************************//** @@ -1841,7 +1843,10 @@ { BOOL intervalValid; - intervalValid = ( value <= 60U ); + intervalValid = isVitalsAlarmLimitValueValid( + value, + getU32TreatmentParamLowerRangeLimit( TREATMENT_PARAM_BP_MEAS_INTERVAL ), + getU32TreatmentParamUpperRangeLimit( TREATMENT_PARAM_BP_MEAS_INTERVAL ) ); return intervalValid; }