scanmatic python connection using udsoncan

у меня есть проект, в котором я реализовываю чтение, запись разных данных в авто VAG с помощью udsoncan. зачастую нужно читать огромные объемы данных разных блоков. хотелось бы в несколько устройств это делать. есть устройство abrites, с ним проблем не возникло, тк он автоконфигурируется имея только дрова. суть вопроса как настроить устройство Scanmatik для чтения. по сути оба устройства работают через протокол PassThru но scanmatik не умеет самонастраиваться. Есть библиотека VW_Flash там где реализовано подключение, но у меня не хватает опыта чтобы "адаптировать" это решение под свой проект. VW_Flash: https://github.com/bri3d/VW_Flash

мои пути к дровам:

ABRITES_PATH="C:\\Program Files (x86)\\ABRITES software for ID 17111B\\PassThru\\AbrPT32.dll"
SCANMATIK_PATH="C:\\Program Files (x86)\\Scanmatik\\smj2534.dll"

и вот моя реализация подключения через abrites посредством udsoncan

class J2534CANConnection(J2534Connection):
    def __init__(
            self,
            windll: str,
            rxid: int,
            txid: int,
            name: Optional[str] = None,
            debug: bool = False,
            *args,
            **kwargs
    ):
        super().__init__(windll, rxid, txid, name, debug, *args, **kwargs)
        txFlags = TxStatusFlag.ISO15765_CAN_ID_11.value
        self.interface = J2534(
            windll=windll, rxid=rxid, txid=txid, txFlags=txFlags
        )
        self.protocol = Protocol_ID.CAN

вызов:

WINDLL = os.getenv('ABRITES_PATH') 
J2534CANConnection(
        windll=WINDLL,         
        rxid=int(os.getenv('GATEWAY_RXID'), 16),         
        txid=int(os.getenv('GATEWAY_TXID'), 16),     
    )

ошибка если подставить scanmatic дрова и оборудование соответственно:

2024-10-29 23:37:58,328 - Connection - INFO - J2534 FirmwareVersion: b'', dllVersoin: b'', apiVersionb'' 
2024-10-29 23:37:58,328 - Connection - ERROR - J2534 PassThruConnect: Error_ID.ERR_INVALID_DEVICE_ID b'ERR_INVALID_DEVICE_ID' 
2024-10-29 23:37:58,328 - Connection - ERROR - J2534 PassThruIoctl SET_CONFIG: Error_ID.ERR_INVALID_CHANNEL_ID b'ERR_INVALID_CHANNEL_ID' 
2024-10-29 23:37:58,328 - Connection - ERROR - J2534 PassThruIoctl CLEAR_MSG_FILTERS: Error_ID.ERR_INVALID_CHANNEL_ID b'ERR_INVALID_CHANNEL_ID' 
2024-10-29 23:37:58,328 - Connection - ERROR - J2534 PassThruStartMsgFilter: Error_ID.ERR_INVALID_CHANNEL_ID b'ERR_INVALID_CHANNEL_ID' 2024-10-29 23:37:58,328 - Connection - ERROR - J2534 PassThruIoctl CLEAR_RX_BUFFER: Error_ID.ERR_INVALID_CHANNEL_ID b'ERR_INVALID_CHANNEL_ID' 
2024-10-29 23:37:58,328 - Connection - ERROR - J2534 PassThruIoctl CLEAR_TX_BUFFER: Error_ID.ERR_INVALID_CHANNEL_ID b'ERR_INVALID_CHANNEL_ID' 
2024-10-29 23:37:58,328 - app.config - INFO - connection target = <app.services.connection_type.J2534CANConnection object at 0x022C7550>```

Ответы (0 шт):