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 @@