Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
Pascal8749 opened this issue Jan 23, 2023 · 7 comments
Closed

Comments

@Pascal8749
Copy link

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

export UAVCAN__CAN__IFACE='pcan:PCAN_USBBUS1'
export UAVCAN__CAN__MTU=8
export UAVCAN__CAN__BITRATE=125000
export UAVCAN__NODE__ID=$(yakut accommodate)
echo "Auto-selected node-ID for this session: $UAVCAN__NODE__ID"

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
Copy link
Member

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

@Pascal8749
Copy link
Author

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
Copy link
Member

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
Copy link
Author

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
Copy link
Member

add quotes

@Pascal8749
Copy link
Author

You are right. Thank you very much!

@pavel-kirienko pavel-kirienko changed the title ZeroDivisionError: division by zero Unhelpful error reporting when the CAN bus parameters are invalid Jan 24, 2023
@pavel-kirienko
Copy link
Member

Moved to OpenCyphal/pycyphal#272

@pavel-kirienko pavel-kirienko closed this as not planned Won't fix, can't repro, duplicate, stale Feb 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants