added gear output

This commit is contained in:
Seth Samuel 2024-12-15 01:13:21 +13:00
parent ab0e8cce86
commit 83585910f9
3 changed files with 20 additions and 4 deletions

View file

@ -28,9 +28,9 @@ def unpackData(unpackedData):
carData = {"time":unpackedData[0],
"carName":unpackedData[1].decode("utf-8"),
"flags": decodeFlag(unpackedData[2]),
"gear": unpackedData[3],
"Gear": unpackedData[3],
"PLID": unpackedData[4],
"speed": unpackedData[5],
"Speed": unpackedData[5],
"rpm": unpackedData[6],
"turboPressure":unpackedData[7],
"engTemp":unpackedData[8],

View file

@ -30,6 +30,10 @@ firstRun= True #used to do the headers for csv files
pushingToArduino = False
stopThread = False
class outputValue(Enum):
SPEED = "Speed"
GEAR = "Gear"
class GameType(Enum):
NONE=0
BEAMNG = "BEAMNG"
@ -105,19 +109,22 @@ def runningThread():
if gameType == GameType.BEAMNG.value:
unpackedData = struct.unpack(BEAMNG_METHODS.BEAMNG_DATA_FORMAT,data)
carData = BEAMNG_METHODS.unpackData(unpackedData)
kmh=carData["speed"]*3.6
kmh=carData[tkDataTypeOut.get()]
if csvOut == True:
csvWriteOut(firstRun,carData,csvFile)
firstRun=False
elif gameType == GameType.FORZA.value:
unpackedData = struct.unpack(FORZA_METHODS.FORZA_DATA_FORMAT,data)
carData = FORZA_METHODS.unpackData(unpackedData)
kmh = carData["Speed"]*3.6
kmh = carData[tkDataTypeOut.get()]
if csvOut == True:
csvWriteOut(firstRun,carData,csvFile)
firstRun=False
try:
if (tkDataTypeOut.get() == outputValue.SPEED):
kmh = kmh*3.6
toPi.write(str(kmh).encode()+":".encode())
except:
print("arduino disconnected please check connection\n")
@ -185,6 +192,15 @@ gameSelectLOptions= [GameType.BEAMNG,GameType.FORZA]
##space after text is so the buttons are the same size
tkinter.Radiobutton(gameSelectFrame,text="BeamNG ",variable=tkGametype,value=GameType.BEAMNG.value,command=checkBoxChange).pack(anchor="w")
tkinter.Radiobutton(gameSelectFrame,text="Forza ",variable=tkGametype,value=GameType.FORZA.value,command=checkBoxChange).pack(anchor="w")
tkDataTypeOut = tkinter.StringVar()
tkDataTypeOut.set(outputValue.SPEED.value)
dataTypeFrame = tkinter.ttk.Frame(secondFrameGui,padding=5,relief="groove",borderwidth=2)
dataTypeFrame.pack()
dataTypeLableText = tkinter.StringVar()
dataTypeLableText.set(value="Select Data Type:")
dataTypeLable = tkinter.Label(dataTypeFrame,textvariable=dataTypeLableText).pack(side="top")
tkinter.Radiobutton(dataTypeFrame,text="Speed",variable=tkDataTypeOut,value=outputValue.SPEED.value).pack(anchor="w")
tkinter.Radiobutton(dataTypeFrame,text="Gear",variable=tkDataTypeOut,value=outputValue.GEAR.value).pack(anchor="w")
loggingFrameGui= tkinter.ttk.Frame(firstFrameGui,padding=5,relief="groove",borderwidth=2)
loggingFrameGui.pack(anchor="nw")
tkLoggingEnabled=tkinter.BooleanVar()