From f3985457a7bab835a23a1048a667f172a77a4022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Vescera?= Date: Sun, 14 May 2023 19:01:29 +0200 Subject: [PATCH 1/7] fix(serialdata): Stabilizzato Codice Individuato codice vecchio che gestisce la comunicazione seriale (quello funzionante). Risolto un piccolo problema che faceva crashare il programma. Creato un script di test per vedere se, con il simulatore Arduino, il codice funziona. --- GRIFFIN/serialdata/PRE-MERGE/DataFrame.py | 76 +++++- GRIFFIN/serialdata/PRE-MERGE/FileHandler.py | 180 +++++++++----- GRIFFIN/serialdata/PRE-MERGE/FormatData.py | 232 ++++++++++++------ .../serialdata/PRE-MERGE/OldFileHandler.py | 41 +++- GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py | 77 +++--- GRIFFIN/serialdata/PRE-MERGE/test.py | 23 ++ 6 files changed, 438 insertions(+), 191 deletions(-) create mode 100644 GRIFFIN/serialdata/PRE-MERGE/test.py diff --git a/GRIFFIN/serialdata/PRE-MERGE/DataFrame.py b/GRIFFIN/serialdata/PRE-MERGE/DataFrame.py index a916543..6d16ee4 100644 --- a/GRIFFIN/serialdata/PRE-MERGE/DataFrame.py +++ b/GRIFFIN/serialdata/PRE-MERGE/DataFrame.py @@ -1,6 +1,6 @@ class DataFrame: - __doc__='''Documentation for DataFrame.py instance functions: + __doc__ = '''Documentation for DataFrame.py instance functions: -getEngineFrame(): returns the dictionary with engine sensors values @@ -38,14 +38,64 @@ class DataFrame: Since all the data structures are dictionaries, to see the list of keys, call the keys() function on the dictionary''' def __init__(self): - #DEFINITION OF DICTIONARIES' FIELDS - self.__engineFrame = {"rpm": 0, "tps": 0.0, "t_h20": 0, "t_air": 0, "t_oil": 0, "vbb": 0.0, "lambda1_avg": 0.0, "lambda1_raw": 0.0, "k_lambda1": 0.0, "inj_low": 0.0, "inj_high": 0.0, "gear": 0} - self.__GPSFrame = {"hour": 0, "minutes": 0, "seconds": 0, "micro_seconds": 0.0, "n_s": "", "e_w": "", "fixQuality": 0, "n_sats": 0, "hdop": 0.0, "latitude": 0.0, "longitude": 0.0, "velGPS": 0.0} - self.__wheelSensorsFrame = {"countFSx": 0, "countFDx": 0, "dtF": 0, "countRSx": 0, "countRDx": 0, "dtR": 0, "vel_fsx": 0.0, "vel_fdx": 0.0, "vel_rdx": 0.0, "vel_rsx": 0.0, "pot_fsx": 0.0, "pot_fdx": 0.0, "pot_rdx": 0.0, "pot_rsx": 0.0, "potRAccuracy": 0.0, "potFAccuracy": 0.0, "steeringEncoder": 0.0} - self.__gyroscopeFrame = {"gyro_x": 0.0, "gyro_y": 0.0, "gyro_z": 0.0, "accel_x": 0.0, "accel_y": 0.0, "accel_z": 0.0, } - - - #GETTING DICTIONARIES FUNCTIONS + # DEFINITION OF DICTIONARIES' FIELDS + self.__engineFrame = { + "rpm": 0, + "tps": 0.0, + "t_h20": 0, + "t_air": 0, + "t_oil": 0, + "vbb": 0.0, + "lambda1_avg": 0.0, + "lambda1_raw": 0.0, + "k_lambda1": 0.0, + "inj_low": 0.0, + "inj_high": 0.0, + "gear": 0 + } + self.__GPSFrame = { + "hour": 0, + "minutes": 0, + "seconds": 0, + "micro_seconds": 0.0, + "n_s": "", + "e_w": "", + "fixQuality": 0, + "n_sats": 0, + "hdop": 0.0, + "latitude": 0.0, + "longitude": 0.0, + "velGPS": 0.0 + } + self.__wheelSensorsFrame = { + "countFSx": 0, + "countFDx": 0, + "dtF": 0, + "countRSx": 0, + "countRDx": 0, + "dtR": 0, + "vel_fsx": 0.0, + "vel_fdx": 0.0, + "vel_rdx": 0.0, + "vel_rsx": 0.0, + "pot_fsx": 0.0, + "pot_fdx": 0.0, + "pot_rdx": 0.0, + "pot_rsx": 0.0, + "potRAccuracy": 0.0, + "potFAccuracy": 0.0, + "steeringEncoder": 0.0 + } + self.__gyroscopeFrame = { + "gyro_x": 0.0, + "gyro_y": 0.0, + "gyro_z": 0.0, + "accel_x": 0.0, + "accel_y": 0.0, + "accel_z": 0.0, + } + + # GETTING DICTIONARIES FUNCTIONS def getEngineFrame(self): return (self.__engineFrame) @@ -58,8 +108,7 @@ def getWheelSensorsFrame(self): def getGyroscopeFrame(self): return (self.__gyroscopeFrame) - - #SETTING DICTIONARIES FUNCTIONS + # SETTING DICTIONARIES FUNCTIONS def setEngineFrame(self, key, value): if key in self.__engineFrame.keys(): self.__engineFrame[key] = value @@ -74,7 +123,7 @@ def setGPSFrame(self, key, value): else: return False - def setWheelSensorsFrame(self, key, value): + def setWheelSensorsFrame(self, key, value): if key in self.__wheelSensorsFrame.keys(): self.__wheelSensorsFrame[key] = value return True @@ -87,3 +136,6 @@ def setGyroscopeFrame(self, key, value): return True else: return False + + def __repr__(self): + return f"engine: {self.__engineFrame} - gyro: {self.__gyroscopeFrame} - wheel: {self.__wheelSensorsFrame} - GPS: {self.__GPSFrame}" diff --git a/GRIFFIN/serialdata/PRE-MERGE/FileHandler.py b/GRIFFIN/serialdata/PRE-MERGE/FileHandler.py index 96fb7ff..30e1ee0 100644 --- a/GRIFFIN/serialdata/PRE-MERGE/FileHandler.py +++ b/GRIFFIN/serialdata/PRE-MERGE/FileHandler.py @@ -1,9 +1,11 @@ -import csv, time -from serialdata import DataFrame +import csv +import time +# from serialdata import DataFrame + class FileHandler: - __doc__='''Documentation for FormatData.py functions: + __doc__ = '''Documentation for FormatData.py functions: __init__(self, dataFrame): creates a fileHandler object to save data in a CSV file called "dd_mm_yyyy hh_mm__ss.csv" @@ -27,7 +29,7 @@ class FileHandler: Since we do not know which block is transmitting, a line full of 'ReadError' will be added to every file (100Hz, 10Hz, 4Hz) ''' -#Creates a FileHandler object to save data in a CSV file called "dd_mm_yyyy_hh_mm_ss.csv" + # Creates a FileHandler object to save data in a CSV file called "dd_mm_yyyy_hh_mm_ss.csv" def __init__(self, dataFrame): self.__dataFrame = dataFrame @@ -35,47 +37,98 @@ def __init__(self, dataFrame): self.__name100Hz = nome + "100Hz.csv" self.__name10Hz = nome + "10Hz.csv" self.__name4Hz = nome + "4Hz.csv" - - #Getting dictionaries from a dataFrame object + + # Getting dictionaries from a dataFrame object self.__engineFrame = self.__dataFrame.getEngineFrame() self.__wheelFrame = self.__dataFrame.getWheelSensorsFrame() self.__gyroscopeFrame = self.__dataFrame.getGyroscopeFrame() self.__GPSFrame = self.__dataFrame.getGPSFrame() - - #Dictionaries used to write data inside the .csv file (sorted by frequency) - self.__FrameValues100Hz = {'rpm': 0, 'tps': 0.0, 'accel_x': 0.0, 'accel_y': 0.0, 'accel_z': 0.0, 'gyro_x': 0.0, 'gyro_y': 0.0, 'gyro_z': 0.0, 'pot_fsx': 0.0, 'pot_fdx': 0.0, 'pot_FAccuracy': 0.0, 'pot_rsx': 0.0, 'pot_rdx': 0.0, 'pot_RAccuracy': 0.0,'steeringEncoder': 0.0, 'vel_fsx': 0.0, 'vel_fdx': 0.0, 'vel_rsx': 0.0, 'vel_rdx': 0.0, 'gear': 0} - self.__FrameValues10Hz = {'t_h20': 0, 't_air': 0, 't_oil': 0, 'vbb': 0.0, 'lambda1_avg': 0.0, 'lambda1_raw': 0.0, 'k_lambda1': 0.0, 'inj_low': 0.0, 'inj_high': 0.0} - self.__FrameValues4Hz = {'hour': 0, 'minutes': 0, 'seconds': 0, 'micro_seconds': 0.0, 'n_sats': 0, 'fixQuality': 0, 'e_w': "", 'n_s': "", 'hdop': 0.0, 'latitude': 0.0, 'longitude': 0.0, 'velGPS': 0.0} - - #LINES WRITTEN (USED TO KNOW THE FILE HAS TO BE CLOSED AND REOPENED) + + # Dictionaries used to write data inside the .csv file (sorted by frequency) + self.__FrameValues100Hz = { + 'rpm': 0, + 'tps': 0.0, + 'accel_x': 0.0, + 'accel_y': 0.0, + 'accel_z': 0.0, + 'gyro_x': 0.0, + 'gyro_y': 0.0, + 'gyro_z': 0.0, + 'pot_fsx': 0.0, + 'pot_fdx': 0.0, + 'pot_FAccuracy': 0.0, + 'pot_rsx': 0.0, + 'pot_rdx': 0.0, + 'pot_RAccuracy': 0.0, + 'steeringEncoder': 0.0, + 'vel_fsx': 0.0, + 'vel_fdx': 0.0, + 'vel_rsx': 0.0, + 'vel_rdx': 0.0, + 'gear': 0 + } + self.__FrameValues10Hz = { + 't_h20': 0, + 't_air': 0, + 't_oil': 0, + 'vbb': 0.0, + 'lambda1_avg': 0.0, + 'lambda1_raw': 0.0, + 'k_lambda1': 0.0, + 'inj_low': 0.0, + 'inj_high': 0.0 + } + self.__FrameValues4Hz = { + 'hour': 0, + 'minutes': 0, + 'seconds': 0, + 'micro_seconds': 0.0, + 'n_sats': 0, + 'fixQuality': 0, + 'e_w': "", + 'n_s': "", + 'hdop': 0.0, + 'latitude': 0.0, + 'longitude': 0.0, + 'velGPS': 0.0 + } + + # LINES WRITTEN (USED TO KNOW THE FILE HAS TO BE CLOSED AND REOPENED) self.__lineNumber100Hz = 0 self.__lineNumber10Hz = 0 self.__lineNumber4Hz = 0 - #CREATION OF THE dd_mm_yyyy_hh_mm_ss_100Hz.csv FILE + # CREATION OF THE dd_mm_yyyy_hh_mm_ss_100Hz.csv FILE self.__file100Hz = open(self.__name100Hz, 'w', newline='') - self.__writerFile100Hz = csv.writer(self.__file100Hz, delimiter=';', dialect='excel') + self.__writerFile100Hz = csv.writer(self.__file100Hz, + delimiter=';', + dialect='excel') self.__writerFile100Hz.writerow(list(self.__FrameValues100Hz.keys())) - - #CREATION OF THE dd_mm_yyyy_hh_mm_ss_10Hz.csv FILE + + # CREATION OF THE dd_mm_yyyy_hh_mm_ss_10Hz.csv FILE self.__file10Hz = open(self.__name10Hz, 'w', newline='') - self.__writerFile10Hz = csv.writer(self.__file10Hz, delimiter=';', dialect='excel') + self.__writerFile10Hz = csv.writer(self.__file10Hz, + delimiter=';', + dialect='excel') self.__writerFile10Hz.writerow(list(self.__FrameValues10Hz.keys())) - - #CREATION OF THE dd_mm_yyyy_hh_mm_ss_4Hz.csv FILE + + # CREATION OF THE dd_mm_yyyy_hh_mm_ss_4Hz.csv FILE self.__file4Hz = open(self.__name4Hz, 'w', newline='') - self.__writerFile4Hz = csv.writer(self.__file4Hz, delimiter=';', dialect='excel') + self.__writerFile4Hz = csv.writer(self.__file4Hz, + delimiter=';', + dialect='excel') self.__writerFile4Hz.writerow(list(self.__FrameValues4Hz.keys())) - -#Appends data to the file created before + +# Appends data to the file created before + def write100Hz(self): - #getting the updated dictionaries from the dataFrame object + # getting the updated dictionaries from the dataFrame object self.__engineFrame = self.__dataFrame.getEngineFrame() self.__wheelFrame = self.__dataFrame.getWheelSensorsFrame() self.__gyroscopeFrame = self.__dataFrame.getGyroscopeFrame() - #Updating the "writing" dictionary with new values (a loop isn't used because three different frames are needed) + # Updating the "writing" dictionary with new values (a loop isn't used because three different frames are needed) self.__FrameValues100Hz["rpm"] = self.__engineFrame["rpm"] self.__FrameValues100Hz["tps"] = self.__engineFrame["tps"] self.__FrameValues100Hz['accel_x'] = self.__gyroscopeFrame['accel_x'] @@ -86,74 +139,89 @@ def write100Hz(self): self.__FrameValues100Hz['gyro_z'] = self.__gyroscopeFrame['gyro_z'] self.__FrameValues100Hz['pot_fsx'] = self.__wheelFrame['pot_fsx'] self.__FrameValues100Hz['pot_fdx'] = self.__wheelFrame['pot_fdx'] - self.__FrameValues100Hz['potFAccuracy'] = self.__wheelFrame['potFAccuracy'] + self.__FrameValues100Hz['potFAccuracy'] = self.__wheelFrame[ + 'potFAccuracy'] self.__FrameValues100Hz['pot_rsx'] = self.__wheelFrame['pot_rsx'] self.__FrameValues100Hz['pot_rdx'] = self.__wheelFrame['pot_rdx'] - self.__FrameValues100Hz['potRAccuracy'] = self.__wheelFrame['potRAccuracy'] - self.__FrameValues100Hz['steeringEncoder'] = self.__wheelFrame['steeringEncoder'] + self.__FrameValues100Hz['potRAccuracy'] = self.__wheelFrame[ + 'potRAccuracy'] + self.__FrameValues100Hz['steeringEncoder'] = self.__wheelFrame[ + 'steeringEncoder'] self.__FrameValues100Hz['vel_fsx'] = self.__wheelFrame['vel_fsx'] self.__FrameValues100Hz['vel_fdx'] = self.__wheelFrame['vel_fdx'] self.__FrameValues100Hz['vel_rsx'] = self.__wheelFrame['vel_rsx'] self.__FrameValues100Hz['vel_rdx'] = self.__wheelFrame['vel_rdx'] - self.__FrameValues100Hz['gear'] = self.__wheelFrame['gear'] + # self.__FrameValues100Hz['gear'] = self.__wheelFrame['gear'] - #Writing the whole line in dd_mm_yyyy_hh_mm_ss_100Hz.csv file + # Writing the whole line in dd_mm_yyyy_hh_mm_ss_100Hz.csv file self.__writerFile100Hz.writerow(list(self.__FrameValues100Hz.values())) # CLOSES THE FILE EVERY 500 WRITINGS self.__lineNumber100Hz = (self.__lineNumber100Hz + 1) % 500 - if (self.__lineNumber100Hz==0): + if (self.__lineNumber100Hz == 0): self.__file100Hz.close() self.__file100Hz = open(self.__name100Hz, 'a', newline='') - self.__writerFile100Hz = csv.writer(self.__file100Hz, delimiter=';', dialect='excel') + self.__writerFile100Hz = csv.writer(self.__file100Hz, + delimiter=';', + dialect='excel') def write10Hz(self): - #getting the updated dictionariy from the dataFrame object (only engineFrame is needed) + # getting the updated dictionariy from the dataFrame object (only engineFrame is needed) self.__engineFrame = self.__dataFrame.getEngineFrame() - - #Updating the "writing" dictionary + + # Updating the "writing" dictionary for key in self.__FrameValues10Hz.keys(): self.__FrameValues10Hz[key] = self.__engineFrame[key] - #Writing the whole line in dd_mm_yyyy_hh_mm_ss_10Hz.csv + # Writing the whole line in dd_mm_yyyy_hh_mm_ss_10Hz.csv self.__writerFile10Hz.writerow(list(self.__FrameValues10Hz.values())) - + # CLOSES THE FILE EVERY 50 WRITINGS self.__lineNumber10Hz = (self.__lineNumber10Hz + 1) % 50 - if (self.__lineNumber10Hz==0): + if (self.__lineNumber10Hz == 0): self.__file10Hz.close() self.__file10Hz = open(self.__name10Hz, 'a', newline='') - self.__writerFile10Hz = csv.writer(self.__file10Hz, delimiter=';', dialect='excel') - + self.__writerFile10Hz = csv.writer(self.__file10Hz, + delimiter=';', + dialect='excel') + def write4Hz(self): - #getting the updated dictionariy from the dataFrame object (only GPSFrame is needed) + # getting the updated dictionariy from the dataFrame object (only GPSFrame is needed) self.__GPSFrame = self.__dataFrame.getGPSFrame() - - #Updating the "writing" dictionary + + # Updating the "writing" dictionary for key in self.__FrameValues4Hz.keys(): self.__FrameValues4Hz[key] = self.__GPSFrame[key] - #Writing the whole line in dd_mm_yyyy_hh_mm_ss_4Hz.csv + # Writing the whole line in dd_mm_yyyy_hh_mm_ss_4Hz.csv self.__writerFile4Hz.writerow(list(self.__FrameValues4Hz.values())) # CLOSES THE FILE EVERY 20 WRITINGS self.__lineNumber4Hz = (self.__lineNumber4Hz + 1) % 20 - if (self.__lineNumber4Hz==0): + if (self.__lineNumber4Hz == 0): self.__file4Hz.close() self.__file4Hz = open(self.__name4Hz, 'a', newline='') - self.__writerFile4Hz = csv.writer(self.__file4Hz, delimiter=';', dialect='excel') - - #if the headerIndex has been received writes "ReadError" in the whole line of the file. If not received, "ReadError" will be written in the last line of each file + self.__writerFile4Hz = csv.writer(self.__file4Hz, + delimiter=';', + dialect='excel') + + # if the headerIndex has been received writes "ReadError" in the whole line of the file. If not received, "ReadError" will be written in the last line of each file def writeReadError(self, *args): if len(args) > 0: if args[0] == 0x3F: - self.__writerFile100Hz.writerow(['ReadError'] * len(self.__FrameValues100Hz.keys())) + self.__writerFile100Hz.writerow( + ['ReadError'] * len(self.__FrameValues100Hz.keys())) elif args[0] == 0x0A: - self.__writerFile10Hz.writerow(['ReadError'] * len(self.__FrameValues10Hz.keys())) + self.__writerFile10Hz.writerow( + ['ReadError'] * len(self.__FrameValues10Hz.keys())) elif args[0] == 0x04: - self.__writerFile4Hz.writerow(['ReadError'] * len(self.__FrameValues4Hz.keys())) - - else: - self.__writerFile100Hz.writerow(['ReadError'] * len(self.__FrameValues100Hz.keys())) - self.__writerFile10Hz.writerow(['ReadError'] * len(self.__FrameValues10Hz.keys())) - self.__writerFile4Hz.writerow(['ReadError'] * len(self.__FrameValues4Hz.keys())) \ No newline at end of file + self.__writerFile4Hz.writerow( + ['ReadError'] * len(self.__FrameValues4Hz.keys())) + + else: + self.__writerFile100Hz.writerow( + ['ReadError'] * len(self.__FrameValues100Hz.keys())) + self.__writerFile10Hz.writerow(['ReadError'] * + len(self.__FrameValues10Hz.keys())) + self.__writerFile4Hz.writerow(['ReadError'] * + len(self.__FrameValues4Hz.keys())) diff --git a/GRIFFIN/serialdata/PRE-MERGE/FormatData.py b/GRIFFIN/serialdata/PRE-MERGE/FormatData.py index bc9be1d..88fd3f4 100644 --- a/GRIFFIN/serialdata/PRE-MERGE/FormatData.py +++ b/GRIFFIN/serialdata/PRE-MERGE/FormatData.py @@ -1,8 +1,9 @@ -from serialdata import FileHandler +# from serialdata import FileHandler + class FormatData: - __doc__='''Documentation for FormatData.py functions: + __doc__ = '''Documentation for FormatData.py functions: @classmethod formatData(encodedMessage): @@ -22,24 +23,35 @@ class FormatData: Once the update is completed, the function uses the fileHandler object to save data to .csv file ''' - + @classmethod def formatData(cls, encodedMessage): - if encodedMessage in [bytes([0x3F]) + b'ReadError', bytes([0x0A]) + b'ReadError', bytes([0x0A]) + b'ReadError']: + if encodedMessage in [ + bytes([0x3F]) + b'ReadError', + bytes([0x0A]) + b'ReadError', + bytes([0x0A]) + b'ReadError' + ]: return ['E', 'R', 'R', 'O', 'R', encodedMessage[0] & 0x3F] - - elif len(encodedMessage) % 4 != 1 or (encodedMessage == b'ReadError'): #We receive a number of bytes multiple of 4, plus the byte which gives us the headerIndex of the block received - return ['E', 'R', 'R', 'O', 'R'] #if it is False (it includes also the case of receiving 'ReadError') returns ['E', 'R', 'R', 'O', 'R'] to emphasize that an error has occured - + + elif len(encodedMessage) % 4 != 1 or ( + encodedMessage == b'ReadError' + ): # We receive a number of bytes multiple of 4, plus the byte which gives us the headerIndex of the block received + return [ + 'E', 'R', 'R', 'O', 'R' + ] # if it is False (it includes also the case of receiving 'ReadError') returns ['E', 'R', 'R', 'O', 'R'] to emphasize that an error has occured + else: encodedMessage = list(encodedMessage) decodedMessage = [] - headerIndex=encodedMessage[0] & 0x3F + headerIndex = encodedMessage[0] & 0x3F decodedMessage.append(headerIndex) - for i in range(0, len(encodedMessage)//4): - firstByte = ((encodedMessage[4*i+1] & 0x3F)<<2 | (encodedMessage[4*i+2] & 0x3F)>>4) & 0xFF - secondByte = ((encodedMessage[4*i+2] & 0x3F) << 4 | (encodedMessage[4*i+3] & 0x3F)>>2) & 0xFF - thirdByte = ((encodedMessage[4*i+3] & 0x3F) << 6 | (encodedMessage[4*i+4] & 0x3F)) & 0xFF + for i in range(0, len(encodedMessage) // 4): + firstByte = ((encodedMessage[4 * i + 1] & 0x3F) << 2 | + (encodedMessage[4 * i + 2] & 0x3F) >> 4) & 0xFF + secondByte = ((encodedMessage[4 * i + 2] & 0x3F) << 4 | + (encodedMessage[4 * i + 3] & 0x3F) >> 2) & 0xFF + thirdByte = ((encodedMessage[4 * i + 3] & 0x3F) << 6 | + (encodedMessage[4 * i + 4] & 0x3F)) & 0xFF decodedMessage.append(firstByte) decodedMessage.append(secondByte) decodedMessage.append(thirdByte) @@ -48,64 +60,120 @@ def formatData(cls, encodedMessage): @classmethod def setData(cls, dataFrame, encodedMessage, fileHandler): decodedMessage = FormatData.formatData(encodedMessage) - if (decodedMessage[0]==0x3F): - dataFrame.setEngineFrame("rpm", int(decodedMessage[1]) << 8 | int(decodedMessage[2])) - dataFrame.setEngineFrame("tps", (float(int(decodedMessage[3]) << 8 | int (decodedMessage[4]))) / 10) - - dataFrame.setGyroscopeFrame("accel_x", (float(int(decodedMessage[5]) << 8 | int (decodedMessage[6]))) / 8192) - dataFrame.setGyroscopeFrame("accel_y", (float(int(decodedMessage[7]) << 8 | int (decodedMessage[8]))) / 8192) - dataFrame.setGyroscopeFrame("accel_z", (float(int(decodedMessage[9]) << 8 | int (decodedMessage[10]))) / 8192) - - dataFrame.setGyroscopeFrame("gyro_x", (float(int(decodedMessage[11]) << 8 | int (decodedMessage[12]))) / 8192) - dataFrame.setGyroscopeFrame("gyro_y", (float(int(decodedMessage[13]) << 8 | int (decodedMessage[14]))) / 8192) - dataFrame.setGyroscopeFrame("gyro_z", (float(int(decodedMessage[15]) << 8 | int (decodedMessage[16]))) / 8192) - - #POTENTIOMETER'S OFFSET (THE NUMBER SUBTRACTED AT THE END OF THE LINE) MUST BE CALCULATED AT EVERY CAR'S TEST - dataFrame.setWheelSensorsFrame("pot_fsx", (int(decodedMessage[17]) | ((int(decodedMessage[19]&0x0F))<<8))-610) - dataFrame.setWheelSensorsFrame("pot_fdx", (int(decodedMessage[18]) | ((int(decodedMessage[19]&0xF0))<<4))-410) - dataFrame.setWheelSensorsFrame("potFAccuracy", int(decodedMessage[20])) - dataFrame.setWheelSensorsFrame("pot_rsx", (int(decodedMessage[21]) | ((int(decodedMessage[23]&0x0F))<<8))-300) - dataFrame.setWheelSensorsFrame("pot_rdx", (int(decodedMessage[22]) | ((int(decodedMessage[23]&0xF0))<<4))-310) - dataFrame.setWheelSensorsFrame("potRAccuracy", int(decodedMessage[24])) - - dataFrame.setWheelSensorsFrame("countFSx", (int(decodedMessage[27] & 0x0F) << 8) | int(decodedMessage[25])) - dataFrame.setWheelSensorsFrame("countFDx", (int(decodedMessage[27] & 0xF0) << 4) | int(decodedMessage[26])) - dataFrame.setWheelSensorsFrame("dtF", int(decodedMessage[28])) - - # dataFrame.setWheelSensorsFrame("vel_fsx", SPEED_VALUE) # NOT IN USE (PHONIC WHEEL'S SPECS NOT AVAILABLE) - # dataFrame.setWheelSensorsFrame("vel_fdx", SPEED_VALUE) # NOT IN USE (PHONIC WHEEL'S SPECS NOT AVAILABLE) - - dataFrame.setWheelSensorsFrame("countRSx", (int(decodedMessage[32] & 0x0F) << 8) | int(decodedMessage[30])) - dataFrame.setWheelSensorsFrame("countRDx", (int(decodedMessage[32] & 0xF0) << 4) | int(decodedMessage[31])) - dataFrame.setWheelSensorsFrame("dtR", int(decodedMessage[33])) - - # dataFrame.setWheelSensorsFrame("vel_rsx", SPEED_VALUE) # NOT IN USE (PHONIC WHEEL'S SPECS NOT AVAILABLE) - # dataFrame.setWheelSensorsFrame("vel_rdx", SPEED_VALUE) # NOT IN USE (PHONIC WHEEL'S SPECS NOT AVAILABLE) - - dataFrame.setEngineFrame("gear", int(decodedMessage[34])) - - fileHandler.write100Hz() - - elif (decodedMessage[0]==0x0A): - dataFrame.setEngineFrame("t_h20", int(decodedMessage[1]) -40) - dataFrame.setEngineFrame("t_air", int(decodedMessage[2]) -40) - dataFrame.setEngineFrame("t_oil", int(decodedMessage[3]) -40) - dataFrame.setEngineFrame("vbb", (float(int(decodedMessage[4])))*0.0705) - dataFrame.setEngineFrame("lambda1_avg", (float(int(decodedMessage[5])))/100) - dataFrame.setEngineFrame("lambda1_raw", (float(int(decodedMessage[6])))/100) - dataFrame.setEngineFrame("k_lambda1", (float(int(decodedMessage[7]) << 8 | int (decodedMessage[8])))/656) - dataFrame.setEngineFrame("inj_low", (float(int(decodedMessage[9]) << 8 | int (decodedMessage[10])))/2) - dataFrame.setEngineFrame("inj_high", (float(int(decodedMessage[11]) << 8 | int (decodedMessage[12])))/2) - + if (decodedMessage[0] == 0x3F): + dataFrame.setEngineFrame( + "rpm", + int(decodedMessage[1]) << 8 | int(decodedMessage[2])) + dataFrame.setEngineFrame( + "tps", + (float(int(decodedMessage[3]) << 8 | int(decodedMessage[4]))) / + 10) + + dataFrame.setGyroscopeFrame( + "accel_x", + (float(int(decodedMessage[5]) << 8 | int(decodedMessage[6]))) / + 8192) + dataFrame.setGyroscopeFrame( + "accel_y", + (float(int(decodedMessage[7]) << 8 | int(decodedMessage[8]))) / + 8192) + dataFrame.setGyroscopeFrame( + "accel_z", + (float(int(decodedMessage[9]) << 8 | int(decodedMessage[10]))) + / 8192) + + dataFrame.setGyroscopeFrame( + "gyro_x", + (float(int(decodedMessage[11]) << 8 | int(decodedMessage[12]))) + / 8192) + dataFrame.setGyroscopeFrame( + "gyro_y", + (float(int(decodedMessage[13]) << 8 | int(decodedMessage[14]))) + / 8192) + dataFrame.setGyroscopeFrame( + "gyro_z", + (float(int(decodedMessage[15]) << 8 | int(decodedMessage[16]))) + / 8192) + + # POTENTIOMETER'S OFFSET (THE NUMBER SUBTRACTED AT THE END OF THE LINE) MUST BE CALCULATED AT EVERY CAR'S TEST + dataFrame.setWheelSensorsFrame( + "pot_fsx", (int(decodedMessage[17]) | + ((int(decodedMessage[19] & 0x0F)) << 8)) - 610) + dataFrame.setWheelSensorsFrame( + "pot_fdx", (int(decodedMessage[18]) | + ((int(decodedMessage[19] & 0xF0)) << 4)) - 410) + dataFrame.setWheelSensorsFrame("potFAccuracy", + int(decodedMessage[20])) + dataFrame.setWheelSensorsFrame( + "pot_rsx", (int(decodedMessage[21]) | + ((int(decodedMessage[23] & 0x0F)) << 8)) - 300) + dataFrame.setWheelSensorsFrame( + "pot_rdx", (int(decodedMessage[22]) | + ((int(decodedMessage[23] & 0xF0)) << 4)) - 310) + dataFrame.setWheelSensorsFrame("potRAccuracy", + int(decodedMessage[24])) + + dataFrame.setWheelSensorsFrame( + "countFSx", (int(decodedMessage[27] & 0x0F) << 8) + | int(decodedMessage[25])) + dataFrame.setWheelSensorsFrame( + "countFDx", (int(decodedMessage[27] & 0xF0) << 4) + | int(decodedMessage[26])) + dataFrame.setWheelSensorsFrame("dtF", int(decodedMessage[28])) + + # dataFrame.setWheelSensorsFrame("vel_fsx", SPEED_VALUE) # NOT IN USE (PHONIC WHEEL'S SPECS NOT AVAILABLE) + # dataFrame.setWheelSensorsFrame("vel_fdx", SPEED_VALUE) # NOT IN USE (PHONIC WHEEL'S SPECS NOT AVAILABLE) + + dataFrame.setWheelSensorsFrame( + "countRSx", (int(decodedMessage[32] & 0x0F) << 8) + | int(decodedMessage[30])) + dataFrame.setWheelSensorsFrame( + "countRDx", (int(decodedMessage[32] & 0xF0) << 4) + | int(decodedMessage[31])) + dataFrame.setWheelSensorsFrame("dtR", int(decodedMessage[33])) + + # dataFrame.setWheelSensorsFrame("vel_rsx", SPEED_VALUE) # NOT IN USE (PHONIC WHEEL'S SPECS NOT AVAILABLE) + # dataFrame.setWheelSensorsFrame("vel_rdx", SPEED_VALUE) # NOT IN USE (PHONIC WHEEL'S SPECS NOT AVAILABLE) + + dataFrame.setEngineFrame("gear", int(decodedMessage[34])) + + fileHandler.write100Hz() + + elif (decodedMessage[0] == 0x0A): + dataFrame.setEngineFrame("t_h20", int(decodedMessage[1]) - 40) + dataFrame.setEngineFrame("t_air", int(decodedMessage[2]) - 40) + dataFrame.setEngineFrame("t_oil", int(decodedMessage[3]) - 40) + dataFrame.setEngineFrame("vbb", + (float(int(decodedMessage[4]))) * 0.0705) + dataFrame.setEngineFrame("lambda1_avg", + (float(int(decodedMessage[5]))) / 100) + dataFrame.setEngineFrame("lambda1_raw", + (float(int(decodedMessage[6]))) / 100) + dataFrame.setEngineFrame( + "k_lambda1", + (float(int(decodedMessage[7]) << 8 | int(decodedMessage[8]))) / + 656) + dataFrame.setEngineFrame( + "inj_low", + (float(int(decodedMessage[9]) << 8 | int(decodedMessage[10]))) + / 2) + dataFrame.setEngineFrame( + "inj_high", + (float(int(decodedMessage[11]) << 8 | int(decodedMessage[12]))) + / 2) + fileHandler.write10Hz() - elif(decodedMessage[0]==0x04): + elif (decodedMessage[0] == 0x04): dataFrame.setGPSFrame("hour", int(decodedMessage[1])) dataFrame.setGPSFrame("minutes", int(decodedMessage[2])) dataFrame.setGPSFrame("seconds", int(decodedMessage[3])) - dataFrame.setGPSFrame("micro_seconds", (int(decodedMessage[4]) << 8) | (int(decodedMessage[5]))) + dataFrame.setGPSFrame("micro_seconds", + (int(decodedMessage[4]) << 8) | + (int(decodedMessage[5]))) dataFrame.setGPSFrame("n_sats", int(decodedMessage[6] & 0x0F)) - dataFrame.setGPSFrame("fixQuality", int((decodedMessage[6] & 0x30) >> 4)) + dataFrame.setGPSFrame("fixQuality", + int((decodedMessage[6] & 0x30) >> 4)) e_w = int((decodedMessage[6] >> 6) & 0x01) if (e_w == 1): dataFrame.setGPSFrame("e_w", "E") @@ -118,17 +186,33 @@ def setData(cls, dataFrame, encodedMessage, fileHandler): else: dataFrame.setGPSFrame("n_s", "S") - dataFrame.setGPSFrame("hdop", int(decodedMessage[7] << 8) | int(decodedMessage[8])) - dataFrame.setGPSFrame("latitude", ((int(decodedMessage[9]) << 8) | int(decodedMessage[10])) + ((float((int(decodedMessage[11]) << 24) | (int(decodedMessage[12]) << 16) | (int(decodedMessage[13]) << 8) | int(decodedMessage[14]))) / 100000)) - dataFrame.setGPSFrame("longitude", ((int(decodedMessage[15]) << 24) | (int(decodedMessage[16]) << 16) | (int(decodedMessage[17]) << 8) | int(decodedMessage[18])) + ((float((int(decodedMessage[19]) << 24) | (int(decodedMessage[20]) << 16) | (int(decodedMessage[21]) << 8) | int(decodedMessage[22]))) / 100000)) - dataFrame.setGPSFrame("velGPS", float(decodedMessage[23]) + ((float(decodedMessage[23])) / 10)) + dataFrame.setGPSFrame( + "hdop", + int(decodedMessage[7] << 8) | int(decodedMessage[8])) + dataFrame.setGPSFrame( + "latitude", + ((int(decodedMessage[9]) << 8) | int(decodedMessage[10])) + + ((float((int(decodedMessage[11]) << 24) | + (int(decodedMessage[12]) << 16) | + (int(decodedMessage[13]) << 8) + | int(decodedMessage[14]))) / 100000)) + dataFrame.setGPSFrame( + "longitude", + ((int(decodedMessage[15]) << 24) | + (int(decodedMessage[16]) << 16) | + (int(decodedMessage[17]) << 8) | int(decodedMessage[18])) + + ((float((int(decodedMessage[19]) << 24) | + (int(decodedMessage[20]) << 16) | + (int(decodedMessage[21]) << 8) + | int(decodedMessage[22]))) / 100000)) + dataFrame.setGPSFrame( + "velGPS", + float(decodedMessage[23]) + ((float(decodedMessage[23])) / 10)) - fileHandler.write4Hz() + fileHandler.write4Hz() - elif decodedMessage[0:5] == ['E', 'R', 'R', 'O', 'R'] : + elif decodedMessage[0:5] == ['E', 'R', 'R', 'O', 'R']: if len(decodedMessage) == 6: fileHandler.writeReadError(decodedMessage[5]) - else: + else: fileHandler.writeReadError() - - diff --git a/GRIFFIN/serialdata/PRE-MERGE/OldFileHandler.py b/GRIFFIN/serialdata/PRE-MERGE/OldFileHandler.py index ab16c52..8c12e7d 100644 --- a/GRIFFIN/serialdata/PRE-MERGE/OldFileHandler.py +++ b/GRIFFIN/serialdata/PRE-MERGE/OldFileHandler.py @@ -1,11 +1,11 @@ +import csv +import time +# from GUI.RealTime import DataFrame -import csv, time -from GUI.RealTime import DataFrame - class FileHandler: -#Creates a FileHandler object to save data in CSV file called "dd_mm_yyyy hh_mm__ss.csv" + # Creates a FileHandler object to save data in CSV file called "dd_mm_yyyy hh_mm__ss.csv" def __init__(self, dataFrame): self.__dataFrame = dataFrame @@ -13,9 +13,16 @@ def __init__(self, dataFrame): self.__name100Hz = nome + "100Hz.csv" self.__name10Hz = nome + "10Hz.csv" self.__name4Hz = nome + "4Hz.csv" - self.__fieldnames100Hz = ['rpm', 'tps', 'accel_x', 'accel_y', 'accel_z', 'gyro_x', 'gyro_y', 'gyro_z', 'pot_fsx', 'pot_fdx', 'pot_FAccuracy', 'pot_rsx', 'pot_rdx', 'pot_RAccuracy','steeringEncoder'] - self.__fieldnames10Hz = ['t_h20', 't_air', 't_oil', 'vbb', 'lambda1_avg', 'lambda1_raw', 'k_lambda1', 'inj_low', 'inj_high'] - self.__fieldnames4Hz = [''] #DA FARE + self.__fieldnames100Hz = [ + 'rpm', 'tps', 'accel_x', 'accel_y', 'accel_z', 'gyro_x', 'gyro_y', + 'gyro_z', 'pot_fsx', 'pot_fdx', 'pot_FAccuracy', 'pot_rsx', + 'pot_rdx', 'pot_RAccuracy', 'steeringEncoder' + ] + self.__fieldnames10Hz = [ + 't_h20', 't_air', 't_oil', 'vbb', 'lambda1_avg', 'lambda1_raw', + 'k_lambda1', 'inj_low', 'inj_high' + ] + self.__fieldnames4Hz = [''] # DA FARE with open(self.__name100Hz, 'w', newline='') as file100Hz: writer = csv.writer(file100Hz, delimiter=';', dialect='excel') writer.writerow(self.__fieldnames100Hz) @@ -26,7 +33,9 @@ def __init__(self, dataFrame): writer = csv.writer(file4Hz, delimiter=';', dialect='excel') writer.writerow(self.__fieldnames4Hz) -#Appends data to the file created before + +# Appends data to the file created before + def write100Hz(self): engineFrame100Hz = self.__dataFrame.getEngineFrame() wheelFrame100Hz = self.__dataFrame.getWheelSensorsFrame() @@ -46,15 +55,21 @@ def write100Hz(self): FrameValues100Hz.append(wheelFrame100Hz['potRAccuracy']) FrameValues100Hz.append(wheelFrame100Hz['steeringEncoder']) # gpsFrameValues = list(self.__dataFrame.getGPSFrame().values()) - # wheelSensorsFrameValues = list(self.__dataFrame.getWheelSensorsFrame().values()) + + # wheelSensorsFrameValues = list(self.__dataFrame.getWheelSensorsFrame().values()) + # gyroscopeFrameValues = list(self.__dataFrame.getGyroscopeFrame().values()) - with open (self.__name100Hz, 'a', newline='') as csvfile100Hz: + with open(self.__name100Hz, 'a', newline='') as csvfile100Hz: writer = csv.writer(csvfile100Hz, delimiter=';', dialect='excel') writer.writerow(FrameValues100Hz) - + def write10Hz(self): engineFrame10Hz = self.__dataFrame.getEngineFrame() - FrameValues10Hz = [engineFrame10Hz["t_h20"], engineFrame10Hz["t_air"], engineFrame10Hz["t_oil"], engineFrame10Hz["vbb"], engineFrame10Hz["lambda1_avg"], engineFrame10Hz["lambda1_raw"], engineFrame10Hz["k_lambda1"], engineFrame10Hz["inj_low"], engineFrame10Hz["inj_high"]] - with open (self.__name10Hz, 'a', newline='') as csvfile10Hz: + FrameValues10Hz = [ + engineFrame10Hz["t_h20"], engineFrame10Hz["t_air"], + engineFrame10Hz["t_oil"], engineFrame10Hz["vbb"], + engineFrame10Hz["lambda1_avg"], engineFrame10Hz["lambda1_raw"], + engineFrame10Hz["k_lambda1"], engineFrame10Hz["inj_low"], + engineFrame10Hz["inj_high"] + ] + with open(self.__name10Hz, 'a', newline='') as csvfile10Hz: writer = csv.writer(csvfile10Hz, delimiter=';', dialect='excel') writer.writerow(FrameValues10Hz) diff --git a/GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py b/GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py index 1f962ca..4abf9e5 100644 --- a/GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py +++ b/GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py @@ -1,9 +1,10 @@ import serial from time import sleep + class SerialHandler: - __doc__='''Documentation for SerialHandler.py functions: + __doc__ = '''Documentation for SerialHandler.py functions: -__init__(name, baudrate, **kwargs): -stopBit @@ -35,83 +36,88 @@ class SerialHandler: return a list that contains the available ports (WORKS ONLY WITH WINDOWS O.S.)''' def __init__(self, name, baudrate, **kwargs): - self.__portName=name - self.__baudRate=baudrate + self.__portName = name + self.__baudRate = baudrate if "stopBit" in kwargs.keys(): self.__stopBit = kwargs["stopBit"] else: - self.__stopBit=1 + self.__stopBit = 1 if "length" in kwargs.keys(): - self.__wordLength=kwargs["length"] + self.__wordLength = kwargs["length"] else: - self.__wordLength=8 - + self.__wordLength = 8 + if "parity" in kwargs.keys(): - self.__wordParity=kwargs["parity"] + self.__wordParity = kwargs["parity"] else: - self.__wordParity='N' + self.__wordParity = 'N' if "timeout" in kwargs.keys(): - self.__timeout=kwargs["timeout"] + self.__timeout = kwargs["timeout"] else: - self.__timeout=600/self.__baudRate - + self.__timeout = 600 / self.__baudRate + if "bytesToRead" in kwargs.keys(): - self.__bytesToRead=kwargs["bytesToRead"] + self.__bytesToRead = kwargs["bytesToRead"] else: - self.__bytesToRead=1 - - self.__serialInstance = serial.Serial(port=self.__portName, baudrate=self.__baudRate, bytesize=self.__wordLength, parity=self.__wordParity, stopbits=self.__stopBit, timeout=self.__timeout) + self.__bytesToRead = 1 + + self.__serialInstance = serial.Serial(port=self.__portName, + baudrate=self.__baudRate, + bytesize=self.__wordLength, + parity=self.__wordParity, + stopbits=self.__stopBit, + timeout=self.__timeout) self.__serialInstance.close() - + def readData(self, **kwargs): messageRead = bytes() if "size" in kwargs.keys(): bytesToRead = kwargs["size"] else: bytesToRead = self.__bytesToRead - + if "startChar" in kwargs.keys() and not "endChar" in kwargs.keys(): - attempt=0 + attempt = 0 startChar = kwargs["startChar"] while True: charReceived = self.__serialInstance.read(size=1) if charReceived == startChar: for i in range(0, bytesToRead): - messageRead+=(self.__serialInstance.read(1)) + messageRead += (self.__serialInstance.read(1)) break - elif attempt>=bytesToRead: - return b'ReadError' + elif attempt >= bytesToRead: + return b'ReadError' else: - attempt+=1 + attempt += 1 elif "startChar" in kwargs.keys() and "endChar" in kwargs.keys(): - attempt=0 + attempt = 0 startChar = kwargs["startChar"] while True: charReceived = self.__serialInstance.read(size=1) if charReceived == startChar: charReceived = self.__serialInstance.read(size=1) while charReceived != kwargs["endChar"]: - messageRead+=charReceived - charReceived=self.__serialInstance.read(size=1) - if charReceived==kwargs["endChar"]: + messageRead += charReceived + charReceived = self.__serialInstance.read(size=1) + if charReceived == kwargs["endChar"]: break - elif attempt>=200: + elif attempt >= 200: if len(messageRead) > 0: return messageRead[0] + b'ReadError' else: return b'ReadError' else: - attempt+=1 + attempt += 1 else: for i in range(0, bytesToRead): - messageRead+=(self.__serialInstance.read(1)) - + messageRead += (self.__serialInstance.read(1)) + return messageRead - + def writeData(self, **kwargs): if "byte" in kwargs.keys(): self.__serialInstance.write(kwargs["byte"]) @@ -129,9 +135,8 @@ def openPort(self): def closePort(self): self.__serialInstance.close() - - #TO-DO: scanCOMs works also for Linux O.S. - #Method to list ALL the Serial ports (ONLY FOR WINDOWS) + # TO-DO: scanCOMs works also for Linux O.S. + # Method to list ALL the Serial ports (ONLY FOR WINDOWS) @classmethod def scanCOMs(cls): portList = [] @@ -143,4 +148,4 @@ def scanCOMs(cls): portList.append(portToCheck) except serial.SerialException: pass - return portList \ No newline at end of file + return portList diff --git a/GRIFFIN/serialdata/PRE-MERGE/test.py b/GRIFFIN/serialdata/PRE-MERGE/test.py new file mode 100644 index 0000000..bda8bc6 --- /dev/null +++ b/GRIFFIN/serialdata/PRE-MERGE/test.py @@ -0,0 +1,23 @@ +from DataFrame import DataFrame +from SerialHandler import SerialHandler +from FormatData import FormatData +from FileHandler import FileHandler +from time import sleep + +df = DataFrame() +fh = FileHandler(df) +sh = SerialHandler("/dev/ttyACM0", 115200) +sh.openPort() + +try: + while True: + data = sh.readData(startChar=b'\x02', endChar=b'\x03') + + FormatData.setData(df, data, fh) + print(df) + sleep(.01) + +except KeyboardInterrupt: + sh.closePort() + +print("FINE") From bf9d355dc43d41b8889ba836bdab04fe124de048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Vescera?= Date: Wed, 17 May 2023 09:43:42 +0200 Subject: [PATCH 2/7] feat: Riorganizzato progetto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Riorganizzata struttura del progetto. La cartella oldtmp contiene i vecchi file, rimarrà solo per poter controllare ancora qualche file e poi essere rimossa. Aggiunto codice per la base della GUI in python. --- .env | 1 - .gitignore | 28 +++ .project | 17 -- .pydevproject | 5 - GRIFFIN/.vscode/arduino.json | 5 - GRIFFIN/.vscode/c_cpp_properties.json | 17 -- GRIFFIN/.vscode/settings.json | 8 - LICENSE | 29 +++ README.md | 68 +++++- build-linux.spec | 34 +++ build-macos.py | 33 +++ build-windows.spec | 34 +++ index.spec | 47 ++++ .../Testa_dati_telemetria.ino | 0 .../Arduino}/mockSignal/mockSignal.ino | 0 .../Arduino}/randomNumber/randomNumber.ino | 0 .../Documentation}/map.pdf | Bin .../Documentation}/map.pub | Bin .../GRIFFIN}/Controller Loop.txt | 0 {GRIFFIN => oldtmp/GRIFFIN}/Readme.txt | 0 {GRIFFIN => oldtmp/GRIFFIN}/__init__.py | 0 {GRIFFIN => oldtmp/GRIFFIN}/griffin_qt.py | 0 .../GRIFFIN}/gui_connectiontab.py | 0 {GRIFFIN => oldtmp/GRIFFIN}/gui_griffin.py | 0 {GRIFFIN => oldtmp/GRIFFIN}/gui_logic.py | 0 .../GRIFFIN}/gui_textviewtab.py | 0 .../GRIFFIN}/interfaces/__init__.py | 0 {GRIFFIN => oldtmp/GRIFFIN}/pyserial.txt | 0 .../GRIFFIN}/python gli import e te.txt | 0 .../GRIFFIN}/res/griffin_base.ico | Bin .../GRIFFIN}/res/refresh_icon.gif | Bin {GRIFFIN => oldtmp/GRIFFIN}/res/serial.gif | Bin {GRIFFIN => oldtmp/GRIFFIN}/run_test.py | 0 .../GRIFFIN}/serialdata/Controller.py | 0 .../GRIFFIN}/serialdata/DataFrame.py | 0 .../GRIFFIN}/serialdata/FileHandler.py | 0 .../GRIFFIN}/serialdata/FormatData.py | 0 .../serialdata/PRE-MERGE/DataFrame.py | 0 .../serialdata/PRE-MERGE/FileHandler.py | 0 .../serialdata/PRE-MERGE/FormatData.py | 0 .../serialdata/PRE-MERGE/OldFileHandler.py | 0 .../serialdata/PRE-MERGE/SerialHandler.py | 0 .../GRIFFIN}/serialdata/PRE-MERGE/test.py | 0 .../GRIFFIN}/serialdata/SerialHandler.py | 0 .../GRIFFIN}/serialdata/__init__.py | 0 {GRIFFIN => oldtmp/GRIFFIN}/tkinter tips.txt | 0 {GRIFFIN => oldtmp/GRIFFIN}/todo.txt | 0 {GUI => oldtmp/GUI}/ErrorHandler.py | 0 {GUI => oldtmp/GUI}/Launcher/settings.py | 0 {GUI => oldtmp/GUI}/PostGara/TODO.py | 0 {GUI => oldtmp/GUI}/RealTime/DataFrame.py | 0 {GUI => oldtmp/GUI}/RealTime/FileHandler.py | 0 {GUI => oldtmp/GUI}/RealTime/FormatData.py | 0 .../GUI}/RealTime/OldFileHandler.py | 0 {GUI => oldtmp/GUI}/RealTime/README.txt | 0 {GUI => oldtmp/GUI}/RealTime/SerialHandler.py | 0 .../GUI}/RealTime/Utils/helperTools.py | 0 {GUI => oldtmp/GUI}/RealTime/testMain.py | 0 {GUI => oldtmp/GUI}/VirtualCockpit.py | 0 {GUI => oldtmp/GUI}/globalstuff.py | 0 {GUI => oldtmp/GUI}/tableview.py | 0 {Joe-Test => oldtmp/Joe-Test}/fh.py | 0 {Joe-Test => oldtmp/Joe-Test}/gui.py | 0 {Joe-Test => oldtmp/Joe-Test}/sh.py | 0 {Joe-Test => oldtmp/Joe-Test}/test_pipe.py | 0 Launcher.py => oldtmp/Launcher.py | 0 Pipfile => oldtmp/Pipfile | 0 Pipfile.lock => oldtmp/Pipfile.lock | 0 oldtmp/README.md | 2 + RealTimeMode.py => oldtmp/RealTimeMode.py | 0 installer.cfg => oldtmp/installer.cfg | 0 {res => oldtmp/res}/background.png | Bin {res => oldtmp/res}/icon.ico | Bin {res => oldtmp/res}/long_pointer.png | Bin {res => oldtmp/res}/postgara.gif | Bin {res => oldtmp/res}/refresh_icon.gif | Bin {res => oldtmp/res}/serial.gif | Bin {res => oldtmp/res}/short_pointer2.png | Bin {res => oldtmp/res}/textmodeicon.gif | Bin .../testLabelUpdate.py | 0 testWriter.txt => oldtmp/testWriter.txt | 0 package.json | 65 +++++ public/favicon.ico | Bin 0 -> 3870 bytes public/index.html | 49 ++++ public/logo192.png | Bin 0 -> 5347 bytes public/logo512.png | Bin 0 -> 9664 bytes public/manifest.json | 25 ++ public/robots.txt | 3 + requirements.txt | 4 + src/App.test.tsx | 9 + src/assets/logo.icns | Bin 0 -> 42363 bytes src/assets/logo.ico | Bin 0 -> 141365 bytes src/assets/logo.png | Bin 0 -> 46669 bytes .../open-sans-v17-latin_cyrillic-italic.woff | Bin 0 -> 23836 bytes .../open-sans-v17-latin_cyrillic-regular.woff | Bin 0 -> 24592 bytes ...-condensed-v18-latin_cyrillic-regular.woff | Bin 0 -> 28616 bytes src/components/Editor/Editor.sass | 20 ++ src/components/Editor/Editor.tsx | 21 ++ src/components/Header/Header.sass | 20 ++ src/components/Header/Header.tsx | 18 ++ src/components/Header/logo.png | Bin 0 -> 46669 bytes src/components/Ticker/Ticker.sass | 12 + src/components/Ticker/Ticker.tsx | 32 +++ src/index.jsx | 31 +++ src/index.py | 68 ++++++ src/index.sass | 15 ++ src/lib/DataFrame.py | 141 +++++++++++ src/lib/FileHandler.py | 227 ++++++++++++++++++ src/lib/FormatData.py | 218 +++++++++++++++++ src/lib/OldFileHandler.py | 75 ++++++ src/lib/SerialHandler.py | 151 ++++++++++++ src/lib/__init__.py | 0 src/lib/test.py | 23 ++ src/reportWebVitals.ts | 15 ++ src/setupTests.ts | 5 + src/styles/fonts.sass | 13 + tsconfig.json | 26 ++ 117 files changed, 1559 insertions(+), 55 deletions(-) delete mode 100644 .env delete mode 100644 .project delete mode 100644 .pydevproject delete mode 100644 GRIFFIN/.vscode/arduino.json delete mode 100644 GRIFFIN/.vscode/c_cpp_properties.json delete mode 100644 GRIFFIN/.vscode/settings.json create mode 100644 LICENSE create mode 100644 build-linux.spec create mode 100644 build-macos.py create mode 100644 build-windows.spec create mode 100644 index.spec rename {Arduino => oldtmp/Arduino}/Testa_dati_telemetria/Testa_dati_telemetria.ino (100%) rename {Arduino => oldtmp/Arduino}/mockSignal/mockSignal.ino (100%) rename {Arduino => oldtmp/Arduino}/randomNumber/randomNumber.ino (100%) rename {Documentation => oldtmp/Documentation}/map.pdf (100%) rename {Documentation => oldtmp/Documentation}/map.pub (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/Controller Loop.txt (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/Readme.txt (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/__init__.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/griffin_qt.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/gui_connectiontab.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/gui_griffin.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/gui_logic.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/gui_textviewtab.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/interfaces/__init__.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/pyserial.txt (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/python gli import e te.txt (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/res/griffin_base.ico (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/res/refresh_icon.gif (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/res/serial.gif (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/run_test.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/Controller.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/DataFrame.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/FileHandler.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/FormatData.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/PRE-MERGE/DataFrame.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/PRE-MERGE/FileHandler.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/PRE-MERGE/FormatData.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/PRE-MERGE/OldFileHandler.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/PRE-MERGE/SerialHandler.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/PRE-MERGE/test.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/SerialHandler.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/serialdata/__init__.py (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/tkinter tips.txt (100%) rename {GRIFFIN => oldtmp/GRIFFIN}/todo.txt (100%) rename {GUI => oldtmp/GUI}/ErrorHandler.py (100%) rename {GUI => oldtmp/GUI}/Launcher/settings.py (100%) rename {GUI => oldtmp/GUI}/PostGara/TODO.py (100%) rename {GUI => oldtmp/GUI}/RealTime/DataFrame.py (100%) rename {GUI => oldtmp/GUI}/RealTime/FileHandler.py (100%) rename {GUI => oldtmp/GUI}/RealTime/FormatData.py (100%) rename {GUI => oldtmp/GUI}/RealTime/OldFileHandler.py (100%) rename {GUI => oldtmp/GUI}/RealTime/README.txt (100%) rename {GUI => oldtmp/GUI}/RealTime/SerialHandler.py (100%) rename {GUI => oldtmp/GUI}/RealTime/Utils/helperTools.py (100%) rename {GUI => oldtmp/GUI}/RealTime/testMain.py (100%) rename {GUI => oldtmp/GUI}/VirtualCockpit.py (100%) rename {GUI => oldtmp/GUI}/globalstuff.py (100%) rename {GUI => oldtmp/GUI}/tableview.py (100%) rename {Joe-Test => oldtmp/Joe-Test}/fh.py (100%) rename {Joe-Test => oldtmp/Joe-Test}/gui.py (100%) rename {Joe-Test => oldtmp/Joe-Test}/sh.py (100%) rename {Joe-Test => oldtmp/Joe-Test}/test_pipe.py (100%) rename Launcher.py => oldtmp/Launcher.py (100%) rename Pipfile => oldtmp/Pipfile (100%) rename Pipfile.lock => oldtmp/Pipfile.lock (100%) create mode 100644 oldtmp/README.md rename RealTimeMode.py => oldtmp/RealTimeMode.py (100%) rename installer.cfg => oldtmp/installer.cfg (100%) rename {res => oldtmp/res}/background.png (100%) rename {res => oldtmp/res}/icon.ico (100%) rename {res => oldtmp/res}/long_pointer.png (100%) rename {res => oldtmp/res}/postgara.gif (100%) rename {res => oldtmp/res}/refresh_icon.gif (100%) rename {res => oldtmp/res}/serial.gif (100%) rename {res => oldtmp/res}/short_pointer2.png (100%) rename {res => oldtmp/res}/textmodeicon.gif (100%) rename testLabelUpdate.py => oldtmp/testLabelUpdate.py (100%) rename testWriter.txt => oldtmp/testWriter.txt (100%) create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/logo192.png create mode 100644 public/logo512.png create mode 100644 public/manifest.json create mode 100644 public/robots.txt create mode 100644 requirements.txt create mode 100644 src/App.test.tsx create mode 100644 src/assets/logo.icns create mode 100644 src/assets/logo.ico create mode 100644 src/assets/logo.png create mode 100644 src/assets/open-sans-v17-latin_cyrillic-italic.woff create mode 100644 src/assets/open-sans-v17-latin_cyrillic-regular.woff create mode 100644 src/assets/roboto-condensed-v18-latin_cyrillic-regular.woff create mode 100644 src/components/Editor/Editor.sass create mode 100644 src/components/Editor/Editor.tsx create mode 100644 src/components/Header/Header.sass create mode 100644 src/components/Header/Header.tsx create mode 100644 src/components/Header/logo.png create mode 100644 src/components/Ticker/Ticker.sass create mode 100644 src/components/Ticker/Ticker.tsx create mode 100644 src/index.jsx create mode 100644 src/index.py create mode 100644 src/index.sass create mode 100644 src/lib/DataFrame.py create mode 100644 src/lib/FileHandler.py create mode 100644 src/lib/FormatData.py create mode 100644 src/lib/OldFileHandler.py create mode 100644 src/lib/SerialHandler.py create mode 100644 src/lib/__init__.py create mode 100644 src/lib/test.py create mode 100644 src/reportWebVitals.ts create mode 100644 src/setupTests.ts create mode 100644 src/styles/fonts.sass create mode 100644 tsconfig.json diff --git a/.env b/.env deleted file mode 100644 index 4fdd5cc..0000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -PYTHONPATH = "C:\Users\mante\Documents\GitHub\SAE\Formula-SAE-2.0\Separated" \ No newline at end of file diff --git a/.gitignore b/.gitignore index b69cbbb..19f1946 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +# Old Project *.pyc RealTime/__pycache__/SerialHandler.cpython-36.pyc *.env @@ -13,3 +14,30 @@ secondProc.py *.xml .vscode/settings.json settings.xml + +# New Project +*.pyc +*.sh +setup.cfg +pywebview.egg-info +MANIFEST +build +dist +.cache +.idea +.vs +bin +obj +node_modules +dist +gui +.DS_Store +*venv* +*env* +.vscode +.pytest_cache +__pycache__ +src/__pycache__ +.eggs +yarn-error.log +yarn.lock diff --git a/.project b/.project deleted file mode 100644 index 73a50c4..0000000 --- a/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - Formula-SAE-2.0 - - - - - - org.python.pydev.PyDevBuilder - - - - - - org.python.pydev.pythonNature - - diff --git a/.pydevproject b/.pydevproject deleted file mode 100644 index d001f0a..0000000 --- a/.pydevproject +++ /dev/null @@ -1,5 +0,0 @@ - - -Default -python interpreter - diff --git a/GRIFFIN/.vscode/arduino.json b/GRIFFIN/.vscode/arduino.json deleted file mode 100644 index 57851b0..0000000 --- a/GRIFFIN/.vscode/arduino.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "board": "esp8266:esp8266:d1", - "configuration": "xtal=80,vt=flash,exception=legacy,ssl=all,eesz=4M2M,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=921600", - "port": "COM4" -} \ No newline at end of file diff --git a/GRIFFIN/.vscode/c_cpp_properties.json b/GRIFFIN/.vscode/c_cpp_properties.json deleted file mode 100644 index a3776cd..0000000 --- a/GRIFFIN/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "configurations": [ - { - "name": "Win32", - "includePath": [ - "C:\\Users\\Ciocca\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\**", - "C:\\Users\\Ciocca\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.1\\**" - ], - "forcedInclude": [], - "intelliSenseMode": "msvc-x64", - "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe", - "cStandard": "c11", - "cppStandard": "c++17" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/GRIFFIN/.vscode/settings.json b/GRIFFIN/.vscode/settings.json deleted file mode 100644 index 541f95f..0000000 --- a/GRIFFIN/.vscode/settings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "python.pythonPath": "C:\\Users\\Ciocca\\griffin\\Scripts\\python.exe", - "python.autoComplete.extraPaths": ["C:\\Users\\Ciocca\\griffin\\Lib\\site-packages"], - "python.linting.pylintPath": "C:\\Users\\Ciocca\\griffin\\Scripts\\pylint.exe", - "python.linting.pylintEnabled": false, - "python.linting.enabled": true, - "python.linting.flake8Enabled": true -} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c8fa6b9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2020, Roman +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md index 93458bf..eda3338 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,66 @@ -# Formula-SAE -Progetto formula sae 2019/2020 +# GUI + +TODO ! + +Thanks to https://github.com/r0x0r/pywebview-react-boilerplate + +## Requirements +- Python 3 +- Node +- virtualenv + +## Installation + +``` bash +yarn run init +``` + +This will create a virtual environment, install pip and Node dependencies. Alternatively you can perform these steps manually. + +``` bash +yarn install +pip install -r requirements.txt +``` + +On Linux systems installation system makes educated guesses. If you run KDE, QT dependencies are installed, otherwise GTK is chosen. `apt` is used for installing GTK dependencies. In case you are running a non apt-based system, you will have to install GTK dependencies manually. See [installation](https://pywebview.flowrl.com/guide/installation.html) for details. + +## Usage + +To launch the application. + +``` bash +yarn run start +``` + +To build an executable. The output binary will be produced in the `dist` directory. + +``` bash +yarn run build +``` + +To start a development server (only for testing frontend code). + +``` bash +yarn run dev +``` + +To clean the developement environment, this will delete `gui`, `dist`, `build` directories. + +``` bash +yarn run clean +``` + + +To eject create-react-app and tweak the configuration as you may wish. + +``` bash +yarn run eject +``` + +To test the frontend code if you have written tests. + +``` bash +yarn run frontend:test +``` + + diff --git a/build-linux.spec b/build-linux.spec new file mode 100644 index 0000000..4818406 --- /dev/null +++ b/build-linux.spec @@ -0,0 +1,34 @@ +# -*- mode: python -*- + +block_cipher = None + +added_files = [ + ('./gui', 'gui'), +] + +a = Analysis(['./src/index.py'], + pathex=['./dist'], + binaries=None, + datas=added_files, + hiddenimports=['clr'], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher) +pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) +exe = EXE(pyz, + a.scripts, + exclude_binaries=True, + name='pywebview-react-app', + debug=False, + strip=True, + #icon='./src/assets/\logo.ico', + upx=True, + console=False ) # set this to see error output of the executable +coll = COLLECT(exe, + a.binaries, + a.zipfiles, + a.datas, + strip=False, + upx=False, + name='pywebview-react-app') diff --git a/build-macos.py b/build-macos.py new file mode 100644 index 0000000..5f646c0 --- /dev/null +++ b/build-macos.py @@ -0,0 +1,33 @@ +import os +import py2app +import shutil + +from distutils.core import setup + +def tree(src): + return [(root, map(lambda f: os.path.join(root, f), files)) + for (root, dirs, files) in os.walk(os.path.normpath(src))] + + +if os.path.exists('build'): + shutil.rmtree('build') + +if os.path.exists('dist/index.app'): + shutil.rmtree('dist/index.app') + +ENTRY_POINT = ['src/index.py'] + +DATA_FILES = tree('dist') +OPTIONS = { + 'argv_emulation': False, + 'strip': True, + 'iconfile': 'src/assets/logo.icns', + 'includes': ['WebKit', 'Foundation', 'webview', 'pkg_resources.py2_warn'] +} + +setup( + app=ENTRY_POINT, + data_files=DATA_FILES, + options={'py2app': OPTIONS}, + setup_requires=['py2app'], +) diff --git a/build-windows.spec b/build-windows.spec new file mode 100644 index 0000000..939cb16 --- /dev/null +++ b/build-windows.spec @@ -0,0 +1,34 @@ +# -*- mode: python -*- + +block_cipher = None + +added_files = [ + ('.\\gui', 'gui'), +] + +a = Analysis(['.\\src\\index.py'], + pathex=['.\\dist'], + binaries=None, + datas=added_files, + hiddenimports=['clr'], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher) +pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) +exe = EXE(pyz, + a.scripts, + exclude_binaries=True, + name='pywebview-react-app', + debug=False, + strip=True, + icon='.\\src\\assets\\logo.ico', + upx=True, + console=False ) # set this to see error output of the executable +coll = COLLECT(exe, + a.binaries, + a.zipfiles, + a.datas, + strip=False, + upx=False, + name='pywebview-react-app') diff --git a/index.spec b/index.spec new file mode 100644 index 0000000..c13dc72 --- /dev/null +++ b/index.spec @@ -0,0 +1,47 @@ +# -*- mode: python ; coding: utf-8 -*- + + +block_cipher = None + +added_files = [ + ('./gui', 'gui'), +] + +a = Analysis( + ['./src/index.py'], + pathex=['./dist'], + binaries=[], + datas=added_files, + hiddenimports=['clr'], + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False, +) +pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) + +exe = EXE( + pyz, + a.scripts, + a.binaries, + a.zipfiles, + a.datas, + [], + name='index', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=True, + upx_exclude=[], + runtime_tmpdir=None, + console=True, + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None, +) diff --git a/Arduino/Testa_dati_telemetria/Testa_dati_telemetria.ino b/oldtmp/Arduino/Testa_dati_telemetria/Testa_dati_telemetria.ino similarity index 100% rename from Arduino/Testa_dati_telemetria/Testa_dati_telemetria.ino rename to oldtmp/Arduino/Testa_dati_telemetria/Testa_dati_telemetria.ino diff --git a/Arduino/mockSignal/mockSignal.ino b/oldtmp/Arduino/mockSignal/mockSignal.ino similarity index 100% rename from Arduino/mockSignal/mockSignal.ino rename to oldtmp/Arduino/mockSignal/mockSignal.ino diff --git a/Arduino/randomNumber/randomNumber.ino b/oldtmp/Arduino/randomNumber/randomNumber.ino similarity index 100% rename from Arduino/randomNumber/randomNumber.ino rename to oldtmp/Arduino/randomNumber/randomNumber.ino diff --git a/Documentation/map.pdf b/oldtmp/Documentation/map.pdf similarity index 100% rename from Documentation/map.pdf rename to oldtmp/Documentation/map.pdf diff --git a/Documentation/map.pub b/oldtmp/Documentation/map.pub similarity index 100% rename from Documentation/map.pub rename to oldtmp/Documentation/map.pub diff --git a/GRIFFIN/Controller Loop.txt b/oldtmp/GRIFFIN/Controller Loop.txt similarity index 100% rename from GRIFFIN/Controller Loop.txt rename to oldtmp/GRIFFIN/Controller Loop.txt diff --git a/GRIFFIN/Readme.txt b/oldtmp/GRIFFIN/Readme.txt similarity index 100% rename from GRIFFIN/Readme.txt rename to oldtmp/GRIFFIN/Readme.txt diff --git a/GRIFFIN/__init__.py b/oldtmp/GRIFFIN/__init__.py similarity index 100% rename from GRIFFIN/__init__.py rename to oldtmp/GRIFFIN/__init__.py diff --git a/GRIFFIN/griffin_qt.py b/oldtmp/GRIFFIN/griffin_qt.py similarity index 100% rename from GRIFFIN/griffin_qt.py rename to oldtmp/GRIFFIN/griffin_qt.py diff --git a/GRIFFIN/gui_connectiontab.py b/oldtmp/GRIFFIN/gui_connectiontab.py similarity index 100% rename from GRIFFIN/gui_connectiontab.py rename to oldtmp/GRIFFIN/gui_connectiontab.py diff --git a/GRIFFIN/gui_griffin.py b/oldtmp/GRIFFIN/gui_griffin.py similarity index 100% rename from GRIFFIN/gui_griffin.py rename to oldtmp/GRIFFIN/gui_griffin.py diff --git a/GRIFFIN/gui_logic.py b/oldtmp/GRIFFIN/gui_logic.py similarity index 100% rename from GRIFFIN/gui_logic.py rename to oldtmp/GRIFFIN/gui_logic.py diff --git a/GRIFFIN/gui_textviewtab.py b/oldtmp/GRIFFIN/gui_textviewtab.py similarity index 100% rename from GRIFFIN/gui_textviewtab.py rename to oldtmp/GRIFFIN/gui_textviewtab.py diff --git a/GRIFFIN/interfaces/__init__.py b/oldtmp/GRIFFIN/interfaces/__init__.py similarity index 100% rename from GRIFFIN/interfaces/__init__.py rename to oldtmp/GRIFFIN/interfaces/__init__.py diff --git a/GRIFFIN/pyserial.txt b/oldtmp/GRIFFIN/pyserial.txt similarity index 100% rename from GRIFFIN/pyserial.txt rename to oldtmp/GRIFFIN/pyserial.txt diff --git a/GRIFFIN/python gli import e te.txt b/oldtmp/GRIFFIN/python gli import e te.txt similarity index 100% rename from GRIFFIN/python gli import e te.txt rename to oldtmp/GRIFFIN/python gli import e te.txt diff --git a/GRIFFIN/res/griffin_base.ico b/oldtmp/GRIFFIN/res/griffin_base.ico similarity index 100% rename from GRIFFIN/res/griffin_base.ico rename to oldtmp/GRIFFIN/res/griffin_base.ico diff --git a/GRIFFIN/res/refresh_icon.gif b/oldtmp/GRIFFIN/res/refresh_icon.gif similarity index 100% rename from GRIFFIN/res/refresh_icon.gif rename to oldtmp/GRIFFIN/res/refresh_icon.gif diff --git a/GRIFFIN/res/serial.gif b/oldtmp/GRIFFIN/res/serial.gif similarity index 100% rename from GRIFFIN/res/serial.gif rename to oldtmp/GRIFFIN/res/serial.gif diff --git a/GRIFFIN/run_test.py b/oldtmp/GRIFFIN/run_test.py similarity index 100% rename from GRIFFIN/run_test.py rename to oldtmp/GRIFFIN/run_test.py diff --git a/GRIFFIN/serialdata/Controller.py b/oldtmp/GRIFFIN/serialdata/Controller.py similarity index 100% rename from GRIFFIN/serialdata/Controller.py rename to oldtmp/GRIFFIN/serialdata/Controller.py diff --git a/GRIFFIN/serialdata/DataFrame.py b/oldtmp/GRIFFIN/serialdata/DataFrame.py similarity index 100% rename from GRIFFIN/serialdata/DataFrame.py rename to oldtmp/GRIFFIN/serialdata/DataFrame.py diff --git a/GRIFFIN/serialdata/FileHandler.py b/oldtmp/GRIFFIN/serialdata/FileHandler.py similarity index 100% rename from GRIFFIN/serialdata/FileHandler.py rename to oldtmp/GRIFFIN/serialdata/FileHandler.py diff --git a/GRIFFIN/serialdata/FormatData.py b/oldtmp/GRIFFIN/serialdata/FormatData.py similarity index 100% rename from GRIFFIN/serialdata/FormatData.py rename to oldtmp/GRIFFIN/serialdata/FormatData.py diff --git a/GRIFFIN/serialdata/PRE-MERGE/DataFrame.py b/oldtmp/GRIFFIN/serialdata/PRE-MERGE/DataFrame.py similarity index 100% rename from GRIFFIN/serialdata/PRE-MERGE/DataFrame.py rename to oldtmp/GRIFFIN/serialdata/PRE-MERGE/DataFrame.py diff --git a/GRIFFIN/serialdata/PRE-MERGE/FileHandler.py b/oldtmp/GRIFFIN/serialdata/PRE-MERGE/FileHandler.py similarity index 100% rename from GRIFFIN/serialdata/PRE-MERGE/FileHandler.py rename to oldtmp/GRIFFIN/serialdata/PRE-MERGE/FileHandler.py diff --git a/GRIFFIN/serialdata/PRE-MERGE/FormatData.py b/oldtmp/GRIFFIN/serialdata/PRE-MERGE/FormatData.py similarity index 100% rename from GRIFFIN/serialdata/PRE-MERGE/FormatData.py rename to oldtmp/GRIFFIN/serialdata/PRE-MERGE/FormatData.py diff --git a/GRIFFIN/serialdata/PRE-MERGE/OldFileHandler.py b/oldtmp/GRIFFIN/serialdata/PRE-MERGE/OldFileHandler.py similarity index 100% rename from GRIFFIN/serialdata/PRE-MERGE/OldFileHandler.py rename to oldtmp/GRIFFIN/serialdata/PRE-MERGE/OldFileHandler.py diff --git a/GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py b/oldtmp/GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py similarity index 100% rename from GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py rename to oldtmp/GRIFFIN/serialdata/PRE-MERGE/SerialHandler.py diff --git a/GRIFFIN/serialdata/PRE-MERGE/test.py b/oldtmp/GRIFFIN/serialdata/PRE-MERGE/test.py similarity index 100% rename from GRIFFIN/serialdata/PRE-MERGE/test.py rename to oldtmp/GRIFFIN/serialdata/PRE-MERGE/test.py diff --git a/GRIFFIN/serialdata/SerialHandler.py b/oldtmp/GRIFFIN/serialdata/SerialHandler.py similarity index 100% rename from GRIFFIN/serialdata/SerialHandler.py rename to oldtmp/GRIFFIN/serialdata/SerialHandler.py diff --git a/GRIFFIN/serialdata/__init__.py b/oldtmp/GRIFFIN/serialdata/__init__.py similarity index 100% rename from GRIFFIN/serialdata/__init__.py rename to oldtmp/GRIFFIN/serialdata/__init__.py diff --git a/GRIFFIN/tkinter tips.txt b/oldtmp/GRIFFIN/tkinter tips.txt similarity index 100% rename from GRIFFIN/tkinter tips.txt rename to oldtmp/GRIFFIN/tkinter tips.txt diff --git a/GRIFFIN/todo.txt b/oldtmp/GRIFFIN/todo.txt similarity index 100% rename from GRIFFIN/todo.txt rename to oldtmp/GRIFFIN/todo.txt diff --git a/GUI/ErrorHandler.py b/oldtmp/GUI/ErrorHandler.py similarity index 100% rename from GUI/ErrorHandler.py rename to oldtmp/GUI/ErrorHandler.py diff --git a/GUI/Launcher/settings.py b/oldtmp/GUI/Launcher/settings.py similarity index 100% rename from GUI/Launcher/settings.py rename to oldtmp/GUI/Launcher/settings.py diff --git a/GUI/PostGara/TODO.py b/oldtmp/GUI/PostGara/TODO.py similarity index 100% rename from GUI/PostGara/TODO.py rename to oldtmp/GUI/PostGara/TODO.py diff --git a/GUI/RealTime/DataFrame.py b/oldtmp/GUI/RealTime/DataFrame.py similarity index 100% rename from GUI/RealTime/DataFrame.py rename to oldtmp/GUI/RealTime/DataFrame.py diff --git a/GUI/RealTime/FileHandler.py b/oldtmp/GUI/RealTime/FileHandler.py similarity index 100% rename from GUI/RealTime/FileHandler.py rename to oldtmp/GUI/RealTime/FileHandler.py diff --git a/GUI/RealTime/FormatData.py b/oldtmp/GUI/RealTime/FormatData.py similarity index 100% rename from GUI/RealTime/FormatData.py rename to oldtmp/GUI/RealTime/FormatData.py diff --git a/GUI/RealTime/OldFileHandler.py b/oldtmp/GUI/RealTime/OldFileHandler.py similarity index 100% rename from GUI/RealTime/OldFileHandler.py rename to oldtmp/GUI/RealTime/OldFileHandler.py diff --git a/GUI/RealTime/README.txt b/oldtmp/GUI/RealTime/README.txt similarity index 100% rename from GUI/RealTime/README.txt rename to oldtmp/GUI/RealTime/README.txt diff --git a/GUI/RealTime/SerialHandler.py b/oldtmp/GUI/RealTime/SerialHandler.py similarity index 100% rename from GUI/RealTime/SerialHandler.py rename to oldtmp/GUI/RealTime/SerialHandler.py diff --git a/GUI/RealTime/Utils/helperTools.py b/oldtmp/GUI/RealTime/Utils/helperTools.py similarity index 100% rename from GUI/RealTime/Utils/helperTools.py rename to oldtmp/GUI/RealTime/Utils/helperTools.py diff --git a/GUI/RealTime/testMain.py b/oldtmp/GUI/RealTime/testMain.py similarity index 100% rename from GUI/RealTime/testMain.py rename to oldtmp/GUI/RealTime/testMain.py diff --git a/GUI/VirtualCockpit.py b/oldtmp/GUI/VirtualCockpit.py similarity index 100% rename from GUI/VirtualCockpit.py rename to oldtmp/GUI/VirtualCockpit.py diff --git a/GUI/globalstuff.py b/oldtmp/GUI/globalstuff.py similarity index 100% rename from GUI/globalstuff.py rename to oldtmp/GUI/globalstuff.py diff --git a/GUI/tableview.py b/oldtmp/GUI/tableview.py similarity index 100% rename from GUI/tableview.py rename to oldtmp/GUI/tableview.py diff --git a/Joe-Test/fh.py b/oldtmp/Joe-Test/fh.py similarity index 100% rename from Joe-Test/fh.py rename to oldtmp/Joe-Test/fh.py diff --git a/Joe-Test/gui.py b/oldtmp/Joe-Test/gui.py similarity index 100% rename from Joe-Test/gui.py rename to oldtmp/Joe-Test/gui.py diff --git a/Joe-Test/sh.py b/oldtmp/Joe-Test/sh.py similarity index 100% rename from Joe-Test/sh.py rename to oldtmp/Joe-Test/sh.py diff --git a/Joe-Test/test_pipe.py b/oldtmp/Joe-Test/test_pipe.py similarity index 100% rename from Joe-Test/test_pipe.py rename to oldtmp/Joe-Test/test_pipe.py diff --git a/Launcher.py b/oldtmp/Launcher.py similarity index 100% rename from Launcher.py rename to oldtmp/Launcher.py diff --git a/Pipfile b/oldtmp/Pipfile similarity index 100% rename from Pipfile rename to oldtmp/Pipfile diff --git a/Pipfile.lock b/oldtmp/Pipfile.lock similarity index 100% rename from Pipfile.lock rename to oldtmp/Pipfile.lock diff --git a/oldtmp/README.md b/oldtmp/README.md new file mode 100644 index 0000000..93458bf --- /dev/null +++ b/oldtmp/README.md @@ -0,0 +1,2 @@ +# Formula-SAE +Progetto formula sae 2019/2020 diff --git a/RealTimeMode.py b/oldtmp/RealTimeMode.py similarity index 100% rename from RealTimeMode.py rename to oldtmp/RealTimeMode.py diff --git a/installer.cfg b/oldtmp/installer.cfg similarity index 100% rename from installer.cfg rename to oldtmp/installer.cfg diff --git a/res/background.png b/oldtmp/res/background.png similarity index 100% rename from res/background.png rename to oldtmp/res/background.png diff --git a/res/icon.ico b/oldtmp/res/icon.ico similarity index 100% rename from res/icon.ico rename to oldtmp/res/icon.ico diff --git a/res/long_pointer.png b/oldtmp/res/long_pointer.png similarity index 100% rename from res/long_pointer.png rename to oldtmp/res/long_pointer.png diff --git a/res/postgara.gif b/oldtmp/res/postgara.gif similarity index 100% rename from res/postgara.gif rename to oldtmp/res/postgara.gif diff --git a/res/refresh_icon.gif b/oldtmp/res/refresh_icon.gif similarity index 100% rename from res/refresh_icon.gif rename to oldtmp/res/refresh_icon.gif diff --git a/res/serial.gif b/oldtmp/res/serial.gif similarity index 100% rename from res/serial.gif rename to oldtmp/res/serial.gif diff --git a/res/short_pointer2.png b/oldtmp/res/short_pointer2.png similarity index 100% rename from res/short_pointer2.png rename to oldtmp/res/short_pointer2.png diff --git a/res/textmodeicon.gif b/oldtmp/res/textmodeicon.gif similarity index 100% rename from res/textmodeicon.gif rename to oldtmp/res/textmodeicon.gif diff --git a/testLabelUpdate.py b/oldtmp/testLabelUpdate.py similarity index 100% rename from testLabelUpdate.py rename to oldtmp/testLabelUpdate.py diff --git a/testWriter.txt b/oldtmp/testWriter.txt similarity index 100% rename from testWriter.txt rename to oldtmp/testWriter.txt diff --git a/package.json b/package.json new file mode 100644 index 0000000..2446d6c --- /dev/null +++ b/package.json @@ -0,0 +1,65 @@ +{ + "name": "react-pywebview-boilerplate", + "version": "0.1.0", + "private": true, + "homepage": "./", + "dependencies": { + "@testing-library/jest-dom": "^5.11.4", + "@testing-library/react": "^11.1.0", + "@testing-library/user-event": "^12.1.10", + "@types/jest": "^26.0.15", + "@types/node": "^12.0.0", + "@types/react": "^17.0.0", + "@types/react-dom": "^17.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-scripts": "4.0.3", + "sass": "^1.43.4", + "typescript": "^4.1.2", + "web-vitals": "^1.0.1" + }, + "scripts": { + "dev": "react-scripts start", + "frontend:dev": "BUILD_PATH='./gui' react-scripts build", + "frontend:prod": "BUILD_PATH='./gui' react-scripts build", + "frontend:test": "react-scripts test", + "frontend:eject": "react-scripts eject", + "build": "export NODE_OPTIONS='--openssl-legacy-provider' && yarn run clean && yarn run frontend:prod && run-script-os", + "build:macos": "./venv-pywebview/bin/python build-macos.py py2app", + "build:windows": ".\\venv-pywebview\\Scripts\\pyinstaller build-windows.spec", + "build:linux": "./venv-pywebview/bin/pyinstaller build-linux.spec --onefile", + "clean": "run-script-os", + "clean:default": "rm -rf gui 2>/dev/null; rm -rf build 2>/dev/null; rm -rf dist 2>/dev/null; ", + "clean:windows": "if exist gui rd /S /Q gui & if exist build rd /S /Q build & if exist dist rd /S /Q dist", + "init": "yarn install && run-script-os", + "init:windows": "virtualenv -p python venv-pywebview && .\\venv-pywebview\\Scripts\\pip install -r requirements.txt", + "init:linux": "virtualenv -p python3 venv-pywebview && if [[ -z \"${KDE_FULL_SESSION}\" ]]; then yarn run init:qt5; else yarn run init:gtk; fi", + "init:default": "virtualenv -p python3 venv-pywebview && ./venv-pywebview/bin/pip install -r requirements.txt", + "init:qt5": "./venv-pywebview/bin/pip install pyqt5 pyqtwebengine -r requirements.txt", + "init:gtk": "sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0 && ./venv-pywebview/bin/pip install pycairo pygobject -r requirements.txt", + "start": "export NODE_OPTIONS='--openssl-legacy-provider' && yarn run frontend:dev && run-script-os", + "start:windows": ".\\venv-pywebview\\Scripts\\python src\\index.py", + "start:default": "./venv-pywebview/bin/python src/index.py" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "run-script-os": "^1.1.6" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..9906569 --- /dev/null +++ b/public/index.html @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + React App + + + + +
+ + + + \ No newline at end of file diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1d57483 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +setuptools +pywebview +pyinstaller; sys_platform != 'darwin' +py2app; sys_platform == 'darwin' \ No newline at end of file diff --git a/src/App.test.tsx b/src/App.test.tsx new file mode 100644 index 0000000..2a68616 --- /dev/null +++ b/src/App.test.tsx @@ -0,0 +1,9 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/src/assets/logo.icns b/src/assets/logo.icns new file mode 100644 index 0000000000000000000000000000000000000000..556e3e6023ba1e5ae0e5f850d59ae61e0db703c3 GIT binary patch literal 42363 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

h?26YM3NwTaM; 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

lMwNWp~DEmp)CS)L? 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%0D0e>tF= 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

RJoM` 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 literal 0 HcmV?d00001 diff --git a/src/assets/open-sans-v17-latin_cyrillic-regular.woff b/src/assets/open-sans-v17-latin_cyrillic-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..da74969ea8ff159448368c5ef0aa90167509c47d GIT binary patch literal 24592 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 literal 0 HcmV?d00001 diff --git a/src/assets/roboto-condensed-v18-latin_cyrillic-regular.woff b/src/assets/roboto-condensed-v18-latin_cyrillic-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..37da48bdd8b976f3c4f62eb9a727f1564857bbaf GIT binary patch literal 28616 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%0DeeDJNN7zui&+En>yP7`j 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 +