looking at SimpleBLEPeripheral I was not able to find where default values of minimum and maximum advertising interval default values are defined and assessed.
In time between adversting events, does CC2540 go in low power mode , when in advertising ? How can be estimated the power consumption vs. advertising interval?
You can start and stop advertising using the gap events. See peripheral.c file
GAPROLE_ADVERT_ENABLED and DEFAULT_ADVERT_OFF_TIME is for how long the device will advertise before going into sleep mode.There are four special physical channels in bluetooth for advertisement. GAP_EndDiscoverable() is used to end advertisment and sal_set_event( gapRole_TaskID, START_ADVERTISING_EVT ) can be used to start
You should check the status of your device before advertisement as you can connect to only one central device at once so no point in advertising always
The simpleBLE example goto simplebleperiheral c file take a look at these two initializations
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_enable );
GAPRole_SetParameter( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );
Im not sure about power consumption , but ive seen it in the forums somewhere.let me know if you find any specifics
i think you can find power consumption vs. advertising
interval by method in the following link:
In reply to Younes Rashidi:
I went through
On page 22 to measure the standby current in PM2 state we enter MIN AND MAX connection interval to be 3200 which is 4 seconds.
"With these settings, the effective connection interval is 8 seconds, meaning that the CC2540
will be in PM2 for 8 seconds between each connection event. Click the “Establish” button to
form the connection between the devices. "
Then how do you get 8 seconds effective interval?
What is MIN and MAX connection interval and how are these actually used to get the connection interval for communication
The default advertising interval is 100ms. This can be changed by directly calling the GAP API function GAP_SetParamValue and changing the value of the parameters TGAP_LIM_DISC_ADV_INT_MIN and TGAP_LIM_DISC_ADV_INT_MAX.
Yes, the CC2540 does go into low power mode between advertising events.
In reply to Hansen Dsouza:
The effective connection interval is 8 seconds because slave latency is set to 1, and the connection interval is set to 4s. For more details on the terms "connection interval", "effective connection interval", and "slave latency", please see the software developer's guide.
The CC2540 BLE controller actually always uses the MAX connection interval, though for clarity the app note just recommends setting the two values equal so that you can just specify the exact interval desired. The reason for having a MIN and MAX value is that the BT 4.0 spec requires this, primarily for systems in which the controller and host are implemented as separate devices.
In reply to Willis1:
Thanks i will try that out
Being a peripheral device do I have to be in discoverable mode ie. advertising in order for a central device to be able to connect to me.
If so then in a scenario where communication has to be re established once broken should the peripheral device have to be continously advertising?
I put the device in general discovery mode so the device will keep advertising when connection is lost.I noticed on the oscilloscope that the advertising rate was quite high about 10ms so I used
GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MIN , 15000);
GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MAX , 15000);
to set it to 15 secs and I can still detect the device now using Btool.
Im gonna have to disable the automatic battery reading feature because the device keeps waking up out of PM3
Anyway i can scan for advertisement being a peripheral instead of broadcasting to reduce power?
Hi Dsouza ,
The advertising interval is from the 20 ms to 10.24 s ( I have got it from Ti's Deep dive BLE training ppt ) but how can you set to 15 secs ???
Thanks in advance ,
I have read these posts and I am still somewhat confused on how to determine the power consumption for a BLE device during advertising only. I know that Advertising Interval can be in the range of 20 ms to 10.24 s. So for example, if my advertising interval is set to 100 ms, how do I determine what the power consumption is for an advertising interval time of 100 ms?
In reply to James Coleman:
Have you read this applicatiopn note:
That might give some more insights.
Let me know if it helps.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.