Intial commit

This commit is contained in:
2026-02-20 20:53:21 +01:00
commit e4943aa7b4
5 changed files with 259 additions and 0 deletions

42
lib.py Normal file
View File

@@ -0,0 +1,42 @@
import struct
class RTLFWriter:
HEADER_FIXED_FORMAT = "<4sIII"
RECORD_FORMAT = "<dddddddddd"
MAGIC_NUMBER = b"RTLF"
VERSION = 1
def __init__(self, filename, car_id, track_name):
self.filename = filename
self.car_id = car_id
self.track_name = track_name.encode('utf-8')
self.file = open(filename, "wb")
self._write_header()
def _write_header(self):
track_len = len(self.track_name)
header_bytes = struct.pack(
self.HEADER_FIXED_FORMAT,
self.MAGIC_NUMBER,
self.VERSION,
self.car_id,
track_len
)
self.file.write(header_bytes)
self.file.write(self.track_name)
def write_record(self, timestamp, long, lat, fx, fy, fz, ax, ay, az, speed):
record_bytes = struct.pack(
self.RECORD_FORMAT,
timestamp, long, lat, fx, fy, fz, ax, ay, az, speed
)
self.file.write(record_bytes)
def close(self):
if self.file:
self.file.close()
self.file = None
def __enter__(self): return self
def __exit__(self, exc_type, exc_val, exc_tb): self.close()