Bluetooth functionality undependable of node type (extender or gateway)
General
In previous OpenSync’s version (below OpenSync 4.4.0), the Bluetooth was tied to the extender node type from Connection Manager (CM2) point of view. In OpenSync 4.4, this feature removes CM2 limitation and Bluetooth can be controlled via Kconfig therefore it can be selected regardless of node types - gateway or extender.
This feature doesn’t cover Public Bluetooth manager (BLEM) which is coming in next OpenSync 5.2 release but only interaction between CM2 and BLEM plus updating northbound API.
Implementation
Kconfig Changes
We introduced a two new Kconfig options named CM2_BT_BEACON_HANDLER
and CM2_BT_CONNECTABLE
and they are enabled by default. In case your HW doesn’t support BT, please disable it for your target.
A node can use Bluetooth for two purposes:
Reading information only. The option
CM2_BT_BEACON_HANDLER
manages Bluetooth beaconing on a node. Beaconing makes the nodes discoverable and ready to be added to an OpenSync-enabled network.Write and read information. The option
CM2_BT_CONNECTABLE
enables writing into OpenSync node. One of the use cases would be to write PPPoE settings over Bluetooth connection. TheCM2_BT_CONNECTABLE
option depends onCM2_BT_BEACON_HANDLER
.
File Changes
We introduced new file cm2_blem.c
which interacts with BT and is controlled by upper Kconfig options to enable or disable the compilation of the file within unit.mk
.