OpenCyphal / yakut

Simple CLI tool for diagnostics and debugging of Cyphal networks
https://opencyphal.org
MIT License
47 stars 10 forks source link

Unhelpful error reporting when the CAN bus parameters are invalid #74

Closed Pascal8749 closed 1 year ago

Pascal8749 commented 1 year ago

Hello, I have the problem that as soon as I follow the docu and enter

export UAVCANCANIFACE='pcan:PCAN_USBBUS1' export UAVCANCANMTU=8 export UAVCANCANBITRATE=125000 export UAVCANNODEID=$(yakut accommodate)
echo "Auto-selected node-ID for this session: $UAVCANNODEID"

I get the error "ZeroDivisionError: division by zero". Unfortunately, the same error also comes about the command "yakut mon". Can someone help me?

pavel-kirienko commented 1 year ago

please run the command with -vv and share the full output

Pascal8749 commented 1 year ago

Thanks for the quick replay!

2023-01-23 12:36:33 0014744 DEB yakut: Path: ('/home/pc12/Schreibtisch/cyphal test1/Pycyphal',)
2023-01-23 12:36:33 0014744 DEB asyncio: Using selector: EpollSelector
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scipy.linalg._cblas as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scipy.linalg._fblas_64 as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scipy.linalg._clapack as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scipy.linalg._flapack_64 as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scikits as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Initialized with registers: KeysView(StaticBackend(':memory:', persistent=False))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.node.id' <- ValueProxy(uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.node.id' = uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.node.id' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Update from env: 'uavcan.node.id' <- b''
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.node.id' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.node.id' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.node.id' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.node.id' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.node.id' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.udp.iface' <- ValueProxy(uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.udp.iface' = uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value=''))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.udp.iface' <- Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.udp.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.udp.mtu' <- ValueProxy(uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[1200])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.udp.mtu' = uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[1200]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.udp.mtu' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[1200])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.udp.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[1200])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.udp.duplicate_service_transfers' <- ValueProxy(uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.udp.duplicate_service_transfers' = uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.udp.duplicate_service_transfers' <- Entry(value=uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.udp.duplicate_service_transfers' -> Entry(value=uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.serial.iface' <- ValueProxy(uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.serial.iface' = uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value=''))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.serial.iface' <- Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.serial.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.serial.duplicate_service_transfers' <- ValueProxy(uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.serial.duplicate_service_transfers' = uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.serial.duplicate_service_transfers' <- Entry(value=uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.serial.duplicate_service_transfers' -> Entry(value=uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.serial.baudrate' <- ValueProxy(uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[0])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.serial.baudrate' = uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[0]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.serial.baudrate' <- Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[0])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.serial.baudrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[0])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.can.iface' <- ValueProxy(uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.can.iface' = uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value=''))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.iface' <- Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Update from env: 'uavcan.can.iface' <- b'pcan:PCAN_USBBUS1'
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.iface' <- Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='pcan:PCAN_USBBUS1')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='pcan:PCAN_USBBUS1')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.can.mtu' <- ValueProxy(uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.can.mtu' = uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.mtu' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Update from env: 'uavcan.can.mtu' <- b'8'
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.mtu' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[8])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[8])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.can.bitrate' <- ValueProxy(uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.can.bitrate' = uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.bitrate' <- Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Update from env: 'uavcan.can.bitrate' <- b'125000'
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.bitrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.bitrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.bitrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.bitrate' <- Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[125000,     0])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.bitrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[125000,     0])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module win32event as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.six as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.six.moves as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources._vendor.six.moves as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources._vendor.six.moves as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources._vendor.six.moves.urllib as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.appdirs as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.packaging as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.pyparsing as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.six.moves.urllib as DSDL
2023-01-23 12:36:33 0014744 DEB yakut: Event loop finalization with exc=(<class 'ZeroDivisionError'>, ZeroDivisionError('division by zero'), <traceback object at 0x7f69c85d43c0>)
ZeroDivisionError: division by zero
2023-01-23 12:36:33 0014744 DEB yakut: EXCEPTION ZeroDivisionError: division by zero
Traceback (most recent call last):
  File "/home/pc12/.local/lib/python3.8/site-packages/yakut/main.py", line 264, in main
    status = _click_main.main(prog_name="yakut", standalone_mode=False)
  File "/home/pc12/.local/lib/python3.8/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/pc12/.local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pc12/.local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pc12/.local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/pc12/.local/lib/python3.8/site-packages/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/home/pc12/.local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/pc12/.local/lib/python3.8/site-packages/yakut/main.py", line 314, in proxy
    return loop.run_until_complete(f(*args, **kwargs))
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/home/pc12/.local/lib/python3.8/site-packages/yakut/cmd/monitor/_cmd.py", line 133, in monitor
    with purser.get_node("monitor", allow_anonymous=allow_anonymous) as node:
  File "/home/pc12/.local/lib/python3.8/site-packages/yakut/main.py", line 89, in get_node
    tr = self.get_transport()
  File "/home/pc12/.local/lib/python3.8/site-packages/yakut/main.py", line 82, in get_transport
    2023-01-23 12:36:33 0014744 DEB yakut: Path: ('/home/pguthof/Schreibtisch/cyphal test1/Pycyphal',)
2023-01-23 12:36:33 0014744 DEB asyncio: Using selector: EpollSelector
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scipy.linalg._cblas as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scipy.linalg._fblas_64 as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scipy.linalg._clapack as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scipy.linalg._flapack_64 as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module scikits as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Initialized with registers: KeysView(StaticBackend(':memory:', persistent=False))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.node.id' <- ValueProxy(uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.node.id' = uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.node.id' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Update from env: 'uavcan.node.id' <- b''
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.node.id' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.node.id' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.node.id' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.node.id' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.node.id' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[65535])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.udp.iface' <- ValueProxy(uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.udp.iface' = uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value=''))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.udp.iface' <- Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.udp.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.udp.mtu' <- ValueProxy(uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[1200])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.udp.mtu' = uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[1200]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.udp.mtu' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[1200])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.udp.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[1200])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.udp.duplicate_service_transfers' <- ValueProxy(uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.udp.duplicate_service_transfers' = uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.udp.duplicate_service_transfers' <- Entry(value=uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.udp.duplicate_service_transfers' -> Entry(value=uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.serial.iface' <- ValueProxy(uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.serial.iface' = uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value=''))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.serial.iface' <- Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.serial.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.serial.duplicate_service_transfers' <- ValueProxy(uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.serial.duplicate_service_transfers' = uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.serial.duplicate_service_transfers' <- Entry(value=uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.serial.duplicate_service_transfers' -> Entry(value=uavcan.register.Value.1.0(bit=uavcan.primitive.array.Bit.1.0(value=[False])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.serial.baudrate' <- ValueProxy(uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[0])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.serial.baudrate' = uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[0]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.serial.baudrate' <- Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[0])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.serial.baudrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[0])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.can.iface' <- ValueProxy(uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.can.iface' = uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value=''))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.iface' <- Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Update from env: 'uavcan.can.iface' <- b'pcan:PCAN_USBBUS1'
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.iface' <- Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='pcan:PCAN_USBBUS1')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.iface' -> Entry(value=uavcan.register.Value.1.0(string=uavcan.primitive.String.1.0(value='pcan:PCAN_USBBUS1')), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.can.mtu' <- ValueProxy(uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.can.mtu' = uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.mtu' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Update from env: 'uavcan.can.mtu' <- b'8'
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[64])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.mtu' <- Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[8])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.mtu' -> Entry(value=uavcan.register.Value.1.0(natural16=uavcan.primitive.array.Natural16.1.0(value=[8])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create 'uavcan.can.bitrate' <- ValueProxy(uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])))
2023-01-23 12:36:33 0014744 DEB pycyphal.application._registry_factory: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Create static 'uavcan.can.bitrate' = uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000]))
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.bitrate' <- Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register._registry: SimpleRegistry([StaticBackend(':memory:', persistent=False), DynamicBackend('', persistent=False)]): Update from env: 'uavcan.can.bitrate' <- b'125000'
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.bitrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.bitrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.bitrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[1000000,4000000])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Set 'uavcan.can.bitrate' <- Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[125000,     0])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.application.register.backend.static: StaticBackend(':memory:', persistent=False): Get 'uavcan.can.bitrate' -> Entry(value=uavcan.register.Value.1.0(natural32=uavcan.primitive.array.Natural32.1.0(value=[125000,     0])), mutable=True)
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module win32event as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.six as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.six.moves as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources._vendor.six.moves as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources._vendor.six.moves as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources._vendor.six.moves.urllib as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.appdirs as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.packaging as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.pyparsing as DSDL
2023-01-23 12:36:33 0014744 DEB pycyphal.dsdl._import_hook: Attempting to load module pkg_resources.extern.six.moves.urllib as DSDL
2023-01-23 12:36:33 0014744 DEB yakut: Event loop finalization with exc=(<class 'ZeroDivisionError'>, ZeroDivisionError('division by zero'), <traceback object at 0x7f69c85d43c0>)
ZeroDivisionError: division by zero
2023-01-23 12:36:33 0014744 DEB yakut: EXCEPTION ZeroDivisionError: division by zero
Traceback (most recent call last):
  File "/home/pguthof/.local/lib/python3.8/site-packages/yakut/main.py", line 264, in main
    status = _click_main.main(prog_name="yakut", standalone_mode=False)
  File "/home/pguthof/.local/lib/python3.8/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/pguthof/.local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pguthof/.local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pguthof/.local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/pguthof/.local/lib/python3.8/site-packages/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/home/pguthof/.local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/pguthof/.local/lib/python3.8/site-packages/yakut/main.py", line 314, in proxy
    return loop.run_until_complete(f(*args, **kwargs))
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/home/pguthof/.local/lib/python3.8/site-packages/yakut/cmd/monitor/_cmd.py", line 133, in monitor
    with purser.get_node("monitor", allow_anonymous=allow_anonymous) as node:
  File "/home/pguthof/.local/lib/python3.8/site-packages/yakut/main.py", line 89, in get_node
    tr = self.get_transport()
  File "/home/pguthof/.local/lib/python3.8/site-packages/yakut/main.py", line 82, in get_transport
    self._transport = self._f_transport()
  File "/home/pguthof/.local/lib/python3.8/site-packages/yakut/param/transport.py", line 49, in factory
    result = make_transport(purser.get_registry())
  File "/home/pguthof/.local/lib/python3.8/site-packages/pycyphal/application/_transport_factory.py", line 226, in make_transport
    transports = list(itertools.chain(*(f(registers, node_id) for f in _SPECIALIZATIONS)))
  File "/home/pguthof/.local/lib/python3.8/site-packages/pycyphal/application/_transport_factory.py", line 303, in _make_can
    media = PythonCANMedia(iface, br_arb if br_arb == br_data else (br_arb, br_data), mtu)
  File "/home/pguthof/.local/lib/python3.8/site-packages/pycyphal/transport/can/media/pythoncan/_pythoncan.py", line 203, in __init__
    bus_options, bus = _CONSTRUCTORS[self._conn_name[0]](params)
  File "/home/pguthof/.local/lib/python3.8/site-packages/pycyphal/transport/can/media/pythoncan/_pythoncan.py", line 453, in _construct_pcan
    data_br = int(f_clock / parameters.bitrate[1] / (data_tseg1 + data_tseg2 + data_sjw))
ZeroDivisionError: division by zero
2023-01-23 12:36:33 0014744 DEB yakut: EXIT 1self._transport = self._f_transport()
  File "/home/pc12/.local/lib/python3.8/site-packages/yakut/param/transport.py", line 49, in factory
    result = make_transport(purser.get_registry())
  File "/home/pc12/.local/lib/python3.8/site-packages/pycyphal/application/_transport_factory.py", line 226, in make_transport
    transports = list(itertools.chain(*(f(registers, node_id) for f in _SPECIALIZATIONS)))
  File "/home/pc12/.local/lib/python3.8/site-packages/pycyphal/application/_transport_factory.py", line 303, in _make_can
    media = PythonCANMedia(iface, br_arb if br_arb == br_data else (br_arb, br_data), mtu)
  File "/home/pc12/.local/lib/python3.8/site-packages/pycyphal/transport/can/media/pythoncan/_pythoncan.py", line 203, in __init__
    bus_options, bus = _CONSTRUCTORS[self._conn_name[0]](params)
  File "/home/pc12/.local/lib/python3.8/site-packages/pycyphal/transport/can/media/pythoncan/_pythoncan.py", line 453, in _construct_pcan
    data_br = int(f_clock / parameters.bitrate[1] / (data_tseg1 + data_tseg2 + data_sjw))
ZeroDivisionError: division by zero
2023-01-23 12:36:33 0014744 DEB yakut: EXIT 1
pavel-kirienko commented 1 year ago

Here's the culprit:

export UAVCAN__CAN__BITRATE=125000

The data phase bitrate is zero. Here's the fix:

export UAVCAN__CAN__BITRATE=125000 125000
Pascal8749 commented 1 year ago

No unfortunately that is not the solution. Maybe I'm doing something wrong, but when I enter it like this, bash gives the error "bash: export: "125000": Is not a valid identifier"...

pavel-kirienko commented 1 year ago

add quotes

Pascal8749 commented 1 year ago

You are right. Thank you very much!

pavel-kirienko commented 1 year ago

Moved to https://github.com/OpenCyphal/pycyphal/issues/272