| @ -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() | |||||