isotp update

This commit is contained in:
controllerzz
2025-12-14 12:43:05 +03:00
parent 010b2cc1a2
commit 143799e1cb
4 changed files with 44 additions and 54 deletions
+8 -45
View File
@@ -1,13 +1,15 @@
import asyncio
from carbus_async import CanMessage
from carbus_async.device import CarBusDevice, CanTiming
from isotp_async.carbus_iface import CarBusCanTransport
from isotp_async import IsoTpChannel
from uds_async.client import UdsClient
from carbus_async import CarBusDevice
from isotp_async import open_isotp
from uds_async import UdsClient
import logging
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
)
async def main(is_debug=False):
@@ -25,48 +27,9 @@ async def main(is_debug=False):
nominal_bitrate=500_000,
)
# await dev.open_can_channel_custom(
# channel=1,
# nominal_timing=CanTiming(
# prescaler=15,
# tq_seg1=12,
# tq_seg2=3,
# sjw=1
# ),
# data_timing=CanTiming(
# prescaler=6,
# tq_seg1=7,
# tq_seg2=2,
# sjw=1
# ),
# fd=True,
# brs=True,
# )
await dev.set_terminator(channel=1, enabled=True)
await asyncio.sleep(0.5)
msg = CanMessage(can_id=0x7E0, data=b"\x02\x3E\x00\x00\x00\x00\x00\x00",fd=True, brs=True)
await dev.send_can(msg, channel=1)
info = await dev.get_device_info()
print("HW:", info.hardware_id, info.hardware_name)
print("FW:", info.firmware_version)
print("Serial #", info.serial_int)
print("Features:",
"gateway" if info.feature_gateway else "",
"isotp" if info.feature_isotp else "",
"txbuf" if info.feature_tx_buffer else "",
"txtask" if info.feature_tx_task else "",
)
await dev.clear_all_filters(1)
await dev.set_std_id_filter(1, index=0, can_id=0x7E8, mask=0x7FF)
can_tr = CarBusCanTransport(dev, channel=1, rx_id=0x7E8)
isotp = IsoTpChannel(can_tr, tx_id=0x7E0, rx_id=0x7E8)
isotp = await open_isotp(dev, channel=1, tx_id=0x7E0, rx_id=0x7E8)
uds = UdsClient(isotp)
vin = await uds.read_data_by_identifier(0xF190)