Files
sunnypilot/tools/scripts/car/vin.py
T
github-actions[bot] af7bf5dc64 sunnypilot v2026.09.03-4844
version: sunnypilot v2026.003.000 (feature-branch)
date: 2026-09-03T14:07:59
master commit: 1500f45576
2026-09-03 14:07:59 +00:00

27 lines
938 B
Python
Executable File

#!/usr/bin/env python3
import argparse
import time
import openpilot.cereal.messaging as messaging
from opendbc.car.carlog import carlog
from opendbc.car.vin import get_vin
from openpilot.selfdrive.car.card import can_comm_callbacks
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Get VIN of the car')
parser.add_argument('--debug', action='store_true')
parser.add_argument('--bus', type=int, default=1)
parser.add_argument('--timeout', type=float, default=0.1)
parser.add_argument('--retry', type=int, default=5)
args = parser.parse_args()
if args.debug:
carlog.setLevel('DEBUG')
sendcan = messaging.pub_sock('sendcan')
logcan = messaging.sub_sock('can')
can_callbacks = can_comm_callbacks(logcan, sendcan)
time.sleep(1)
vin_rx_addr, vin_rx_bus, vin = get_vin(*can_callbacks, (args.bus,), args.timeout, args.retry)
print(f'RX: {hex(vin_rx_addr)}, BUS: {vin_rx_bus}, VIN: {vin}')