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.

Trouble param update cc2540

Hi!

I'm using simpleBLEPeripheral project on keyfob and simpleBLECentral on cc2540em.

When I use these settings :

#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     80

#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     80

#define DEFAULT_DESIRED_SLAVE_LATENCY                0

#define DEFAULT_DESIRED_CONN_TIMEOUT                 10

#define DEFAULT_ENABLE_UPDATE_REQUEST         TRUE

and then I call 

GAPRole_SendUpdateParam( 20, 20 ,0, 10, GAPROLE_RESEND_PARAM_UPDATE );

 it's ok. But if I call 

GAPRole_SendUpdateParam( 800,800 ,0, 10, GAPROLE_RESEND_PARAM_UPDATE ), connection interval does not increase. What am I missing?

  • From what I've seen many central devices have different parameter restrictions which must be met when sending an update request. For the simpleBLEcentral one of those restrictions is based around the connection timeout value where the timeout must be at least 2*conn interval + latency. I think that is why your update request is being rejected. Here is the macro in ll.h:

    You'll notice your first request returns a false (it's a double negative which means the parameters are ok) and your second request will return true (meaning the params are invalid). Try to adjust your timeout and see if the request is accepted.

    -Matt

     

  • Thank you very much.