Normalize CAN IDs number of bits
This commit is contained in:
@@ -19,7 +19,7 @@ def parse_log(input_path: PathLike, out_bus1: PathLike, out_bus2: PathLike) -> N
|
||||
out1_file = Path(out_bus1)
|
||||
out2_file = Path(out_bus2)
|
||||
|
||||
start_pattern = re.compile(r'(C[12]):([0-9A-Fa-f]{1,8})\s+([0-9A-Fa-f]{1,2})\s+')
|
||||
start_pattern = re.compile(r'(C[12]):([0-9A-Fa-f]{7,8})\s+([0-9A-Fa-f]{1,2})\s+')
|
||||
byte_pattern = re.compile(r'^[0-9A-Fa-f]{2}$')
|
||||
|
||||
with input_file.open('r', encoding='utf-8') as f_in, \
|
||||
@@ -35,7 +35,12 @@ def parse_log(input_path: PathLike, out_bus1: PathLike, out_bus2: PathLike) -> N
|
||||
for line in f_in:
|
||||
for match in start_pattern.finditer(line):
|
||||
bus = match.group(1)
|
||||
can_id = match.group(2).upper()
|
||||
|
||||
can_id = match.group(2).upper().zfill(8)
|
||||
|
||||
if int(can_id, 16) > 0x1FFFFFFF:
|
||||
continue
|
||||
|
||||
dlc_str = match.group(3)
|
||||
|
||||
try:
|
||||
@@ -116,4 +121,3 @@ if __name__ == '__main__':
|
||||
print(f"[*] Processing {args.input_csv}...")
|
||||
lf = parse_csv(args.input_csv)
|
||||
lf.sink_parquet(args.output_parquet)
|
||||
print(f"[+] Saved parquet file to {args.output_parquet}")
|
||||
|
||||
Reference in New Issue
Block a user