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.

POWER SAVING mode CC2541

Other Parts Discussed in Thread: CC2541

Hi all,

Can anyone please suggest some document which can explain about POWER_SAVING mode in BLE stack for CC2541 in a BLE peripheral device. I also want to know if there is any way to connect to a central device on its own when it goes to sleep mode or when it gets disconnected. I want that user should not scan and connect(when disconnected) to the peripheral again and again and in stead should connect automatically to the registered central device(registration should be done when user scans and connect or pair for the first time).

  • You can define POWER_SAVING in your BLE peripheral device and it would go to sleeping mode automatically.
  • My central device is going to be mobile phone. In reference to the the FW for TI sensor tag android app for cc2541, the connection interval has been set to around 15milliseconds(private static final short OAD_CONN_INTERVAL = 12(it may correspond to 12msec)); So do you mean if peripheral device wakes up within this 15msec then peripheral will be able to receive the notification when characteristic value changes? Will it not receive if i wake up the device every 1sec or 2sec? I want to make the peripheral sleep for 2sec and it should be able to get notified if there is any change in characteristic value. Please explain in brief your answer to (1) again as i couldn't get it clearly.
  • Connection wake up time is defined by GAPROLE_MIN_CONN_INTERVAL and GAPROLE_MAX_CONN_INTERVAL. Connection wakes up will do data receiving but your application event wakes up won't do receive.
  • If i understood right then if peripheral wakes up in time defined by GAPROLE_MIN_CONN_INTERVAL and GAPROLE_MAX_CONN_INTERVAL( which is around 0.98sec by default and which can be up to 4sec) then it will receive the message. If device wakes up by application event which may be by using timer then it will not receive.
    So if i set GAPROLE_MAX_CONN_INTERVAL for up to 2sec then it can serve my purpose in which i need to wake up every 2sec to check for message.
  • BLE central and device would negotiate a connection interval between GAPROLE_MIN_CONN_INTERVAL and GAPROLE_MAX_CONN_INTERVAL during pairing. After, BLE device would wake up with this connection interval to receive data.
  • Ya. I got now. but one thing more i want to know. As you said " BLE device would wake up with this connection interval to receive data" so device will wake up from sleep mode to check for message in GAPROLE_MIN_CONN_INTERVAL or GAPROLE_MAX_CONN_INTERVAL or it will wake up in between two intervals randomly after connection has been made. There may be huge difference in between min and max time.
  • As I replied in previous post, BLE central would assign a connection interval which is between max and min connection interval to BLE device and BLE device would always use this connection interval until disconnected.
  • ok thanks. Will read document again to know this thing in detail to clear some doubts that i have now also.
  • You are welcome.