Skip to content
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

Tx power levels are not similar on ADV and CONN modes when set manually (nRF52) #32212

Closed
selman-nus opened this issue Feb 11, 2021 · 3 comments

Comments

@selman-nus
Copy link

Hi,

I have been trying to reduce the Tx power level to reduce the total power consumption of the device. I have successfully modified the hci_pwr_ctrl example and tested with 4, 0, -4, -8, 16, -20, -40 dBm levels while on both advertisement and connected.

// txp is the array of different dBm levels
set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 0, txp[idx]);  // for advertisement
set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_CONN, 0, txp[idx]);  //for connection

Power consumption is heavily influenced by the Tx level on advertisement mode. However, the more important mode, connection mode didn't seem affected by this Tx level alteration on lower levels. In my case device will stay connected and constantly transmitting data so power consumption on connection mode is much more important to me.

Please see below two images. (I tried to show which time window is which Tx level.)

Advertisement:
image

Coonection:
image

.
.

  • +4dBm: ADV: 9mA CONN: 11mA
  • -40dBm: ADV: 4mA CONN: 6.7mA

Current consumption on the connection at -40dBm is almost equaled to one on the advertisement at -4dBm.

Am I missing something here? Is connection mode transmissions supposed to be using higher current?

(Forgive me if I misinterpreted what I am asking on the title.)

@cvinayak
Copy link
Contributor

Depending on advertising and connection interval; Radio, CPU and other peripheral current consumption can overlap increasing the total current consumption.

@selman-nus
Copy link
Author

I understand but it is actually a very simple code, it doesn't do any calculation just sending dummy HR data and no other peripheral is in use. Is there a way to reduce the CPU frequency, so it won't contribute much to the total current consumption?

@github-actions
Copy link

This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants