Merge branch 'temp_branch' into develop

This commit is contained in:
marco.locatelli@steamware.net
2023-06-27 13:11:35 +02:00
3 changed files with 23 additions and 18 deletions
+20 -15
View File
@@ -185,7 +185,7 @@ def calculateValue():
k1 = getRedisVal('RTDATA:VALUE:K1CONST')
k2 = getRedisVal('RTDATA:VALUE:K2CONST')
offset = getRedisVal('RTDATA:VALUE:OFFSET')
eFact = getRedisVal('RTDATA:SMOOTHING:EFACT')
eFact = int(getRedisVal('SETTINGS:SMOOTHING:EFACT'))
# check val min di 1 x denom EWMA...
if(eFact < 1):
eFact = 1
@@ -201,17 +201,22 @@ def calculateValue():
strValInRaw = XVal
# EWMAx RAW RILEGGO DA REDIS vecchio valore
oldValRaw = float(redSrv0.get('RTDATA:VALUE:SMRAW'))
if(oldValRaw == 0):
oldValRaw = 0.01
#if(oldValRaw == 0):
# oldValRaw = 0.001
# se variazione < 50% smooth, altrimenti usa il valore nuovo
if((abs(XVal - oldValRaw) / oldValRaw) < 0.5):
# effettuo smoothing valore
strValInRaw = (XVal/eFact) + (oldValRaw * (eFact-1) / eFact)
#if((abs(XVal - oldValRaw) / oldValRaw) < 0.9):
# # effettuo smoothing valore
strValInRaw = (XVal/eFact) + (oldValRaw * (eFact-1) / eFact)
redSrv0.set('RTDATA:VALUE:SMRAW',round(strValInRaw,decimalsCount))
# applicazione correzioni (costanti k1*x^2, k2*x e offset)
newValue = (float(k1)*float(XVal)*float(XVal))+(float(k2)*float(XVal))+float(offset)
redSrv0.set('RTDATA:VALUE:REAL',round(newValue,decimalsCount))
# correzione fattore di scala K2 su cifre significative
corrDecCount = decimalsCount - int(round(math.log(float(k2),10),0))
if (corrDecCount < 0):
corrDecCount = 0
#redSrv0.set('RTDATA:VALUE:REAL',round(newValue,decimalsCount))
redSrv0.set('RTDATA:VALUE:REAL',round(newValue,corrDecCount))
#if(newValue > 0):
# redSrv0.set('RTDATA:VALUE:REAL',round(newValue,decimalsCount))
#else:
@@ -222,12 +227,12 @@ def calculateValue():
strValIn = newValue
# EWMA: RILEGGO DA REDIS vecchio valore
oldVal = float(redSrv0.get('RTDATA:VALUE:SMOOTHED'))
if(oldVal == 0):
oldVal = 0.01
# se variazione < 50% smooth, altrimenti usa il valore nuovo
if((abs(newValue - oldVal) / oldVal) < 0.5):
# effettuo smoothing valore
strValIn = (newValue/eFact) + (oldVal * (eFact-1) / eFact)
#if(oldVal == 0):
# oldVal = 0.001 * float(k2)
## se variazione < 50% smooth, altrimenti usa il valore nuovo
#if((abs(newValue - oldVal) / oldVal) < 0.9):
# # effettuo smoothing valore
strValIn = (newValue/eFact) + (oldVal * (eFact-1) / eFact)
redSrv0.set('RTDATA:VALUE:SMOOTHED',round(strValIn,decimalsCount))
# init array
@@ -272,8 +277,8 @@ try:
# calcolo il delta time dovuto alle esecuzioni
delta = endExec - now
# attesa viene fatta sempre
waitTime = (int(sampleFreq)*smoothFact)/1000 - delta.microseconds/1000000
if(waitTime < 0.0):
waitTime = delta.microseconds/1000000 - (int(sampleFreq)*smoothFact)/1000
if(waitTime > 1000.0):
redSrv0.set('SETTINGS:WARNING:EXETIME',1)
else:
redSrv0.set('SETTINGS:WARNING:EXETIME',0)
+1 -1
View File
@@ -420,7 +420,7 @@ def setSmoothFact():
return redirect("/settings")
@flaskApp.route("/api/v1/eFact", methods=['POST'])
def setSmoothFact():
def setEFact():
eFactor = request.form['EFact']
redSrv0.set('SETTINGS:SMOOTHING:EFACT', eFactor)
redSrv0.save()
+2 -2
View File
@@ -25,9 +25,9 @@
<h4>FTLogger</h4>
</div>
<div class="card-body">
Egalware 2022
Egalware 2023
<br>
Ver 1.6.2
Ver 1.8.1
</div>
</div>
</main>