Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -rc9d231bd2a7d932eb74f7210707ef63b6bef022c -rc3a59cba8736f085050b6fa74532eb68452d21fc --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision c9d231bd2a7d932eb74f7210707ef63b6bef022c) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision c3a59cba8736f085050b6fa74532eb68452d21fc) @@ -473,33 +473,34 @@ { BOOL result = FALSE; - switch ( treatParamsProperties[ param ].dataType ) + if ( param < NUM_OF_TREATMENT_PARAMS ) { - case CRITICAL_DATA_TYPE_U32: + if ( CRITICAL_DATA_TYPE_U32 == treatParamsProperties[ param ].dataType ) + { if ( value.uInt >= treatParamsProperties[ param ].min.uInt && value.uInt <= treatParamsProperties[ param ].max.uInt ) { result = TRUE; } - break; - - case CRITICAL_DATA_TYPE_S32: + } + else if ( CRITICAL_DATA_TYPE_S32 == treatParamsProperties[ param ].dataType ) + { if ( value.sInt >= treatParamsProperties[ param ].min.sInt && value.sInt <= treatParamsProperties[ param ].max.sInt ) { result = TRUE; } - break; - - case CRITICAL_DATA_TYPE_F32: + } + else + { if ( value.sFlt >= treatParamsProperties[ param ].min.sFlt && value.sFlt <= treatParamsProperties[ param ].max.sFlt ) { result = TRUE; } - break; - - default: - // TODO - s/w fault - break; + } } + else + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_PARAM, (U32)param ) + } return result; } @@ -565,7 +566,7 @@ } else { - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_SET_U32_PARAM, (U32)param ) } } @@ -592,7 +593,7 @@ } else { - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_SET_S32_PARAM, (U32)param ) } } @@ -619,7 +620,7 @@ } else { - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_SET_F32_PARAM, (U32)param ) } } @@ -646,7 +647,7 @@ } else { - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_GET_U32_PARAM, (U32)param ) } return result; @@ -675,7 +676,7 @@ } else { - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_GET_S32_PARAM, (U32)param ) } return result; @@ -704,7 +705,7 @@ } else { - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_GET_F32_PARAM, (U32)param ) } return result; @@ -736,27 +737,21 @@ if ( TRUE == isTestingActivated() ) { // set parameter per its type - switch ( treatParamsProperties[ param ].dataType ) + if ( CRITICAL_DATA_TYPE_U32 == treatParamsProperties[ param ].dataType ) { - case CRITICAL_DATA_TYPE_U32: - setTreatmentParameterU32( param, value.uInt ); - result = TRUE; - break; - - case CRITICAL_DATA_TYPE_S32: - setTreatmentParameterS32( param, value.sInt ); - result = TRUE; - break; - - case CRITICAL_DATA_TYPE_F32: - setTreatmentParameterF32( param, value.sFlt ); - result = TRUE; - break; - - default: - // ok - do nothing - break; + setTreatmentParameterU32( param, value.uInt ); + result = TRUE; } + else if ( CRITICAL_DATA_TYPE_S32 == treatParamsProperties[ param ].dataType ) + { + setTreatmentParameterS32( param, value.sInt ); + result = TRUE; + } + else + { + setTreatmentParameterF32( param, value.sFlt ); + result = TRUE; + } } } Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r101bf85b0b425e919b01b4b7fabcbd15fd5bbde5 -rc3a59cba8736f085050b6fa74532eb68452d21fc --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 101bf85b0b425e919b01b4b7fabcbd15fd5bbde5) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision c3a59cba8736f085050b6fa74532eb68452d21fc) @@ -185,6 +185,13 @@ SW_FAULT_ID_UTIL_INVALID_WIN_COUNT, SW_FAULT_ID_UTIL_INVALID_WIN_MAX_COUNT, SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_STATE, + SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_PARAM, // 75 + SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_SET_U32_PARAM, + SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_SET_S32_PARAM, + SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_SET_F32_PARAM, + SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_GET_U32_PARAM, + SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_GET_S32_PARAM, // 80 + SW_FAULT_ID_MODE_TREATMENT_PARAMS_INVALID_GET_F32_PARAM, NUM_OF_SW_FAULT_IDS } SW_FAULT_ID_T;