carbus_lib/main.py

40 lines
891 B
Python

import asyncio
from carbus_async import CarBusDevice
from isotp_async import open_isotp
from uds_async import UdsClient
import logging
async def main(is_debug=False):
if is_debug:
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
)
logging.getLogger("carbus_async.wire").setLevel(logging.DEBUG)
dev = await CarBusDevice.open("COM6")
print(f"Devise SN: {await dev.get_serial()}")
await dev.open_can_channel(
channel=1,
nominal_bitrate=500_000,
)
await dev.ensure_terminator(channel=1, enabled=True)
isotp = await open_isotp(dev, channel=1, tx_id=0x7E0, rx_id=0x7E8)
uds = UdsClient(isotp)
vin = await uds.read_data_by_identifier(0xF190)
print("VIN:", vin.decode(errors="ignore"))
await dev.close()
asyncio.run(main())