Topics

BLE Controller Core Spec 5.2 Power Control Feature


Khaled Elsayed
 

Hello all,

I am working on the LE power control feature of Core Spec 5.2. I am almost 60-70% done defining the air-messages and the state machine within the llcp and he actions/behavior upon receiving PWR_CTRL_REQ/RSP or a related REJ. Also, not currently handling PWR_CTRL_IND and this should come later I guess. Feature still untested but it is in the pipeline.

Main issues now are:

1) Handling the APR (acceptable power reduction) in the PWR_CTRL_RSP

2) Insuring there are no leaks or any PWR_CTRL received pdu not released

3) Issuing command to change PHY TX power (I used the same method as in the host based TX power that this PR https://github.com/zephyrproject-rtos/zephyr/pull/19779 is addressing which seems to only change the connection TX power in the connection record and I guess the radio manager will then somehow use that to control the PHY?)

4) Overall testing. I need help here from the Zephyr Bluetooth developers.

Since this is my first potential contribution to Zephyr, I am following the contribution guidelines by posting in the mailing list to discuss the feature before proceeding with a pull request. 

Best regards,

Khaled Elsayed



The information contained in this message is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying or dissemination of this message or the taking of any action in reliance on its contents, or other use is strictly prohibited.  If you received this message in error, please notify us immediately by replying to the message and deleting it from your computer.  Thank you.
Si-Vision, LLC.


Chettimada, Vinayak Kariappa
 

Hi Khaled,

 

Currently the link layer is undergoing a major overhaul of the control procedure design. You can refer to the changes in the topic-ble-llcp branch.

 

That said, you are welcome to send a draft PR with your implementation, reviewers will guide you towards contributions that can be reused towards the new design.

 

  1. Acceptable power reduction would have to be based on custom algorithm and specific to vendors.
  2. Reviewers and automated test cases should help you with LLCP data flow management
  3. Yes, you should reuse the already defined connection context and HAL interfaces that the dynamic Tx Power feature uses.
  4. Most development happens test driven, either using unit tests, babblesim, and manual using tests added in tests/Bluetooth/shell application. You can add your tests and test applications. Unit tests and babblesim are exercised in Zephyr CI on every PR submission.

 

You can start by involving reviewers early by sending in draft PRs.

 

Regards,

Vinayak

 

From: devel@... <devel@...> On Behalf Of Khaled Elsayed via lists.zephyrproject.org
Sent: 24 August 2020 14:17
To: devel@...
Subject: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature

 

Hello all,

 

I am working on the LE power control feature of Core Spec 5.2. I am almost 60-70% done defining the air-messages and the state machine within the llcp and he actions/behavior upon receiving PWR_CTRL_REQ/RSP or a related REJ. Also, not currently handling PWR_CTRL_IND and this should come later I guess. Feature still untested but it is in the pipeline.

 

Main issues now are:

1) Handling the APR (acceptable power reduction) in the PWR_CTRL_RSP

2) Insuring there are no leaks or any PWR_CTRL received pdu not released

3) Issuing command to change PHY TX power (I used the same method as in the host based TX power that this PR https://github.com/zephyrproject-rtos/zephyr/pull/19779 is addressing which seems to only change the connection TX power in the connection record and I guess the radio manager will then somehow use that to control the PHY?)

 

4) Overall testing. I need help here from the Zephyr Bluetooth developers.

 

Since this is my first potential contribution to Zephyr, I am following the contribution guidelines by posting in the mailing list to discuss the feature before proceeding with a pull request. 

 

Best regards,

 

Khaled Elsayed

 

 

 

The information contained in this message is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying or dissemination of this message or the taking of any action in reliance on its contents, or other use is strictly prohibited.  If you received this message in error, please notify us immediately by replying to the message and deleting it from your computer.  Thank you.

Si-Vision, LLC.


Khaled Elsayed
 

Thanks Vinayak for your informative reply and addressing issues 1 to 4.

Glad to know that Zephyr link layer control procedure design is going  through a major overhaul. It is much needed. It was not a straight forward task to add the LE PC draft code. 

