title: How does BLE parameter negotiation work?
body: <p>I'm wondering how the negotiation for parameters work when the "central" and "peripheral" have different parameters set. </p>
  
  <p>I might be mistaken, but from my understanding the peripheral makes an update request when connecting to have it's parameter set for the connection. And then the central decides whether or not to approve them. </p>
  
  <p>What I don't understand is how it is decided if those parameters are approved or not. And I haven't found any code for it.</p>
  
  <p>For example if I have the following settings(just picking random values):</p>
  
  <p>Central: Interval 10ms, Slave latency 0, supervisortimeout 500</p>
  
  <p>Peripheral: Interval 50ms, Slave latency 10, supervisortimeout 3000</p>
  
  <p>How can I know for certain that my peripheral parameters will be used or what are the criteras for them to be approved ?</p>
  
  <p>If someone out there could give a nice explaination I will be very thankful.</p>