From dfd0fd8ecc7895020ea840b85a578b7086e44c26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20Teichr=C3=B6b?= Date: Tue, 24 Jan 2023 11:36:01 +0100 Subject: [PATCH] Fixed daylight saving bug in fgm3d_adapter script --- tools/fgm3d_adapter.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tools/fgm3d_adapter.py b/tools/fgm3d_adapter.py index 598d392..b76f933 100644 --- a/tools/fgm3d_adapter.py +++ b/tools/fgm3d_adapter.py @@ -1,4 +1,5 @@ import serial +import time from datetime import datetime import socket @@ -15,16 +16,25 @@ s.sendall("declare_api_version 2\n".encode()) # FGM3D software virtual serial port ser = serial.Serial("COM11") +# check whether day time saving is current or not +if time.localtime().tm_isdst: + dst = 2 +else: + dst = 1 + line = b"" ready = False while True: line += ser.read() if line[-2:] == b"\r\n": new_line = line[:-2].decode('ascii') - delta = datetime.now().timestamp()*1000 - int(new_line.split(';')[0])+(2*60*60*1000) + + delta = datetime.now().timestamp()*1000 - int(new_line.split(';')[0])+(dst*60*60*1000) if delta < 500 and not ready: ready = True - print("Program ready!") + print("FGM3D adapter script ready!") + elif not ready: + print("FGM3D adapter script not ready!") if ready: # Data is not valid otherwise # Only use the x y and z values