diff --git a/simulator/rdtemp/cli.ino b/simulator/rdtemp/cli.ino index cc3cf1e..fba2cbd 100644 --- a/simulator/rdtemp/cli.ino +++ b/simulator/rdtemp/cli.ino @@ -9,7 +9,25 @@ #define DEBUG 0 /* -------------------------------------------------- */ - +short validate_config(Global *param) +{ +short delta; + +if (param->magic != 0xfde9) { + prtln("bad magic"); + return 1; + } +if (param->delai < 100) { + prtln("delay too short"); + return 2; + } +delta = param->temp_maxi - param->temp_mini; +if (delta < 20) { + prt(delta); prtln(" bad delta"); + return 3; + } +return 0; +} /* -------------------------------------------------- */ char waitkey(char echo) { @@ -73,6 +91,7 @@ static void clihelp() prtln("s h N\tset hi temp"); prtln("d\tdisplay config"); prtln("r\tread config"); + prtln("v\tvalidate config"); prtln("w\twrite config"); prtln("T\ttest relay"); prtln("+/-\tcontrole frigo"); @@ -172,6 +191,7 @@ do { case 's': setvalue(line, ¶metres); break; case 'T': test_relais(5); break; + case 'v': validate_config(¶metres); break; case '+': controle_frigo(1); break; case '-': controle_frigo(0); break;