I am cleaning up the LE PC code and should make a PR as soon as it is ready. Can I share it without testing? Just the messages and message processing logic.

BR,

Khaled Elsayed


On Wed, Aug 26, 2020 at 7:24 AM Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...> wrote:

Hi Khaled,

 

Currently the link layer is undergoing a major overhaul of the control procedure design. You can refer to the changes in the topic-ble-llcp branch.

 

That said, you are welcome to send a draft PR with your implementation, reviewers will guide you towards contributions that can be reused towards the new design.

 

  1. Acceptable power reduction would have to be based on custom algorithm and specific to vendors.
  2. Reviewers and automated test cases should help you with LLCP data flow management
  3. Yes, you should reuse the already defined connection context and HAL interfaces that the dynamic Tx Power feature uses.
  4. Most development happens test driven, either using unit tests, babblesim, and manual using tests added in tests/Bluetooth/shell application. You can add your tests and test applications. Unit tests and babblesim are exercised in Zephyr CI on every PR submission.

 

You can start by involving reviewers early by sending in draft PRs.

 

Regards,

Vinayak

 

From: devel@... <devel@...> On Behalf Of Khaled Elsayed via lists.zephyrproject.org
Sent: 24 August 2020 14:17
To: devel@...
Subject: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature

 

Hello all,

 

I am working on the LE power control feature of Core Spec 5.2. I am almost 60-70% done defining the air-messages and the state machine within the llcp and he actions/behavior upon receiving PWR_CTRL_REQ/RSP or a related REJ. Also, not currently handling PWR_CTRL_IND and this should come later I guess. Feature still untested but it is in the pipeline.

 

Main issues now are:

1) Handling the APR (acceptable power reduction) in the PWR_CTRL_RSP

2) Insuring there are no leaks or any PWR_CTRL received pdu not released

3) Issuing command to change PHY TX power (I used the same method as in the host based TX power that this PR https://github.com/zephyrproject-rtos/zephyr/pull/19779 is addressing which seems to only change the connection TX power in the connection record and I guess the radio manager will then somehow use that to control the PHY?)

 

4) Overall testing. I need help here from the Zephyr Bluetooth developers.

 

Since this is my first potential contribution to Zephyr, I am following the contribution guidelines by posting in the mailing list to discuss the feature before proceeding with a pull request. 

 

Best regards,

 

Khaled Elsayed

 

 

 

_._,_._,_





The information contained in this message is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying or dissemination of this message or the taking of any action in reliance on its contents, or other use is strictly prohibited.  If you received this message in error, please notify us immediately by replying to the message and deleting it from your computer.  Thank you.
Si-Vision, LLC.


Chettimada, Vinayak Kariappa
 

Hi Khaled,

 

Control procedures is a major implementation in the controller, the new overhaul work is already into its 10th calendar month.

I would not consider adding new control procedures to be ever straight forward considering the software requirements that needs to be addressed.

Yes, the overhaul is to introduce a design pattern, to address issues and to cover missing software requirements of currently implemented control procedures.

 

All controller development of BT adopted features happen in the open, you can always send draft PRs and solicit comments on github.

If you don’t have code/PR, you can start with a github issue to get discussions started.

 

An example of adding a simple control procedure could be this: https://github.com/zephyrproject-rtos/zephyr/commit/851f3631031189f0cd1d0ae976fe2be93ab5f386

 

Regards,

Vinayak

 

 

From: Khaled Elsayed <khaled.elsayed@...>
Sent: 26 August 2020 14:30
To: Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...>
Cc: devel@...
Subject: Re: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature

 

Thanks Vinayak for your informative reply and addressing issues 1 to 4.

 

Glad to know that Zephyr link layer control procedure design is going  through a major overhaul. It is much needed. It was not a straight forward task to add the LE PC draft code. 

 

I am cleaning up the LE PC code and should make a PR as soon as it is ready. Can I share it without testing? Just the messages and message processing logic.

 

BR,

 

Khaled Elsayed

 

 

On Wed, Aug 26, 2020 at 7:24 AM Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...> wrote:

