This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

using nRF5x with windows; how to get windows to accept parameters help

I am currently working with a the nRF5x bluetooth chip family and connecting to a windows 10 device as a central. I am using uart to get some visibility into what is happening and sadly it appears as if the central is refusing to accept the desired connection parameters. Has anyone had this issue before and been able to solve it?

  • Please add more details. What example or project you used (at least as baseline) on nRF5x, what exactly the debug says, what radio analyzer/sniffer logs say etc. If you read your question and inputs it's as vague as it could be (how do you find out that windows don't like the connection parameters? If windows are Central then they choose the parameters so it doesn't make sense... and if nRF5x FW doesn't like the parameters set by Windows peer that doesn't make sense either because all Nordic Peripheral examples work with pretty much any legal connection parameters, so it would mean your custom code is "refusing" the connection... overall not really clear what are you doing and what you see).

  • Endnode, you have been great for answering all the questions I have been throwing out over the past week. Thanks for all the help. My apologies for the vague question, let me clarify/ add more information. I am using the peripheral ble uart example as a base and trying to get the windows device (central) to accept connection parameters through parameter update request. I actually was able to get windows to accept different parameters in the last few minutes, but i would like to share what I am seeing so I can make sense of everything. Before hand i was changing parameters to the following:

    #define MIN_CONN_INTERVAL            MSEC_TO_UNITS(20, UNIT_1_25_MS)           
    #define MAX_CONN_INTERVAL           MSEC_TO_UNITS(75, UNIT_1_25_MS)          
    #define SLAVE_LATENCY                   0                                          
    #define CONN_SUP_TIMEOUT    MSEC_TO_UNITS(4000, UNIT_10_MS)
    
  • however, windows has been coming back and setting parameters as:

    MIN_CONN_INTERVAL 48
    MAX_CONN_INTERVAL 48
    SLAVE_LATENCY 0
    CONN_SUP_TIMEOUT 9600

    I then went and lowered both the max and min conn interval. After this, windows then approved the request and reset the connection parameters. Do you have any idea why windows would reject the first wanted parameters but not the second set?

  • This looks much better. What do you mean by reject: is it proper Peripheral Connection Parameters Update request and response? Or does Central simply ignores it? Or does the link terminate?

    Anyway whatever the answer is I don't have more to add or suggest as I don't experiment with these things. I would expect these things depending on BT chipset/stack at least a bit similar to mobile phones and tablets so once you will be happy with your sequence don't forget to test with wide range of PC brands, product lines, manufacturing years etc.

Related