added gear output
This commit is contained in:
parent
ab0e8cce86
commit
83585910f9
3 changed files with 20 additions and 4 deletions
|
|
@ -28,9 +28,9 @@ def unpackData(unpackedData):
|
||||||
carData = {"time":unpackedData[0],
|
carData = {"time":unpackedData[0],
|
||||||
"carName":unpackedData[1].decode("utf-8"),
|
"carName":unpackedData[1].decode("utf-8"),
|
||||||
"flags": decodeFlag(unpackedData[2]),
|
"flags": decodeFlag(unpackedData[2]),
|
||||||
"gear": unpackedData[3],
|
"Gear": unpackedData[3],
|
||||||
"PLID": unpackedData[4],
|
"PLID": unpackedData[4],
|
||||||
"speed": unpackedData[5],
|
"Speed": unpackedData[5],
|
||||||
"rpm": unpackedData[6],
|
"rpm": unpackedData[6],
|
||||||
"turboPressure":unpackedData[7],
|
"turboPressure":unpackedData[7],
|
||||||
"engTemp":unpackedData[8],
|
"engTemp":unpackedData[8],
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -30,6 +30,10 @@ firstRun= True #used to do the headers for csv files
|
||||||
pushingToArduino = False
|
pushingToArduino = False
|
||||||
stopThread = False
|
stopThread = False
|
||||||
|
|
||||||
|
class outputValue(Enum):
|
||||||
|
SPEED = "Speed"
|
||||||
|
GEAR = "Gear"
|
||||||
|
|
||||||
class GameType(Enum):
|
class GameType(Enum):
|
||||||
NONE=0
|
NONE=0
|
||||||
BEAMNG = "BEAMNG"
|
BEAMNG = "BEAMNG"
|
||||||
|
|
@ -105,19 +109,22 @@ def runningThread():
|
||||||
if gameType == GameType.BEAMNG.value:
|
if gameType == GameType.BEAMNG.value:
|
||||||
unpackedData = struct.unpack(BEAMNG_METHODS.BEAMNG_DATA_FORMAT,data)
|
unpackedData = struct.unpack(BEAMNG_METHODS.BEAMNG_DATA_FORMAT,data)
|
||||||
carData = BEAMNG_METHODS.unpackData(unpackedData)
|
carData = BEAMNG_METHODS.unpackData(unpackedData)
|
||||||
kmh=carData["speed"]*3.6
|
kmh=carData[tkDataTypeOut.get()]
|
||||||
if csvOut == True:
|
if csvOut == True:
|
||||||
csvWriteOut(firstRun,carData,csvFile)
|
csvWriteOut(firstRun,carData,csvFile)
|
||||||
firstRun=False
|
firstRun=False
|
||||||
elif gameType == GameType.FORZA.value:
|
elif gameType == GameType.FORZA.value:
|
||||||
unpackedData = struct.unpack(FORZA_METHODS.FORZA_DATA_FORMAT,data)
|
unpackedData = struct.unpack(FORZA_METHODS.FORZA_DATA_FORMAT,data)
|
||||||
carData = FORZA_METHODS.unpackData(unpackedData)
|
carData = FORZA_METHODS.unpackData(unpackedData)
|
||||||
kmh = carData["Speed"]*3.6
|
kmh = carData[tkDataTypeOut.get()]
|
||||||
if csvOut == True:
|
if csvOut == True:
|
||||||
csvWriteOut(firstRun,carData,csvFile)
|
csvWriteOut(firstRun,carData,csvFile)
|
||||||
firstRun=False
|
firstRun=False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
if (tkDataTypeOut.get() == outputValue.SPEED):
|
||||||
|
kmh = kmh*3.6
|
||||||
|
|
||||||
toPi.write(str(kmh).encode()+":".encode())
|
toPi.write(str(kmh).encode()+":".encode())
|
||||||
except:
|
except:
|
||||||
print("arduino disconnected please check connection\n")
|
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
|
##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="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")
|
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= tkinter.ttk.Frame(firstFrameGui,padding=5,relief="groove",borderwidth=2)
|
||||||
loggingFrameGui.pack(anchor="nw")
|
loggingFrameGui.pack(anchor="nw")
|
||||||
tkLoggingEnabled=tkinter.BooleanVar()
|
tkLoggingEnabled=tkinter.BooleanVar()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue