This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/LAUNCHXL-CC2640R2: how can set advertisement data length more then 28Byte in BLE5

Part Number: LAUNCHXL-CC2640R2

Tool/software: TI-RTOS

Hi 

I have a question again...

in "Simple_peripheral" project (BLE5), when I set advertisement data more than 28Byte the advertisement is not work...

I watch data using IPHONE8 +, and TI SIMPLELINK appplication

here is veriable what I set.


static uint8_t advertData[] =
{
     0x02,   // length of this data
     GAP_ADTYPE_FLAGS,
     DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,
     // service UUID, to notify central devices what services are included
     // in this peripheral
     0x03,   // length of this data
     GAP_ADTYPE_16BIT_MORE,      // some of the UUID's, but not all
     LO_UINT16(SIMPLEPROFILE_SERV_UUID),
     HI_UINT16(SIMPLEPROFILE_SERV_UUID),
     0x20,
     GAP_ADTYPE_MANUFACTURER_SPECIFIC,
     0x01,
     0x02,
     0x03,
     0x04,
     0x05,
     0x06,
     0x07,
     0x08,
     0x09,
     0x0A,
     0x0B,
     0x0C,
     0x0D,
     0x0E,
     0x10,
     0x11,
     0x12,
     0x13,
     0x14,
     0x15,
     0x16,
     0x17,
     0x18,
     0x19,
     0x1A,
     0x1B,
     0x1C,
     0x1D,
     0x1E,
     0x1F,
     0x20
};
and In setting, it is set 251byte...
  // Set default values for Data Length Extension
  // Extended Data Length Feature is already enabled by default
  {
    // Set initial values to maximum, RX is set to max. by default(251 octets, 2120us)
    // Some brand smartphone is essentially needing 251/2120, so we set them here.
    #define APP_SUGGESTED_PDU_SIZE 251 //default is 27 octets(TX)
    #define APP_SUGGESTED_TX_TIME 2120 //default is 328us(TX)
    // This API is documented in hci.h
    // See the LE Data Length Extension section in the BLE5-Stack User's Guide for information on using this command:
    // software-dl.ti.com/.../
    HCI_LE_WriteSuggestedDefaultDataLenCmd(APP_SUGGESTED_PDU_SIZE, APP_SUGGESTED_TX_TIME);
  }
  • I know there are two handle of GAP stack named which advParamLegacy and advParamLongRange.

    and I think "advParamLongRange" handle is used to extend advertise.
    but it doesn't work..... when set more then 31byte of advert data..
    what's wrong?
  • Hello,

    Most phones at this time do not support advertising extension (AE) which is the Bluetooth 5 feature used to enable large advertisement payloads. Legacy advertising is limited to 31B as per the spec. However most phones will only scan for legacy advertisements.

    e2e.ti.com/.../729683
  • thank you for reply my question.

    you mean that phone can't read extended advertisement data?

    so I can read extended advertisement data using scan only?

  • Hello,

    >> you mean that phone can't read extended advertisement data?

    Only AE capable phones can read AE adv payloads. All phones can read legacy advertisements

    Some phones (those that support full BLE 5.0) can scan for extended advertisements.
    I recommend doing an LL feature exchange with the phone and seeing if the AE (advertising extensions) bit is set. If yes, it may be able to scan AE packets.

    >> so I can read extended advertisement data using scan only?

    Scanning is different too in with AE so again the phone would need to support AE in order to read its scan info.