Explorar o código

Update Rolling 20210118

jomjol %!s(int64=5) %!d(string=hai) anos
pai
achega
2530691347

+ 6 - 1
README.md

@@ -41,7 +41,12 @@ If you would like to support the developer with a cup of coffee you can do that
 
 
 
-##### Rolling - (2021-01-17)
+##### Rolling - (2021-01-18)
+
+* New Feature `ExtendedResolution` uses the after comma digit of the last analog counter to increase precision by one digit. 
+  This can only be activated in expert mode.
+
+2021-01-17
 
 * Disabling of digital counters implemented
 * Attention: do not disable digital and analog!

+ 34 - 3
code/components/jomjol_flowcontroll/ClassFlowAnalog.cpp

@@ -25,7 +25,7 @@ void ClassFlowAnalog::SetInitialParameter(void)
     previousElement = NULL;   
     SaveAllFiles = false; 
     disabled = false;
-
+    extendedResolution = false;
 }   
 
 ClassFlowAnalog::ClassFlowAnalog(std::vector<ClassFlow*>* lfc) : ClassFlowImage(lfc, TAG)
@@ -44,15 +44,40 @@ ClassFlowAnalog::ClassFlowAnalog(std::vector<ClassFlow*>* lfc) : ClassFlowImage(
 }
 
 
+int ClassFlowAnalog::AnzahlROIs()
+{
+    int zw = ROI.size();
+    if (extendedResolution)
+        zw++;
+    
+    return zw;
+} 
+
+
 string ClassFlowAnalog::getReadout()
 {
+    string result = "";    
+    if (ROI.size() == 0)
+        return result;
+
+
+    float zahl = ROI[ROI.size() - 1]->result;
+    int ergebnis_nachkomma = ((int) floor(zahl * 10)) % 10;
+
     int prev = -1;
-    string result = "";
-    for (int i = ROI.size() - 1; i >= 0; --i)
+
+    prev = ZeigerEval(ROI[ROI.size() - 1]->result, prev);
+    result = std::to_string(prev);
+
+    if (extendedResolution)
+        result = result + std::to_string(ergebnis_nachkomma);
+
+    for (int i = ROI.size() - 2; i >= 0; --i)
     {
         prev = ZeigerEval(ROI[i]->result, prev);
         result = std::to_string(prev) + result;
     }
+
     return result;
 }
 
@@ -143,6 +168,12 @@ bool ClassFlowAnalog::ReadParameter(FILE* pfile, string& aktparamgraph)
             if (toUpper(zerlegt[1]) == "TRUE")
                 SaveAllFiles = true;
         }
+
+        if ((toUpper(zerlegt[0]) == "EXTENDEDRESOLUTION") && (zerlegt.size() > 1))
+        {
+            if (toUpper(zerlegt[1]) == "TRUE")
+                extendedResolution = true;
+        }
     }
 
     for (int i = 0; i < ROI.size(); ++i)

+ 4 - 1
code/components/jomjol_flowcontroll/ClassFlowAnalog.h

@@ -21,11 +21,14 @@ protected:
     int ZeigerEval(float zahl, int ziffer_vorgaenger);
     bool SaveAllFiles;    
 
+
     ClassFlowAlignment* flowpostalignment;
 
 	void SetInitialParameter(void);        
 
 public:
+    bool extendedResolution;
+
     ClassFlowAnalog(std::vector<ClassFlow*>* lfc);
 
     bool ReadParameter(FILE* pfile, string& aktparamgraph);
@@ -38,7 +41,7 @@ public:
     bool doNeuralNetwork(string time); 
     bool doAlignAndCut(string time);
    	std::vector<HTMLInfo*> GetHTMLInfo();   
-    int AnzahlROIs(){return ROI.size();}; 
+    int AnzahlROIs(); 
 
     string name(){return "ClassFlowAnalog";}; 
 };

+ 2 - 2
code/main/version.cpp

@@ -1,4 +1,4 @@
-const char* GIT_REV="9bb715f";
+const char* GIT_REV="c65de27";
 const char* GIT_TAG="";
 const char* GIT_BRANCH="rolling";
-const char* BUILD_TIME="2021-01-17 12:21";
+const char* BUILD_TIME="2021-01-18 20:57";

+ 2 - 2
code/version.cpp

@@ -1,4 +1,4 @@
-const char* GIT_REV="9bb715f";
+const char* GIT_REV="c65de27";
 const char* GIT_TAG="";
 const char* GIT_BRANCH="rolling";
-const char* BUILD_TIME="2021-01-17 12:21";
+const char* BUILD_TIME="2021-01-18 20:57";

BIN=BIN
firmware/bootloader.bin


BIN=BIN
firmware/firmware.bin


BIN=BIN
firmware/html.zip


