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

Update nrf-connect SDK to 2.7 #218

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Update nrf-connect SDK to 2.7 #218

wants to merge 9 commits into from

Conversation

rbaron
Copy link
Owner

@rbaron rbaron commented Oct 15, 2024

Some changes are required to make the samples compile against the 2.7 nRF Connect SDK (release notes). Most notably:

  • zephyrproject-rtos/zephyr@018dbcf enables -Wdouble-promotion. Some of our debug logging implicitly promotes float -> double
  • ZBOSS API changes -- in particular for ZB_ZCL_SET_ATTR_DESC
  • Boards definition changed to Hardware Model V2. This is the largest change. In addition to porting our both boards (nrf52833 and nrf52840) and all their versions (1.0.0 to 2.0.0), they are now unified under a single bparasite board with multiple supported SoCs and versions. This seem to be the new encouraged way to do things based on docs and existing Zephyr boards.

Breaking Changes

Board Identifier

In the Hardware Model V2, boards have different identifiers. While before we referred to a board as:

[email protected] (deprecated)

We now must say

[email protected]/nrf52840

This applies mostly to build scripts. For example, building with west (and Docker) is now done with:

$ west build --board [email protected]/nrf52840

In [018dbcfd6679c273842084ce34c167295bc6f354](zephyrproject-rtos/zephyr@018dbcf),
Zephyr introduced the -Wdouble-promotion compiler flag.

We have some debugging logs that implicitly promote floats to double,
and it generates a lot of warnings. This commit fixes it.
This relic of the past was briefly used when I first wrote the
nrf-connect firmware and tested it against the nrf52840dk_nrf52840 dev
board.
It looks like ZBOSS's macro fiesta introduced a new argument in `ZB_ZCL_SET_ATTR_DESC_*` --  see [git blame](https://github.com/nrfconnect/sdk-nrfxlib/blame/11a7add841663509a20b51c0e208ad8091fe1132/zboss/production/include/zcl/zb_zcl_illuminance_measurement.h#L129)
@rbaron
Copy link
Owner Author

rbaron commented Oct 15, 2024

I started migrating prstlib/boards/arm/{bparasite_nrf52833,bparasite_nrf52840} to a single directory prstlib/boards/arm/bparasite, following the new hardware definition structure. It's a bit of work because we support two SoCs and multiple revisions. I will be away for a few days but I plan on finishing it once I'm back -- hopefully this automatically fixes the CI build errors.

@rbaron
Copy link
Owner Author

rbaron commented Oct 30, 2024

I've been testing the ble and zigbee samples in both nrf52840 and nrf52833. So far it looks okay. If anyone else wants to help out, let me know if you manage to run some tests. Otherwise I will let my boards roast for a bit longer and merge this PR in a few days.

@rbaron
Copy link
Owner Author

rbaron commented Oct 30, 2024

Quick sanity check on power consumption on different samples:

ble + [email protected] during deep sleep

ble-2 7-ppk

zigbee + [email protected] average after steering

zigbee-2 7-ppk

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.

1 participant