Hi,
I am currently developing a custom BLE peripheral that can transmit data packets of 244 bytes via notification. Using e.g. LightBlue I can receive these notifications without a problem. In order to better be able to debug my peripheral I am trying to setup a simple zephyr BLE central using a nrf5340-DK. This central works fine, if I limit payload size to 20 bytes, but fails to receive notifications with larger payload sizes.
Looking at the throughput sample, I have tried to change the max tx length on my central like this:
... but surprisingly get the following output (first line is coming from the connected callback):
It looks like I cannot change tx_max_len, but only the tx_max_time parameter by the call to bt_conn_le_data_len_update.
Strangely the function call does not seem to deliver any error, even though it does not change the parameters in the desired fashion.
Since my code is very close to the throughput example, I do not really understand this behavior - the throughput example is running on the same board as expected.
Both, the throughput example as well as my central, however are producing the same warnings during build time, that some CONFIG parameters cannot be resolved.
All bluetooth related CONFIG settings in prj.conf are identical to the throughput example. I am not sure, however, what else might be needed for initialization or configuration in order to work on the split core system of nrf5340 - do I miss something? There is a file called hci_rpmsg.conf that holds some parameters in the network part in the throughput sample, that I do not have in my program, because I do not understand what it does. Just copying the file did not do the job ;-).
I am working with VSCode and nrfConnect SDK 2.2.0 on a MacBook Pro.
I would really be happy for any advice on how to fix this strange behavior that I have spent quite a few hours already to figure out on my own.
Regards,
Jens