+ 1 - 0
sd-card/config/config.ini

@@ -32,6 +32,7 @@ analog1 444 225 92 92
 analog2 391 329 92 92
 analog3 294 369 92 92
 analog4 168 326 92 92
+ExtendedResolution = false
 
 [PostProcessing]
 DecimalShift = 0

+ 1 - 0
sd-card/html/debug.log

@@ -1,2 +1,3 @@
 [1204/185120.033:ERROR:directory_reader_win.cc(43)] FindFirstFile: Das System kann den angegebenen Pfad nicht finden. (0x3)
 [0102/122131.430:ERROR:directory_reader_win.cc(43)] FindFirstFile: Das System kann den angegebenen Pfad nicht finden. (0x3)
+[0118/210038.095:ERROR:directory_reader_win.cc(43)] FindFirstFile: Das System kann den angegebenen Pfad nicht finden. (0x3)

+ 26 - 2
sd-card/html/edit_config_param.html

@@ -194,7 +194,7 @@ textarea {
 				<input type="text" id="Digits_Model_value1">
 			</td>
 			<td style="font-size: 80%;">
-				path to CNN model file for image recognition (in seconds)
+				path to CNN model file for image recognition
 			</td>
 		</tr>
 		<tr>
@@ -248,7 +248,7 @@ textarea {
 			<td width="20px"  style="padding-left: 40px;"> </td>
 			<td width="200px"> <class id="Analog_Model_text" style="color:black;">Model</class> </td>
 			<td> <input type="text" id="Analog_Model_value1"> </td>
-			<td style="font-size: 80%;"> path to CNN model file for image recognition (in seconds) </td>
+			<td style="font-size: 80%;"> path to CNN model file for image recognition</td>
 		</tr>
 		<tr>
 			<td width="20px"  style="padding-left: 40px;">
@@ -266,6 +266,28 @@ textarea {
 			<td> <input type="number" id="Analog_LogfileRetentionInDays_value1" min="0" step="1"> </td>
 			<td style="font-size: 80%;"> Time to keep the separated digit images (in days -"0" = forever) </td>
 		</tr>
+
+		<tr class="expert"  id="Analog_ExtendedResolution_ex10">
+			<td width="20px"  style="padding-left: 40px;">
+				<input type="checkbox" id="Analog_ExtendedResolution_enabled" value="1"  onclick = 'document.getElementById("Analog_ExtendedResolution_value1").disabled = !document.getElementById("Analog_ExtendedResolution_value1").disabled' unchecked >
+			</td>
+			<td  width="200px">
+				<class id="Analog_ExtendedResolution_text" style="color:black;">ExtendedResolution</class>
+			</td>
+			<td>
+				<select id="Analog_ExtendedResolution_value1">
+					<option value="0" selected>true</option>
+					<option value="1" >false</option>
+				</select>
+			</td>
+			<td style="font-size: 80%;">
+				Enable to use the after point resolution for the last analog counter
+			</td>
+		</tr>
+
+
+		ExtendedResolution
+
 		<tr class="expert"  id="ex10">
 			<td width="20px"  style="padding-left: 40px;"> </td>
 			<td> <class id="Analog_ModelInputSize_text" style="color:black;">ModelInputSize</class> </td>
@@ -759,6 +781,7 @@ function UpdateInput() {
 	WriteParameter(param, category, "Analog", "Model", false);		
 	WriteParameter(param, category, "Analog", "LogImageLocation", true);		
 	WriteParameter(param, category, "Analog", "LogfileRetentionInDays", true);		
+	WriteParameter(param, category, "Analog", "ExtendedResolution", true, true);		
 	WriteParameter(param, category, "Analog", "ModelInputSize", false, false, 2);		
 	
 	WriteParameter(param, category, "PostProcessing", "DecimalShift", true);		
@@ -811,6 +834,7 @@ function ReadParameterAll()
 	ReadParameter(param, "Analog", "Model", false);		
 	ReadParameter(param, "Analog", "LogImageLocation", true);		
 	ReadParameter(param, "Analog", "LogfileRetentionInDays", true);		
+	ReadParameter(param, "Analog", "ExtendedResolution", true, true);		
 	ReadParameter(param, "Analog", "ModelInputSize", false, false, 2);
 
 	ReadParameter(param, "PostProcessing", "DecimalShift", true);		

+ 1 - 0
sd-card/html/readconfigparam.js

@@ -54,6 +54,7 @@ function ParseConfig() {
      ParamAddValue(param, catname, "LogImageLocation");
      ParamAddValue(param, catname, "LogfileRetentionInDays");
      ParamAddValue(param, catname, "ModelInputSize", 2);
+     ParamAddValue(param, catname, "ExtendedResolution");
 
      var catname = "PostProcessing";
      category[catname] = new Object();