Hi Khaled,

 

Currently the link layer is undergoing a major overhaul of the control procedure design. You can refer to the changes in the topic-ble-llcp branch.

 

That said, you are welcome to send a draft PR with your implementation, reviewers will guide you towards contributions that can be reused towards the new design.

 

  1. Acceptable power reduction would have to be based on custom algorithm and specific to vendors.
  2. Reviewers and automated test cases should help you with LLCP data flow management
  3. Yes, you should reuse the already defined connection context and HAL interfaces that the dynamic Tx Power feature uses.
  4. Most development happens test driven, either using unit tests, babblesim, and manual using tests added in tests/Bluetooth/shell application. You can add your tests and test applications. Unit tests and babblesim are exercised in Zephyr CI on every PR submission.

 

You can start by involving reviewers early by sending in draft PRs.

 

Regards,

Vinayak

 

From: devel@... <devel@...> On Behalf Of Khaled Elsayed via lists.zephyrproject.org
Sent: 24 August 2020 14:17
To: devel@...
Subject: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature

 

Hello all,

 

I am working on the LE power control feature of Core Spec 5.2. I am almost 60-70% done defining the air-messages and the state machine within the llcp and he actions/behavior upon receiving PWR_CTRL_REQ/RSP or a related REJ. Also, not currently handling PWR_CTRL_IND and this should come later I guess. Feature still untested but it is in the pipeline.

 

Main issues now are:

1) Handling the APR (acceptable power reduction) in the PWR_CTRL_RSP

2) Insuring there are no leaks or any PWR_CTRL received pdu not released

3) Issuing command to change PHY TX power (I used the same method as in the host based TX power that this PR https://github.com/zephyrproject-rtos/zephyr/pull/19779 is addressing which seems to only change the connection TX power in the connection record and I guess the radio manager will then somehow use that to control the PHY?)

 

4) Overall testing. I need help here from the Zephyr Bluetooth developers.

 

Since this is my first potential contribution to Zephyr, I am following the contribution guidelines by posting in the mailing list to discuss the feature before proceeding with a pull request. 

 

Best regards,

 

Khaled Elsayed

 

 

 

_._,_._,_


 

 

 

The information contained in this message is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying or dissemination of this message or the taking of any action in reliance on its contents, or other use is strictly prohibited.  If you received this message in error, please notify us immediately by replying to the message and deleting it from your computer.  Thank you.

Si-Vision, LLC.


Khaled Elsayed
 

Hi Vinayak

Thanks for sharing the sample Min used channels procedure. 

I had a quick look and the new design seems to be very elegant. Good to see the req/ack logic gone and using explicit states. I actually used explicit states in the draft LE PC feature implementation and tried to plug it in with the current master. I think it will integrate better with the new design but let me continue with the current master for the time being. 

BR,

Khaled


On Wed, Aug 26, 2020 at 3:04 PM Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...> wrote:

Hi Khaled,

 

Control procedures is a major implementation in the controller, the new overhaul work is already into its 10th calendar month.

I would not consider adding new control procedures to be ever straight forward considering the software requirements that needs to be addressed.

Yes, the overhaul is to introduce a design pattern, to address issues and to cover missing software requirements of currently implemented control procedures.

 

All controller development of BT adopted features happen in the open, you can always send draft PRs and solicit comments on github.

If you don’t have code/PR, you can start with a github issue to get discussions started.

 

An example of adding a simple control procedure could be this: https://github.com/zephyrproject-rtos/zephyr/commit/851f3631031189f0cd1d0ae976fe2be93ab5f386

 

Regards,

Vinayak

 

 

From: Khaled Elsayed <khaled.elsayed@...>
Sent: 26 August 2020 14:30
To: Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...>
Cc: devel@...
Subject: Re: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature

 

Thanks Vinayak for your informative reply and addressing issues 1 to 4.

 

Glad to know that Zephyr link layer control procedure design is going  through a major overhaul. It is much needed. It was not a straight forward task to add the LE PC draft code. 

 

