What are the constants in nrf_mesh_config_node_app.h used for?

SørenHN gravatar image

asked 2017-11-10 11:34:01 +0100

I have a hard time figuring out what some of the constants in nrf_mesh_config_node_app.h for my Bluetooth Mesh application should be set as. Instead of writing a question for each of the constants i have listed the ones i don't understand here.

I am making a Bluetooth beacon connecting to a mesh network. It broadcasts data received from the provisioner. I have therefore implemented a beacon model for the client and server. There is also going to another type of device that will receive the broadcast data and send messages to the provisioner according the beacon data and real world events. If it is possible to describe the constants according to the specification, i think i will easier to understand.

DEVICE_PRODUCT_ID & DEVICE_VENDOR_ID In all examples these are both set as 0x0000, what could these constants be used for?

DSM_SUBNET_MAX Is this the maximum number of subnetworks in the network or the maximum number of subnetworks this node can be a part of?

DSM_APP_MAX The description for this is "Maximum number of applications" but what counts as a application? And is it the number of applications in this node or the whole network?

DSM_DEVICE_MAX I am no sure what this is used for? In the Light Switch client example it set to SERVER_COUNT so does i count the number of devices this node will know about?

DSM_KEY_REFRESH_KEYS_MAX I have no idea of what this is used for?

DSM_VIRTUAL_ADDR_MAX I am not completely sure what a Virtual address is and what it is used for?

DSM_FLASH_PAGE_COUNT When should this not be set as 1?

edit retag flag offensive close delete report spam

1 answer

Sort by » oldest newest most voted
hungbui gravatar image

answered 2017-11-13 14:58:20 +0100

updated 2017-11-14 14:39:08 +0100

Hi Søren,

Please be aware that our SDK is the implementation of the Bluetooth Mesh spec (check Mesh profile). We assume that users should have some basic understanding of the Bluetooth Mesh spec when they start using the SDK.

Most of the question can be answered with the information from the spec:

DEVICE_PRODUCT_ID & DEVICE_VENDOR_ID: are the information should be included in the composition data (Section 4.2). This is defined by the vendor, and used by the configuration client. It's up to the developer of the configuration client on what to do with it. For example product ID == Door bell then assign door bell application key for.

DSM_SUBNET_MAX: Section 2.2.1

DSM_APP_MAX: limit the max number of application key.

DSM_DEVICE_MAX: Max number of device key (for provisioning)

DSM_KEY_REFRESH_KEYS_MAX: We don't support key refresh yet so it = 1

DSM_VIRTUAL_ADDR_MAX: Please check the spec (2.3.5)

DSM_FLASH_PAGE_COUNT: When you use flash for your application, not only 1 page for DSM data storage.

edit flag offensive delete publish link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer. Do not ask a new question or reply to an answer here.

[hide preview]

User menu

    or sign up

Recent questions

Question Tools

1 follower


Asked: 2017-11-10 11:34:01 +0100

Seen: 60 times

Last updated: nov. 14 '17