NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW binding or API for dbus (libdbus)

I am working on a project which has a bunch of other processes designed to use dbus daemon to communicate with each other. Caveat, right now, this doesn't run on NI Linux RT, it is on debian. I ask on here because I don't know where else to ask, and we intend on moving this to NI Linux RT eventually.

Setup:
Debian
LabVIEW 2018 64bit (negotiable to 32bit)

 

Questions:

Do we have a binding in LabVIEW for dbus? Something I can use similar to the python api: https://dbus.freedesktop.org/doc/dbus-python/tutorial.html

Do we have a roadmap for adding the dbus daemon to the NI Linux RT kernel? (Or has anybody done that before?)

 

0 Kudos
Message 1 of 4
(2,092 Views)

Questions:

Do we have a binding in LabVIEW for dbus? Something I can use similar to the python api: https://dbus.freedesktop.org/doc/dbus-python/tutorial.html

Do we have a roadmap for adding the dbus daemon to the NI Linux RT kernel? (Or has anybody done that before?)


  1. Not that I'm aware of, but you should be able to use Call Library Function Nodes to create an API in LabVIEW by wrapping the C API for D-Bus.
  2. D-Bus appears to be included in the NI Linux Real-Time Package Repository, and support would be covered as described in support for third-party libraries and tools in the FAQ

One thing to call out: I'm a bit surprised that you're working with LabVIEW on Debian. That's not one of the Operating Systems we consider tested or supported for LabVIEW, and I'd highly recommend working in a supported distribution as it might save you some headache if you run into any issues. 

Charlie J.
National Instruments
0 Kudos
Message 2 of 4
(2,078 Views)

To add to what Charlie already said - libdbus and dbus-daemon are available in NI Linux RT images. Because they are used by other components on the system they are already installed and the daemon is running.

 

I did a quick check on a cRIO-904x with a 2018 software stack:

# find /usr -name 'libdbus*'
/usr/lib/libdbus-1.so.3
/usr/lib/libdbus-glib-1.so.2
/usr/lib/libdbus-glib-1.so.2.3.3
/usr/lib/libdbus-1.so.3.14.9

 

# ps ax | grep dbus
1086 messageb 0:00 /usr/bin/dbus-daemon --system
3556 admin 0:00 grep dbus

Message 3 of 4
(2,065 Views)

Thanks for the help!

That is good news that RT already has the daemon running.

I will have to see what development time we have to create an API.

0 Kudos
Message 4 of 4
(2,060 Views)