Monitor für das Tasterprogramm

Dependents:   19_Taster_BSW_oo 19_Taster_a

Fork of monitor by Temp27

Revision:
7:f5bfddb84d63
Parent:
6:e5f5e56ffc50
Child:
8:99a94e782c8a
--- a/monitor.cpp	Mon Aug 18 13:44:18 2014 +0000
+++ b/monitor.cpp	Sun Sep 07 12:08:09 2014 +0000
@@ -15,15 +15,16 @@
 extern ConfigFile cfg;                  // definiert in main
 extern char value[BUFSIZ];              // definiert in main
 extern float soll_wert;                 // definiert in main
+extern float korr_wert;                 // definiert in main
 extern bool t_flag;                     // definiert in main
 extern bool f_flag;                     // definiert in main
 extern int drops;                       // definiert in main
 extern int tropfperiode;                // definiert in main
 
-#define COMMAND_MAX    14
+#define COMMAND_MAX    15
 #define COMMAND_LEN    7
 
-const char command[COMMAND_MAX][COMMAND_LEN] = {"CYCLE","DATE","DEL","DIR","DROPS","DUMP","FILL","GO","HELP","LIST","SET","SOLL","STOPP","TIME"};
+const char command[COMMAND_MAX][COMMAND_LEN] = {"CYCLE","DATE","DEL","DIR","DROPS","DUMP","FILL","GO","HELP","KORR","LIST","SET","SOLL","STOPP","TIME"};
 
 char buffer[100]; 
 
@@ -149,11 +150,12 @@
           case  6: fill();          break;
           case  7: go();            break;
           case  8: help();          break;
-          case  9: list();          break;
-          case 10: set();           break;
-          case 11: soll();          break;
-          case 12: stop();          break;
-          case 13: time();          break;
+          case  9: korr();          break;
+          case 10: list();          break;
+          case 11: set();           break;
+          case 12: soll();          break;
+          case 13: stop();          break;
+          case 14: time();          break;
         }                                   
   }
 }
@@ -257,6 +259,7 @@
   pc.printf("\n stop [?,f,F,t,Tl] deaktivieren der Heizung oder der Tropfen");
   pc.printf("\n set index [val] Sensor auswaehlen");
   pc.printf("\n soll[val] Sollwertvorgabe fuer den Temperaturfuehler");
+  pc.printf("\n korr[val] Korrekturwert fuer den Temperaturfuehler");
   pc.printf("\n cycle [val] Zeiteinheit fuer die Messung der Tropfen");
   pc.printf("\n drops [val] Anzahl der Tropfen pro Zeiteinheit");
   pc.printf("\n");
@@ -342,6 +345,38 @@
 }
 
 //-----------------------------------------------------------------------------
+// monitor Aufruf korr
+// mit diesem Befehl wird der Sollwert für den Temperaturfühler vorgegeben
+
+void korr(void)
+{
+    
+    int n;
+    char wert[20];
+
+    n = sscanf(&com_line[ComLinePtr],"%s",wert);
+    
+    switch (n)
+    {
+      case -1:  pc.printf("\nKorrekturwert = %f",korr_wert);
+                break;
+        
+      case 1:   
+               
+                cfg.setValue("korr", wert);
+                cfg.write("/sd/input.cfg");
+                
+                korr_wert = atof(wert);
+                
+                pc.printf("\nneuer Korrekturwert = %f",korr_wert);
+                
+                break;
+                
+     } // end switch
+    pc.printf("\n");
+}
+
+//-----------------------------------------------------------------------------
 // monitor Aufruf cycle
 // mit diesem Befehl wird die Zeit in Sekunden vorgegeben, in der die Tropfenzahl
 // ausgewertet wird