Homepage GitHub

Will libcanard or libuavcan becomes a kind of software bus(for IPC)?

Will libcanard or libuavcan becomes a kind of software bus? like D-bus
So that can be break the boundary between hardware and software.
Everything on this system act as a active node, they can talk with each other, even if some node in different kind of communication type. so, more abstract logic can be build.

libcanard or libuavcan can provide basic operating system services, act as IPC(inter-process communication)

libuavcan. I have an intern this summer that is focusing on this for UAVCAN over Ethernet and I am hoping to build libuavcan over the course of the year. If I can find additional contributors to this effort we can accelerate this timeline.

As for “a kind of software bus,” by supporting CAN, CAN-FD, and Ethernet (which probably means UDP, so not necessarily ethernet) we will build out the framework to support any network layer that has some minimal capabilities.

No No No, what I am mean is, will uavcan can be a kind of IPC? like D-bus or Ros message. so process can abstract as a uavcan node on this virtual bus. Please skip the hardware. think about all things on this system can be plugin on this bus.
maybe there will burn a kind of node, like a router to each kind of hardware.

UAVCAN makes no explicit distinction between baremetal nodes running on dedicated hardware and applications running on general-purpose computers. What you are describing can already be achieved using PyUAVCAN, and later it will also be possible to do using libuavcan.

I am currently working on the proposal I mentioned earlier in a different thread here that should make the IPC capabilities of UAVCAN more discoverable to adopters. I should post an update here when it is ready.

Would it be something like AP_Periph ?

@Cherish-forever see if this is close to what you had in mind:

https://pyuavcan--154.org.readthedocs.build/en/154/pages/demo.html

If this idea is accepted, we may see it implemented in Libuavcan and other implementations (not in libcanard though because it is meant to be very low-level).

The question is about IPC, it is not related to deeply embedded systems at all.