UAVCAN/serial: issues with DMA friendliness and bandwidth overhead

Sure, however I don’t see this branch now. Was it merged already ?

Yes.

First draft is here: https://github.com/flytrex-vadim/pyuavcan/commit/532f4ee35e39052d96fb479761fdfa491a73e4b8

1 Like

That looks good, thank you. I have a few notes:

  • Please do not list runtime dependencines in requirements.txt, this file is for dev deps only, as indicated in the header. The COBS library should go into setup.cfg under extras_require.transport_serial:
  • Please try to minimize unnecessary whitespace change.

Fixed whitespace (bad pycharm setting) and dependencies

https://github.com/flytrex-vadim/pyuavcan/commits/cobs

Okay. There are some nits like a commented-out string and some remaining whitespace but I think if the tests pass, we should be good to open a PR for a thorough review. Do the tests pass? Let me know if you need help setting up the test environment (although I think (or hope) it should be fairly straightforward).

Ah, also, would you be inclined to update the docs for the serial transport as well? Most of them are in __init__.py of pyuavcan.transport.serial.

All the tests pass at the \transport level.
At the whole pyuavcan level there are some dsdl test failures that are probably setup-related (PYTHONASYNCIODEBUG)

created PR after few more fixes incl your nits

Thank you, @VadimZ. The UAVCAN/serial transport PoC is now officially based on COBS, and it is highly likely that this implementation will end up being formally specified in UAVCAN v1.1.