I am cleaning up the LE PC code and should make a PR as soon as it is ready. Can I share it without testing? Just the messages and message processing logic.

 

BR,

 

Khaled Elsayed

 

 

On Wed, Aug 26, 2020 at 7:24 AM Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...> wrote:

Hi Khaled,

 

Currently the link layer is undergoing a major overhaul of the control procedure design. You can refer to the changes in the topic-ble-llcp branch.

 

That said, you are welcome to send a draft PR with your implementation, reviewers will guide you towards contributions that can be reused towards the new design.

 

  1. Acceptable power reduction would have to be based on custom algorithm and specific to vendors.
  2. Reviewers and automated test cases should help you with LLCP data flow management
  3. Yes, you should reuse the already defined connection context and HAL interfaces that the dynamic Tx Power feature uses.
  4. Most development happens test driven, either using unit tests, babblesim, and manual using tests added in tests/Bluetooth/shell application. You can add your tests and test applications. Unit tests and babblesim are exercised in Zephyr CI on every PR submission.

 

You can start by involving reviewers early by sending in draft PRs.

 

Regards,

Vinayak

 

From: devel@... <devel@...> On Behalf Of Khaled Elsayed via lists.zephyrproject.org
Sent: 24 August 2020 14:17
To: devel@...
Subject: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature

 

Hello all,

 

I am working on the LE power control feature of Core Spec 5.2. I am almost 60-70% done defining the air-messages and the state machine within the llcp and he actions/behavior upon receiving PWR_CTRL_REQ/RSP or a related REJ. Also, not currently handling PWR_CTRL_IND and this should come later I guess. Feature still untested but it is in the pipeline.

 

Main issues now are:

1) Handling the APR (acceptable power reduction) in the PWR_CTRL_RSP

2) Insuring there are no leaks or any PWR_CTRL received pdu not released

3) Issuing command to change PHY TX power (I used the same method as in the host based TX power that this PR https://github.com/zephyrproject-rtos/zephyr/pull/19779 is addressing which seems to only change the connection TX power in the connection record and I guess the radio manager will then somehow use that to control the PHY?)

 

4) Overall testing. I need help here from the Zephyr Bluetooth developers.

 

Since this is my first potential contribution to Zephyr, I am following the contribution guidelines by posting in the mailing list to discuss the feature before proceeding with a pull request. 

 

Best regards,

 

Khaled Elsayed

 

 

 

_._,_._,_


 

 

 

The information contained in this message is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying or dissemination of this message or the taking of any action in reliance on its contents, or other use is strictly prohibited.  If you received this message in error, please notify us immediately by replying to the message and deleting it from your computer.  Thank you.

Si-Vision, LLC.






The information contained in this message is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying or dissemination of this message or the taking of any action in reliance on its contents, or other use is strictly prohibited.  If you received this message in error, please notify us immediately by replying to the message and deleting it from your computer.  Thank you.
Si-Vision, LLC.


Chettimada, Vinayak Kariappa
 

>  I think it will integrate better with the new design but let me continue with the current master for the time being.

Current master has not accepted any new control procedure code except for bug fixes and conformance related changes since November 2019.

The strategy has been to restrain from any control procedure related changes in the current master and all focus be on the new work in the topic branch.

You should switch to integrating on the topic branch as the current control procedure code will be deleted in the very next release version after one release with new control procedure code merged.

- Vinayak


From: Khaled Elsayed <khaled.elsayed@...>
Sent: Wednesday, August 26, 2020 9:10:42 PM
To: Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...>
Cc: devel@... <devel@...>
Subject: Re: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature
 
Hi Vinayak

Thanks for sharing the sample Min used channels procedure. 

I had a quick look and the new design seems to be very elegant. Good to see the req/ack logic gone and using explicit states. I actually used explicit states in the draft LE PC feature implementation and tried to plug it in with the current master. I think it will integrate better with the new design but let me continue with the current master for the time being. 

BR,

Khaled


On Wed, Aug 26, 2020 at 3:04 PM Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...> wrote:

Hi Khaled,

 

