calcolo parabola resistenze 1.2.1

This commit is contained in:
Marco Locatelli
2021-06-14 11:58:57 +02:00
parent 6b02c181e2
commit 3a302fae04
4 changed files with 26 additions and 14 deletions
+8 -6
View File
@@ -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
+6 -3
View File
@@ -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()
+1 -1
View File
@@ -29,7 +29,7 @@
<br>
Software di lettura e scrittura per canali analogici e digitali
<br>
V 1.2.0
V 1.2.1
</div>
</div>
</main>
+11 -4
View File
@@ -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 @@
<div class="card my-2 col-12">
<div class="row card-header">
<i class="fas fa-table mr-1"></i>
<strong>Valori per calcolo (k & offset)</strong>
<strong>Valori per calcolo risultante = k1*x^2 + k2*x + offset</strong>
</div>
<div class="card-body row">
<form class="col-12" method="POST" action="/api/v1/kconst">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">Costante k: &nbsp;</span>
<span class="input-group-text">Costante k1: &nbsp;</span>
</div>
<input type="number" step="0.0000001" class="form-control" id="KConst" name="KConst"></input>
<input type="number" step="0.0000001" class="form-control" id="K1Const" name="K1Const"></input>
</div>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">Costante k2: &nbsp;</span>
</div>
<input type="number" step="0.0000001" class="form-control" id="K2Const" name="K2Const"></input>
</div>
<div class="input-group">
<div class="input-group-prepend">