From 3a302fae04fa3e4b803f7307375345cab7266fbd Mon Sep 17 00:00:00 2001 From: Marco Locatelli Date: Mon, 14 Jun 2021 11:58:57 +0200 Subject: [PATCH] calcolo parabola resistenze 1.2.1 --- sampler/FTSampler.py | 14 ++++++++------ server/FTServer.py | 9 ++++++--- server/templates/about.html | 2 +- server/templates/settings.html | 15 +++++++++++---- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/sampler/FTSampler.py b/sampler/FTSampler.py index b607237..83dbe67 100644 --- a/sampler/FTSampler.py +++ b/sampler/FTSampler.py @@ -43,7 +43,6 @@ def getRmsVal(redisKey, numVal): # leggo lista da redis currList = redSrv0.lrange(redisKey, 0, numVal) numVal= len(currList) - # print (len(currList)) sumSquare=0 # per ogni elemento calcolo quadrato for curVal in range(0,numVal,+1): @@ -67,8 +66,10 @@ redSrv0.set('SETTINGS:LOG:STATUS',0) redSrv0.set('SETTINGS:POWER:OFF',0) if redSrv0.get('SETTINGS:DECIMALS:COUNT') is None: redSrv0.set('SETTINGS:DECIMALS:COUNT',1) -if redSrv0.get('RTDATA:VALUE:KCONST') is None: - redSrv0.set('RTDATA:VALUE:KCONST', 1) +if redSrv0.get('RTDATA:VALUE:K1CONST') is None: + redSrv0.set('RTDATA:VALUE:K1CONST', 1) +if redSrv0.get('RTDATA:VALUE:K2CONST') is None: + redSrv0.set('RTDATA:VALUE:K2CONST', 1) if redSrv0.get('RTDATA:VALUE:OFFSET') is None: redSrv0.set('RTDATA:VALUE:OFFSET', 0) if redSrv0.get('SETTINGS:POWER:UPTIME') is None: @@ -203,13 +204,14 @@ def calculateValue(): ch2 = getRedisVal('SETTINGS:CHANNEL:B') v1 = getRedisVal('RTDATA:OUT:' + ch1) v2 = getRedisVal('RTDATA:OUT:' + ch2) - k = getRedisVal('RTDATA:VALUE:KCONST') + k1 = getRedisVal('RTDATA:VALUE:K1CONST') + k2 = getRedisVal('RTDATA:VALUE:K2CONST') offset = getRedisVal('RTDATA:VALUE:OFFSET') den = (float(v1)-float(v2)) if(den < 0.001): den = 0.001 - preOffset = float(k)*(float(v2)/float(den)) - newValue = float(preOffset)+float(offset) + XVal = (float(v2)/float(den)) + newValue = (float(k1)*float(XVal)*float(XVal))+(float(k2)*float(XVal))+float(offset) redSrv0.set('RTDATA:VALUE:REAL',round(newValue,decimalsCount)) strValIn = newValue # EWMA: RILEGGO DA REDIS vecchio valore diff --git a/server/FTServer.py b/server/FTServer.py index afa79dd..0e6819b 100644 --- a/server/FTServer.py +++ b/server/FTServer.py @@ -149,7 +149,8 @@ def api_channels_current(): #funzione api_channels_all: legge direttamente da redis, ritorna jsonify result = { 'numCh' : numCh, - 'CostanteK' : getRedisVal('RTDATA:VALUE:KCONST'), + 'CostanteK1' : getRedisVal('RTDATA:VALUE:K1CONST'), + 'CostanteK2' : getRedisVal('RTDATA:VALUE:K2CONST'), 'Offset' : getRedisVal('RTDATA:VALUE:OFFSET'), 'CalcUMeasure' : getRedisVal('RTDATA:VALUE:UMEASURE'), 'SmoothFact' : getRedisVal('SETTINGS:SMOOTHING:FACTOR'), @@ -430,8 +431,10 @@ def setDecimalsCount(): @flaskApp.route("/api/v1/kconst", methods=['POST']) def setKConst(): #scrive su redis la costante K - newKConst = request.form['KConst'] - redSrv0.set('RTDATA:VALUE:KCONST', newKConst) + newK1Const = request.form['K1Const'] + redSrv0.set('RTDATA:VALUE:K1CONST', newK1Const) + newK2Const = request.form['K2Const'] + redSrv0.set('RTDATA:VALUE:K2CONST', newK2Const) newOffset = request.form['Offset'] redSrv0.set('RTDATA:VALUE:OFFSET', newOffset) redSrv0.save() diff --git a/server/templates/about.html b/server/templates/about.html index b3b84ec..c35261b 100644 --- a/server/templates/about.html +++ b/server/templates/about.html @@ -29,7 +29,7 @@
Software di lettura e scrittura per canali analogici e digitali
- V 1.2.0 + V 1.2.1 diff --git a/server/templates/settings.html b/server/templates/settings.html index b87b92c..23d82a8 100644 --- a/server/templates/settings.html +++ b/server/templates/settings.html @@ -32,7 +32,8 @@ $("#MaxOut").val(result.MaxOut); $("#MinIn").val(result.MinIn); $("#MaxIn").val(result.MaxIn); - $("#KConst").val(result.CostanteK); + $("#K1Const").val(result.CostanteK1); + $("#K2Const").val(result.CostanteK2); $("#Offset").val(result.Offset); $("#CurrentFolder").html(result.CurrentWorkFolder); $("#UniMisura").val(result.UniMisura); @@ -350,15 +351,21 @@
- Valori per calcolo (k & offset) + Valori per calcolo risultante = k1*x^2 + k2*x + offset
- Costante k:   + Costante k1:  
- + +
+
+
+ Costante k2:   +
+