This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

merging #BluetoothMesh into #SoftDevice ?

I think instead of releasing separate SDK for #BluetoothMesh, Nordic Semiconductor should merge #BluetoothMesh into #SoftDevice. Is it possible ?

If yes, then we can even add support for all Models defined by Bluetooth_SIG in it.

Firmware app developer will only enable feature of MESH & required Models using preprocessor like

#define Bluetooth_Mesh  
#define GEN_ONOFF_SRV_MODEL  
#define GEN_ONOFF_CLI_MODEL  
#define GEN_LEVEL_SRV_MODEL ...etc....etc...  

Then internally all functions within every Model (which are part of #SoftDevice) will transfer control to one function let's say foo(model, ctx, buf, OPCODE).

With foo() Firmware app developer could do whatever he wants like ......

void foo(struct bt_mesh_model *model, struct bt_mesh_msg_ctx *ctx, struct net_buf_simple *buf, uint16_t opcode)
{
	switch(opcode)
	{

		case 0x8201:	//GEN_ONOFF_SRV_GET
  
                                       // firmware App's Logic

                                      break;

		case 0x8203:	//GEN_ONOFF_SRV_UNACK

                                      // firmware App's Logic
                        
                                      beak;
                  
                :
                :
     }
 }

Thank You !!

Note : my foo() is inspired from Zephyr OS implementation.

  • Yes, because of this personally I don't like Nordic APIs for GATT based peripheral as well as Bluetooth Mesh development. Currently I'm working on Zephyr only. Wonderful work done by Zephyr Team. Very simple APIs.

    Once Zephyr release support for flash to save provising and configuration, no one will go with Nordic Mesh SDK

  • Hello vikrant8051,

    (1/3) Just to add... whilst I appreciate your enthusiasm, I believe that you're letting it get ahead of the logical side of things. As endnode and Torbjørn have pointed out, there are many Nordic BLE developers who would not like to see the extra 'bloat' of mesh added to the softdevice. Inversely, there will be some proponents of the SIG 'flooding' mesh who will feel that they don't need the full softdevice stack and could call for a slimmed down version of that. Given that the Bluetooth SIG have not ruled out a possible 'routing' mesh standard in the future, I believe that Nordic have struck the right balance. i.e. provide the softdevice 'as is' and run the current implementation of Bluetooth mesh on top of that. This also enables the future possibility of running other mesh stack implementations. And do all this, whilst providing 'best-of-breed' SoCs to run them on.

  • (2/3) Furthermore, you as a proponent of Zephyr (and we also like the work done/progress being made by that team) would know (or at the very least should know) that the significant strides made in Zephyr Bluetooth support has come about in large part based on the work and contributions made by Nordic. This is alluded to and confirmed by Johan Hedberg in his Creating Bluetooth-based IoT Solutions with Zephyr Project presentation so I don't believe it's entirely fair to use Zephyr's progress as a stick to beat Nordic with.

  • (3/3) Ultimately, I'm not aware of Nordic charging for the use of their softdevice and simply provide it as a way to utilize their SoCs (which is their core business) which based upon your previous posts, you appear to be using. So as mesh developers, we get to choose whether we want to utilize Nordic's softdevice architecture or the open-source Zephyr stack (and/or a hybrid approach). From Nordic's perspective, I would imagine that as long as we're doing so on their SoCs, this means a win-win for the nRF5x ecosystem.

  • Hi Leonwj,

    Thanks for the reply. I was not aware about it that Nordic Semiconductor team is also part of Zephyr Bluetooth development. Salute & congratulation to every developer behind it from Nordic Team. Really Great job & I apologies to ignore their contribution which was unintentional.

    I think Mr.Johan Hedburg is currently working on adding feature of saving provisioning & configuration details of #BluetoothMesh on flash of nrf52. Once he succeed, Zephyr will be the first open-source project which has complete support for #BLEMesh with PB_ADV & PB-GATT.

    Could you please accelerate this process from your side by adding further contribution ?

Related