This repository implements the UWB D-Bus daemon, including the service written in Rust, the D-Bus and upstart configuration files, D-Bus interface and protobuf definition. The D-Bus daemon defines the D-Bus interface, initiates the UWB service from the uwb_core library, and delegates the requests to the UWB service.
Officially, this project is built by ChromeOS gentoo build system. However, the D-Bus daemon binary could also be built by cargo. Building the rust code by cargo could validate whether the code is compilable quickly.
It follows the normal ChromeOS development flow.
(inside chroot)
$ cros-workon-<board> uwbd
$ emerge-<board> uwbd
THe uwb_uci_packets
packet, which is a dependency of the D-Bus daemon, depends
on the bluetooth_packetgen
binary. So we should install the
bluetooth_packetgen
binary before building the D-Bus daemon by cargo.
(inside chroot)
$ sudo emerge floss_tools
$ cargo build
When initiating the UWB service from the uwb_core library, we need to inject
the UCI HAL into it. The HAL implementation should be placed at src/uci_hal_impl.rs
.
- dbus: D-Bus policy configuration
- dbus_bindings: D-Bus interface xml
- protos: The protobuf message definition
- src: The rust implementation
- upstart: The upstart configuration