Segger BLE SES nrfConnect SDK/5340 and configuration of Device Information Service / Split between processors - Just confused

Hi,

Background; I have previously worked using old nordic sdk 15.3; but now due to use of 5340 I am forced to moved to new zephyr based SDK.
I think a lot of the issues I am having at the moment stem from some basic misunderstandings of how the dual processor stuff hangs together and some confusion between all the build systems (west, SES, Visual Studio etc).


I have been working from BLE peripheral examples using Segger SES, nrf connect SDK/Zephyr.

Project was created as appns (via file->open nrfconnect sdk project).

I can see my peripheral device being advertised with I assume a name which I assume is whatever has been picked up from settings (CONFIG_SETTINGS/CONFIG_BT_SETTINGS); and I assume this picks up some kind of defaults as I never saved any settings in the NV storage.

I also see Device Information Service and characteristics when I connect to my peripheral device.

I have CONFIG_BT_DIS in my proj.conf; yet if I search the SES project I find no references to that. If a search whole solution I find code related in bluetooth/services/dis.c; yet code is NOT highlighted; and this code is not shown in the project for the app processor. Is bluetooth/services/dis.c actually part of network processor code?Is this ALL taken care of in the network processor? My solution does not show the project for the network processor only the app processor; is this my first mistake? Do I somehow need to add network processor project into my solution so that I see the codebase for both processors?

Confused that in SES when I go project->configure nrf project; it presents me with the choice of menuconfig, hci_rpmsg_menuconfig and spm_menuconfig; yet in solution I only see my app processor project. Is this just SES confusing me?

So how do I modify the Device Information Services characteristics?
Is this just picked up an init by the network processor from the stored settings?
If the appropriate CONFIG is set for the network processor does it just magically read required data from settings storage for my manufacturer, model, FW rev etc?
Do I just need to ensure my FW rev is stored in the setting storage OK for it to magically work?

Any hints or good examples out there?

Related