3 Replies Latest reply on Jun 3, 2020 6:52 AM by GaneshD_41

    Why does BLE adv. interval not match settings in component config?

    DeCo_1926091

      In the PSoC 4 BLE component configuration screen, GAP Settings, Advertisement settings I have the fast advertising interval set to min=20ms and max=30ms but it appears to be advertising just every 10 seconds. 

       

      Also, every 10 seconds two advertisements are sent in a row, with a different number of elements in the arrays:

       

      =====================================

      Advertisement(1,1) = kCBAdvDataManufacturerData

      Advertisement(1,2) = <00003412 6610>

      Advertisement(2,1) = kCBAdvDataTimestamp

      Advertisement(2,2) = 608158930.557234

      Advertisement(3,1) = kCBAdvDataIsConnectable

      Advertisement(3,2) = 1

      Advertisement(4,1) = kCBAdvDataRxPrimaryPHY

      Advertisement(4,2) = 0

      Advertisement(5,1) = kCBAdvDataRxSecondaryPHY

      Advertisement(5,2) = 0

      Advertisement(6,1) = kCBAdvDataLocalName

      Advertisement(6,2) = LBE-5A

      Advertisement(7,1) = kCBAdvDataTxPowerLevel

      Advertisement(7,2) = 0

      =====================================

      10

      =====================================

      Advertisement(1,1) = kCBAdvDataManufacturerData

      Advertisement(1,2) = <00003412 6610>

      Advertisement(2,1) = kCBAdvDataTimestamp

      Advertisement(2,2) = 608158930.558206

      Advertisement(3,1) = kCBAdvDataIsConnectable

      Advertisement(3,2) = 1

      Advertisement(4,1) = kCBAdvDataRxPrimaryPHY

      Advertisement(4,2) = 0

      Advertisement(5,1) = kCBAdvDataRxSecondaryPHY

      Advertisement(5,2) = 0

      Advertisement(6,1) = kCBAdvDataLeBluetoothDeviceAddress

      Advertisement(6,2) = <00ffeedd 50a000>

      Advertisement(7,1) = kCBAdvDataLocalName

      Advertisement(7,2) = LBE-5A

      Advertisement(8,1) = kCBAdvDataTxPowerLevel

      Advertisement(8,2) = 0

       

      what am I doing wrong?

       

       

      Thanks for your help,

      Dennis

        • 1. Re: Why does BLE adv. interval not match settings in component config?
          DeCo_1926091

          Found the answer:

          The second set of advertisement data appears to be the Scan Response Packet.  It has the

          AdvDataBluetoothDeviceAddress block checked off.  Since the Advertisement Packet did not have it checked it wasn't included.  Therefore there was an additional two elements in the array of the Scan Response Packet.

          Once I checked the box,  I expected the two sets of data to be the same size.  However, the actual result was that only one set then appeared to be sent.  That's fine.  It's what I really wanted, but I don't understand the details.

          If anyone would care to explain it to me I'd be grateful.

           

          Thanks,

          Dennis

          • 2. Re: Why does BLE adv. interval not match settings in component config?
            GaneshD_41

            Hi Dennis,

             

            >>"I have the fast advertising interval set to min=20ms and max=30ms but it appears to be advertising just every 10 seconds. "

            --> Can you please tell how are you actually measuring the time between two advertisements? Are you using any analyser? If yes, can you please attach that file?

             

            We have tested configuring advertisement with FAST advertising interval as 20 milli seconds. Please find the attached image showing the advertisement packets with corresponding time stamp.

             

            Please ensure you have called the API CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST); with correct argument in your application.

             

            If possible, please attach the application that you are testing to this thread.

             

            Thanks

            Ganesh

            • 3. Re: Why does BLE adv. interval not match settings in component config?
              GaneshD_41

              Hi

               

              The data present in Scanresponse packet is only obtained when the Central performs Active scanning.

               

              In case of passive scanning, the central receives only the advertisement data packet where as in case of passive scanning the central gets both the advertisement packet data and scan response packet data in the same event "CYBLE_EVT_SCAN_PROGRESS_RESULT"

               

              Please update if your query is something else/if you need any other information.

               

              Thanks

              Ganesh