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

Problems with a full advertising name

Hi,

my project is based on the example 'ble_app_proximity' from SDK ver 17.0.2. When I set a longer DEVICE_NAME, for example

#define DEVICE_NAME "123456789ABCDEF"

the string is cut up after the first 12 characters, so I am just seeing the name "123456789ABC" when advertising., even though in the advertising_init, I set the name type to full name:

init.advdata.name_type  = BLE_ADVDATA_FULL_NAME;

I am aware of another question in this forum where it was suggested to put the list of UUID's in the scan response packet rather than the advertise packet due to missing space in the advertise packet. But this would mean my scanner would need to send a scan request in order to get the list of UUID's, and this is not an option in my case.

Is there any other workaround that does not include changing the scanner's behaviour?

Thank you kindly for your help.

Parents
  • Hello,

    I am aware of another question in this forum where it was suggested to put the list of UUID's in the scan response packet rather than the advertise packet due to missing space in the advertise packet. But this would mean my scanner would need to send a scan request in order to get the list of UUID's, and this is not an option in my case.

    How many UUID's are you including in your advertising? How many bytes total do you use for your advertising?
    For the record, I will mention here the limit of 31 bytes for the advertising packet.

    Is there any other workaround that does not include changing the scanner's behaviour?

    What is the total contents of your advertising packet?
    Does your application require a 15 byte device name? Please note that each added field adds 2 byte overhead to your advertisement, so a 15 byte name in reality requires 17 bytes to advertise. That is more than half the available packet length, spent on the name.

    the string is cut up after the first 12 characters, so I am just seeing the name "123456789ABC" when advertising., even though in the advertising_init, I set the name type to full name:

    Yes, this is as expected. Please see the note in the ble_advdata_encode API Reference Documentation.
    Are you seeing any errors being returned, at any point of your advdata initialization?

    Best regards,
    Karl

Reply
  • Hello,

    I am aware of another question in this forum where it was suggested to put the list of UUID's in the scan response packet rather than the advertise packet due to missing space in the advertise packet. But this would mean my scanner would need to send a scan request in order to get the list of UUID's, and this is not an option in my case.

    How many UUID's are you including in your advertising? How many bytes total do you use for your advertising?
    For the record, I will mention here the limit of 31 bytes for the advertising packet.

    Is there any other workaround that does not include changing the scanner's behaviour?

    What is the total contents of your advertising packet?
    Does your application require a 15 byte device name? Please note that each added field adds 2 byte overhead to your advertisement, so a 15 byte name in reality requires 17 bytes to advertise. That is more than half the available packet length, spent on the name.

    the string is cut up after the first 12 characters, so I am just seeing the name "123456789ABC" when advertising., even though in the advertising_init, I set the name type to full name:

    Yes, this is as expected. Please see the note in the ble_advdata_encode API Reference Documentation.
    Are you seeing any errors being returned, at any point of your advdata initialization?

    Best regards,
    Karl

Children
Related