Use only one channel

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello, is it possible to send advertising packets on one fixed channel?   (instead of three channels)

Also, is it possible for the master node to scan only one fixed channel whenever it scans?

Thank you.

0 Likes
1 Solution

check out the mybeacon app for more details:

blecm_startAdv(

        HCIULP_ADV_NONCONNECTABLE_EVENT,                // non-connectable undirected advertisement

        160,                                            // adv interval 100 msec, N*0.625ms

        HCIULP_ADV_CHANNEL_MAP_MASK,                    // all channels

        HCIULP_PUBLIC_ADDRESS,                          // int advAdrType,

        HCIULP_ADV_FILTER_POLICY_WHITE_LIST_NOT_USED,   // int advFilterPolicy,

        HCIULP_PUBLIC_ADDRESS,                          // int initiatorAdrType,

        NULL);                                          // UINT8* initiatorAdr

A gentle reminder on adv_interval, "160" which translates to 100ms is the minimum you can go.

View solution in original post

17 Replies
Anonymous
Not applicable

I know you can do this in mybeacon in under blecm_startAdv, check the header file for defs

#define     HCIULP_ADV_CHANNEL_37                                           0x01

#define     HCIULP_ADV_CHANNEL_38                                           0x02

#define     HCIULP_ADV_CHANNEL_39                                           0x04

Have to check for the scanning

-Kevin

Anonymous
Not applicable

I saw that blecm_startAdv function has parameters to specify the channels.  What if I use bleprofile_Discoverable function?  Do I need to change function or I can somehow configure it?   Thanks.

0 Likes
Anonymous
Not applicable

hlee  you may also find this post to be helpful Discovery count from single advertising channel

0 Likes
Anonymous
Not applicable

Hi kwang, I read that post but I don't see a way to configure channels...  Thanks.

0 Likes
Anonymous
Not applicable

Will ask the developers and see if there's anyway to broadcast on a single channel through bleprofile_Discoverable and if it is possible to scan one channel.

bleprofile_Discoverable always starts advertisements on 3 channels.

0 Likes
Anonymous
Not applicable

If I use blecm_startAdv function, what "advertising duration" will it use?   Will it use the values defined in BLE_PROFILE_CFG?


0 Likes

check out the mybeacon app for more details:

blecm_startAdv(

        HCIULP_ADV_NONCONNECTABLE_EVENT,                // non-connectable undirected advertisement

        160,                                            // adv interval 100 msec, N*0.625ms

        HCIULP_ADV_CHANNEL_MAP_MASK,                    // all channels

        HCIULP_PUBLIC_ADDRESS,                          // int advAdrType,

        HCIULP_ADV_FILTER_POLICY_WHITE_LIST_NOT_USED,   // int advFilterPolicy,

        HCIULP_PUBLIC_ADDRESS,                          // int initiatorAdrType,

        NULL);                                          // UINT8* initiatorAdr

A gentle reminder on adv_interval, "160" which translates to 100ms is the minimum you can go.

Anonymous
Not applicable

Thanks.  There is no parameter "advertising duration" in above example.  It has adv "interval".  When using bleprofile_Discoverable, the "duration" is defined in BLE_PROFILE_CFG.

0 Likes

That means that you need to turn advertisements off when you find it appropriate. To turn advertisements off use blecm_setAdvEnable(0);

0 Likes
Anonymous
Not applicable

If I start advertising using bleprofile_Discoverable(), can I use blecm_setAdvEnable(0) to stop the advertising?

Thank you.

0 Likes
Anonymous
Not applicable

According to the API reference, the minimum is 32 slots which I think is 20 ms.

Can you confirm which one is correct? 160 or 32 slots?

Thanks

James

0 Likes

According to the spec you cannot send non-connectable advertisements more often than every 100msec.  This rule is enforced in the stack.  Connectable advertisements do not have this limitation.

Anonymous
Not applicable

I want to follow up with my question, since I still don't have the answer.

Is it possible for the master node to scan only one fixed Adv channel whenever it scans?

0 Likes

No

0 Likes
Anonymous
Not applicable

In the advertisement report, is it possible for the master to know which channel it receives each advertisement packet?

0 Likes

No, this information is not exposed to the application.  When device is an observer it listen on the certain advertisement channel for the duration of the scan window.  The next scan interval it will listen on the next advertisement channel.  If peer advertises on all 3 channels, it is pretty much random on which channel will be hit.