Control procedures is a major implementation in the controller, the new overhaul work is already into its 10th calendar month.

I would not consider adding new control procedures to be ever straight forward considering the software requirements that needs to be addressed.

Yes, the overhaul is to introduce a design pattern, to address issues and to cover missing software requirements of currently implemented control procedures.

 

All controller development of BT adopted features happen in the open, you can always send draft PRs and solicit comments on github.

If you don’t have code/PR, you can start with a github issue to get discussions started.

 

An example of adding a simple control procedure could be this: https://github.com/zephyrproject-rtos/zephyr/commit/851f3631031189f0cd1d0ae976fe2be93ab5f386

 

Regards,

Vinayak

 

 

From: Khaled Elsayed <khaled.elsayed@...>
Sent: 26 August 2020 14:30
To: Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...>
Cc: devel@...
Subject: Re: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature

 

Thanks Vinayak for your informative reply and addressing issues 1 to 4.

 

Glad to know that Zephyr link layer control procedure design is going  through a major overhaul. It is much needed. It was not a straight forward task to add the LE PC draft code. 

 

I am cleaning up the LE PC code and should make a PR as soon as it is ready. Can I share it without testing? Just the messages and message processing logic.

 

BR,

 

Khaled Elsayed

 

 

On Wed, Aug 26, 2020 at 7:24 AM Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...> wrote:

Hi Khaled,

 

Currently the link layer is undergoing a major overhaul of the control procedure design. You can refer to the changes in the topic-ble-llcp branch.

 

That said, you are welcome to send a draft PR with your implementation, reviewers will guide you towards contributions that can be reused towards the new design.

 

  1. Acceptable power reduction would have to be based on custom algorithm and specific to vendors.
  2. Reviewers and automated test cases should help you with LLCP data flow management
  3. Yes, you should reuse the already defined connection context and HAL interfaces that the dynamic Tx Power feature uses.
  4. Most development happens test driven, either using unit tests, babblesim, and manual using tests added in tests/Bluetooth/shell application. You can add your tests and test applications. Unit tests and babblesim are exercised in Zephyr CI on every PR submission.

 

You can start by involving reviewers early by sending in draft PRs.

 

Regards,

Vinayak

 

From: devel@... <devel@...> On Behalf Of Khaled Elsayed via lists.zephyrproject.org
Sent: 24 August 2020 14:17
To: devel@...
Subject: [Zephyr-devel] BLE Controller Core Spec 5.2 Power Control Feature

 

Hello all,

 

I am working on the LE power control feature of Core Spec 5.2. I am almost 60-70% done defining the air-messages and the state machine within the llcp and he actions/behavior upon receiving PWR_CTRL_REQ/RSP or a related REJ. Also, not currently handling PWR_CTRL_IND and this should come later I guess. Feature still untested but it is in the pipeline.

 

Main issues now are:

1) Handling the APR (acceptable power reduction) in the PWR_CTRL_RSP

2) Insuring there are no leaks or any PWR_CTRL received pdu not released

3) Issuing command to change PHY TX power (I used the same method as in the host based TX power that this PR https://github.com/zephyrproject-rtos/zephyr/pull/19779 is addressing which seems to only change the connection TX power in the connection record and I guess the radio manager will then somehow use that to control the PHY?)

 

4) Overall testing. I need help here from the Zephyr Bluetooth developers.

 

Since this is my first potential contribution to Zephyr, I am following the contribution guidelines by posting in the mailing list to discuss the feature before proceeding with a pull request. 

 

Best regards,

 

Khaled Elsayed

 

 

 

_._,_._,_


 

 

 

The information contained in this message is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying or dissemination of this message or the taking of any action in reliance on its contents, or other use is strictly prohibited.  If you received this message in error, please notify us immediately by replying to the message and deleting it from your computer.  Thank you.

Si-Vision, LLC.






The information contained in this message is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying or dissemination of this message or the taking of any action in reliance on its contents, or other use is strictly prohibited.  If you received this message in error, please notify us immediately by replying to the message and deleting it from your computer.  Thank you.
Si-Vision, LLC.