some fixes

This commit is contained in:
gemu2015 2021-07-02 17:29:35 +02:00
parent 2cb3410f6c
commit 0552bf8261
1 changed files with 23 additions and 1 deletions

View File

@ -164,7 +164,10 @@ void Script_ticker4_end(void) {
#endif
#endif
#if defined(USE_SML_M) && defined (USE_SML_SCRIPT_CMD)
extern uint8_t sml_json_enable;
extern uint8_t dvalid[SML_MAX_VARS];
#endif
#if defined(EEP_SCRIPT_SIZE) && !defined(ESP32)
@ -784,6 +787,9 @@ char *script;
if (imemptr) free(imemptr);
return -4;
}
memset(script_mem, 0, script_mem_size);
glob_script_mem.script_mem = script_mem;
glob_script_mem.script_mem_size = script_mem_size;
@ -1749,6 +1755,7 @@ chknext:
len = 0;
goto exit;
}
#endif
if (!strncmp(vname, "abs(", 4)) {
lp=GetNumericArgument(lp + 4, OPER_EQU, &fvar, gv);
fvar = fabs(fvar);
@ -1756,7 +1763,7 @@ chknext:
len = 0;
goto exit;
}
#endif
if (!strncmp(vname, "asc(", 4)) {
char str[SCRIPT_MAXSSIZE];
lp = GetStringArgument(lp + 4, OPER_EQU, str, gv);
@ -3152,6 +3159,21 @@ chknext:
len = 0;
goto exit;
}
if (!strncmp(vname, "smlv[", 5)) {
lp = GetNumericArgument(lp + 5, OPER_EQU, &fvar, gv);
if (!fvar) {
for (uint8_t cnt = 0; cnt < SML_MAX_VARS; cnt++) {
dvalid[cnt] = 0;
}
fvar = 0;
} else {
if (fvar < 1) fvar = 1;
fvar = dvalid[(uint32_t)fvar - 1];
}
lp++;
len = 0;
goto exit;
}
#endif //USE_SML_M
break;
case 't':