From 6486cc5d4e82186ab45fa7b8bbed983c72ebd7eb Mon Sep 17 00:00:00 2001 From: Marco Locatelli Date: Thu, 10 Jun 2021 11:36:07 +0200 Subject: [PATCH] wait time prima della prima scrittura --- logger/FTLogger.py | 10 +++++++++- sampler/FTDInOut.py | 3 +++ sampler/FTSampler.py | 2 +- server/FTServer.py | 1 + 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/logger/FTLogger.py b/logger/FTLogger.py index 7ca9249..69334c6 100644 --- a/logger/FTLogger.py +++ b/logger/FTLogger.py @@ -27,6 +27,10 @@ def getRedisVal(redisKey): #assegno directory per file di data output DATA_path = "/home/pi/data/" +#assegno waiter prima di scrivere (2 secondi) +redSrv0.set('SETTINGS:LOG:WAITER',0) +timeBeforeWrite = 2 + #intervallo in millisecondi fra una scrittura su file e la successiva startingWriteFreq = 1000 redWriteFreq = 'SETTINGS:WRITE:FREQ' @@ -88,6 +92,10 @@ while(1): now = datetime.datetime.now() # solo se su redis LOG รจ 1 eseguo il ciclo principale if(getRedisVal('SETTINGS:LOG:STATUS') == "1"): + #attendo 2 secondi all'avvio della registrazione + if(getRedisVal('SETTINGS:LOG:WAITER') == "0"): + time.sleep(timeBeforeWrite) + redSrv0.set('SETTINGS:LOG:WAITER', 1) fileSave() # riporto ultima esecuzione ad adesso endExec = datetime.datetime.now() @@ -96,5 +104,5 @@ while(1): waitTime = int(redSrv0.get(redWriteFreq)) / 1000 - delta.microseconds/1000000 if(waitTime < 0.1): waitTime = 0.1 - # attesa + # attesa fra una scrittura e successiva time.sleep(waitTime) \ No newline at end of file diff --git a/sampler/FTDInOut.py b/sampler/FTDInOut.py index 7cb6dde..27d293f 100644 --- a/sampler/FTDInOut.py +++ b/sampler/FTDInOut.py @@ -71,6 +71,7 @@ while (1): if stop.is_pressed: #basically la stessa funzione stop_log contenuta in FTServer redSrv0.set('SETTINGS:LOG:STATUS', 0) + redSrv0.set('SETTINGS:LOG:WAITER', 0) redSrv0.set('RTDATA:SESSION:NAME', "") if cancello.is_pressed: @@ -81,6 +82,7 @@ while (1): # CANCELLO APERTO redSrv0.set('RTDATA:GATE_OPEN', 1) redSrv0.set('SETTINGS:LOG:STATUS', 0) + redSrv0.set('SETTINGS:LOG:WAITER', 0) redSrv0.set('RTDATA:SESSION:NAME', "") if(getRedisVal('SETTINGS:LOG:STATUS') == "1"): @@ -90,6 +92,7 @@ while (1): if(getRedisVal('SETTINGS:POWER:OFF') == "1"): redSrv0.set('SETTINGS:POWER:OFF',0) + redSrv0.set('SETTINGS:LOG:WAITER', 0) FTL.FTLog.Write(" FTDInOut requested shutdown") os.system("sudo shutdown -h now") diff --git a/sampler/FTSampler.py b/sampler/FTSampler.py index 3ae421e..2a2fa35 100644 --- a/sampler/FTSampler.py +++ b/sampler/FTSampler.py @@ -263,5 +263,5 @@ except KeyboardInterrupt: #eccezione da errore e chiusura except Exception as errorMessage: - FTL.FTLog.Write(str(errorMessage)) + FTL.FTLog.Write(str(" FTSampler stopped: " + errorMessage)) exit() \ No newline at end of file diff --git a/server/FTServer.py b/server/FTServer.py index d83dc93..54e3b39 100644 --- a/server/FTServer.py +++ b/server/FTServer.py @@ -245,6 +245,7 @@ def start_log(): def stop_log(): #funzione stop_log: scrive su redis LOG:STATUS -> 0 redSrv0.set('SETTINGS:LOG:STATUS', 0) + redSrv0.set('SETTINGS:LOG:WAITER', 0) redSrv0.set('RTDATA:SESSION:NAME', "") led.off() return "OK"