Index: firmware/App/Services/TxParams.c =================================================================== diff -u -r289696b3b5e15120cfecbe447ff45ef093959056 -r89e1f37a90aa7e9de39517db4e6abf6103c0ff00 --- firmware/App/Services/TxParams.c (.../TxParams.c) (revision 289696b3b5e15120cfecbe447ff45ef093959056) +++ firmware/App/Services/TxParams.c (.../TxParams.c) (revision 89e1f37a90aa7e9de39517db4e6abf6103c0ff00) @@ -496,16 +496,41 @@ // Range check treatment parameters up to (but not including) UF volume for ( param = TREATMENT_PARAM_FIRST_UINT; param < TREATMENT_PARAM_UF_VOLUME; param++ ) { - if ( FALSE == isTreatmentParamInRange( param, stagedParams[ param ] ) ) + reasons[ param ] = REQUEST_REJECT_REASON_NONE; + +#if 0 +// if ( FALSE == isTreatmentParamInRange( param, stagedParams[ param ] ) ) // TODO - restore when institutional settings implemented (and remove range checks below) +// { +// reasons[ param ] = REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE; +// result = FALSE; +// } +#else + if ( param <= TREATMENT_PARAM_LAST_UINT ) { - reasons[ param ] = REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE; - result = FALSE; + if ( stagedParams[ param ].uInt < TREAT_PARAMS_PROPERTIES[ param ].min.uInt ) + { + reasons[ param ] = REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE; + result = FALSE; + } } + else if ( param <= TREATMENT_PARAM_LAST_INT ) + { + if ( stagedParams[ param ].sInt < TREAT_PARAMS_PROPERTIES[ param ].min.sInt ) + { + reasons[ param ] = REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE; + result = FALSE; + } + } else { - reasons[ param ] = REQUEST_REJECT_REASON_NONE; + if ( stagedParams[ param ].sFlt < TREAT_PARAMS_PROPERTIES[ param ].min.sFlt ) + { + reasons[ param ] = REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE; + result = FALSE; + } } } +#endif return result; }