Skip to content

Implement supervision timeout setting for peripherals #101

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 29, 2020

Conversation

polldo
Copy link
Contributor

@polldo polldo commented Jul 28, 2020

Peripherals having the supervision timeout set will execute a parameter update request when some central tries to connect to them.
Allowed supervisionTimeout value range: 0x000A to 0x0C80
Actual Timeout: (supervisionTimeout * 10 ms)
Warning: supervision timeout in milliseconds shall be larger than : (1 + Connection_Latency) * Connection_Interval_Max * 2, where Connection_Interval_Max is given in milliseconds.

Example scenario:

  • peripheral has supervision timeout set to 1000 -> (actual timeout = 1000 * 10ms)
  • central connects to the peripheral with a supervision timeout of 200.
  • peripheral execute a parameter update request, putting supervision timeout at 1000.
  • central eventually updates the connection parameters accordingly and sends a response containing the result of the update.

Peripherals having the supervision timeout set will execute a parameter update request when some central tries to connect to them.
Allowed supervisionTimeout value range: 0x000A to 0x0C80
Actual Timeout: (supervisionTimeout * 10 ms)
Warning: supervision timeout in milliseconds shall be larger than : (1 + Connection_Latency) * Connection_Interval_Max * 2, where Connection_Interval_Max is given in milliseconds.

Example scenario:
- peripheral has supervision timeout set to 1000 -> (actual timeout = 1000 * 10ms)
- central connects to the peripheral with a supervision timeout of 200.
- peripheral execute a parameter update request, putting supervision timeout at 1000.
- central eventually updates the connection parameters accordingly and sends a response containing the result of the update.
@polldo polldo force-pushed the connection_parameters branch from 6f057e9 to c601618 Compare July 28, 2020 17:23
@facchinm facchinm self-requested a review August 17, 2020 09:10
@facchinm facchinm merged commit c93d88d into arduino-libraries:master Oct 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants