diff --git a/radio/src/functions.cpp b/radio/src/functions.cpp index 33e8a0648..05869bf99 100644 --- a/radio/src/functions.cpp +++ b/radio/src/functions.cpp @@ -371,7 +371,7 @@ void evalFunctions() } #endif -#if 0 //defined(DANGEROUS_MODULE_FUNCTIONS) +#if defined(DANGEROUS_MODULE_FUNCTIONS) case FUNC_RANGECHECK: case FUNC_BIND: case FUNC_MODULE_OFF: @@ -568,6 +568,22 @@ void evalFunctions() } else { functionsContext.lastFunctionTime[i] = 0; +#if defined(DANGEROUS_MODULE_FUNCTIONS) + if (functionsContext.activeSwitches & switch_mask)) { + switch (CFN_FUNC(cfn)) { + case FUNC_RANGECHECK: + case FUNC_BIND: + case FUNC_MODULE_OFF: + { + unsigned int moduleIndex = CFN_PARAM(cfn); + if (moduleIndex < NUM_MODULES) { + moduleFlag[moduleIndex] = 0; + } + break; + } + } + } +#endif } } }