|
|
|
@ -0,0 +1,53 @@ |
|
|
|
import socket |
|
|
|
import struct |
|
|
|
import cbor2 as cbor |
|
|
|
|
|
|
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) |
|
|
|
|
|
|
|
print("bind to socket") |
|
|
|
sock.bind(('0.0.0.0', 4444)) |
|
|
|
|
|
|
|
def unpack_outgauge(packed_data): |
|
|
|
game_data = struct.unpack('I4sH2c7f2I3f16s16si', packed_data) |
|
|
|
|
|
|
|
print(f"""Received data: |
|
|
|
- time: { game_data[0] } |
|
|
|
- car: { game_data[1] } |
|
|
|
- flags: { game_data[2] } |
|
|
|
- gear: { str(game_data[3]) } |
|
|
|
- plid: { game_data[4] } |
|
|
|
- speed: { game_data[5] } |
|
|
|
- rpm: { game_data[6] } |
|
|
|
- turbo: { game_data[7] } |
|
|
|
- engTemp: { game_data[8] } |
|
|
|
- fuel: { game_data[9] } |
|
|
|
- oilpres: { game_data[10] } |
|
|
|
- oiltemp: { game_data[11] } |
|
|
|
- dashLights: { game_data[12] } |
|
|
|
- showLights: { game_data[13] } |
|
|
|
- throttle: { game_data[14] } |
|
|
|
- brake: { game_data[15] } |
|
|
|
- clutch: { game_data[16] } |
|
|
|
- display1: { game_data[17] } |
|
|
|
- display2: { game_data[18] } |
|
|
|
- id: { game_data[19] } |
|
|
|
""") |
|
|
|
|
|
|
|
|
|
|
|
def unpack_extdash(packed_data): |
|
|
|
game_data = cbor.loads( packed_data ) |
|
|
|
print( str(game_data) ) |
|
|
|
|
|
|
|
|
|
|
|
while True: |
|
|
|
print( "receiving data...") |
|
|
|
data = sock.recv(1024) |
|
|
|
|
|
|
|
if not data: |
|
|
|
break # Lost connection |
|
|
|
|
|
|
|
print("got data!") |
|
|
|
#unpack_outgauge(data) |
|
|
|
unpack_extdash(data) |
|
|
|
|
|
|
|
sock.close() |