-
Notifications
You must be signed in to change notification settings - Fork 651
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
driver level support for re-init via power manager functions of sx1509b gpio expander #1249
base: main
Are you sure you want to change the base?
Conversation
Thic commit fixes `OPENTHREAD_FTD` dependency to `OPENTHREAD_UPTIME`. Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no> (cherry picked from commit b020c5d)
The function nrf_reset_network_force_off contains workaround for errata 161 for nRF5340 SoC. This function should be used instead of manual writing to NRF_RESET->NETWORK.FORCEOFF register. Signed-off-by: Andrzej Kuros <andrzej.kuros@nordicsemi.no> (cherry picked from commit 679fa28)
The coap client takes requests and provides responses asynchronously to callback given in a request. Currently supports only 1 request at a time. Signed-off-by: Jarno Lämsä <jarno.lamsa@nordicsemi.no> (cherry picked from commit 05e0b31)
Add tests for coap client and stubs for isolating the tests. Signed-off-by: Jarno Lämsä <jarno.lamsa@nordicsemi.no> (cherry picked from commit 2d06f80)
Sample usage and documentation of the CoAP client. Signed-off-by: Jarno Lämsä <jarno.lamsa@nordicsemi.no> (cherry picked from commit 3f8c129)
Add nRF directory to snippets root to allow placing snippets in the sdk-nrf/snippets directory. CmakeLists.txt in nRF directory is handled after the snippets so that adding the directory in sdk-nrf will not work. Signed-off-by: Eivind Jølsgard <eivind.jolsgard@nordicsemi.no>
Function net_if_ipv6_addr_rm is only defined for NATIVE_IPV6. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit 1b7ef97)
Adjust WEST_PYTHON to posix path to be consistent with other Python scripts which passes paths to the Zephyr CMake build system. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no> (cherry picked from commit c03e190)
Adds symbols for J-PAKE, SPAKE2+ and SRP and TLS1.2 EC J-PAKE to PMS. noup reason: We're adding support for Nordic only experimental algorithms. The changed file contains the Nordic's configuration scheme that is also a noup. ref: NCSDK-21261 Signed-off-by: Vidar Lillebø <vidar.lillebo@nordicsemi.no>
The function `z_nrf_rtc_timer_exact_set` is added to allow setting compare channel without possible creeping of cc val. Upstream PR: zephyrproject-rtos/zephyr#59297 Signed-off-by: Andrzej Kuros <andrzej.kuros@nordicsemi.no>
CPUNET uses a diffetent DTS file and the edge connector entry was missed, this causes build issue for CPUNET. Fixes 017ff78("boards: thingy53: Update DTS files to support expansion boards"). Upstream-Pr: zephyrproject-rtos/zephyr#59439 Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
…nfigured If a user tries to enable TWT too early in the connection, then we might enter TWT sleep even before DHCP is completed, this can result in packet loss as when we wakeup we cannot receive traffic and completing DHCP itself can take multiple intervals. Though static ip address can be assigned too. Reject TWT till Wi-Fi interface has a valid IP address. Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no> (cherry picked from commit 041201b) (cherry picked from commit 9fbb6be8599fba83be5cf55e1b2d6e6f9ba6147d)
Typo in TWT error strings. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit e416763)
For tear down the checks doesn't make any sense, as TWT flow is already established. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit 456859a)
Most AP's are not sending proper HE triggers or stopping triggers after sometime, so, change the default to non-triggered based TWT. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit 97bd70f)
…quest This is to handle duplicate TWT setup request. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit 15476aa)
TWT tear down is a synchronous call, so, once it returns the operation is done. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit 3be7265)
This helps see the response status and details separately. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit a3ab624)
This is for TWT tear down by AP. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit 8042218)
This should be an unsigned integer. Also, add a comment to explain this feature. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no> (cherry picked from commit a71bff7)
This reverts commit 8f601c9. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
…ear down" This reverts commit e405279. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This reverts commit 6e91290. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This reverts commit baaf2e5. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
… flow request" This reverts commit 917d571. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This reverts commit 99c41e2. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This reverts commit 88b6c53. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This reverts commit c114a91. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
…ss is configured" This reverts commit 1b800d8. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This reverts commit b92f312. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Don't assume the connection handle will always be 0. This is currently the case with the Zephyr link layer, but recently changed in the Softdevice Controller. Another problem is that apparently the spec allows the controller to just blackhole data instead of returning `BT_HCI_ERR_UNKNOWN_CONN_ID` if the host uses a wrong handle. Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no> (cherry picked from commit 8a65b3f)
The commits adds support for generating flash disks from Partition Manager defined partitions. Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @Loubear111, and thank you very much for your first pull request to the Zephyr project!
A project maintainer just triggered our CI pipeline to run it against your PR and ensure it's compliant and doesn't cause any issues. You might want to take this opportunity to review the project's Contributor Expectations and make any updates to your pull request if necessary. 😊
On the Thingy52, in order to reach an optimal low power current of ~8uA we must be able to turn on and off the power line to the sx1509b gpio expander.
The Thingy:52 has support in Zephyr so most peripheral setup is easy. One place where I hit a snag however was when I started to try and minimize power usage. Trying the two steps below I was able to get the average power draw to 0.66 mA while advertising BLE running a custom version of the ANCS Peripheral example (special thanks to https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/optimizing-power-on-nrf53-designs):
Disabling logging: 2.5 mA -> 1.2 mA
Disable unused peripherals via device overlay: 1.2 mA -> 0.66 mA
However this was still too much power draw. I found that switching off the VDD power switch via the VDD_PWR_CTRL pin on the Thingy52 board allowed me to get the low currents I was expecting (around ~40 μA if advertising. ~8 μA if not advertising):
The nrf52832 on the Thingy:52 is powered directly from the regulator (VREG), however most other on-board peripherals are powered by VDD. This means I need to switch on VDD when I want to use another peripheral like the on-board humidity and temperature sensor. The problem here is that Zephyr initializes all peripherals on boot and has no way of re-initializing a peripheral if its power gets turned off and on again like this situation.
I was able to work around this issue by adding Power Manager code into the device drivers, that way using a peripheral would look like this:
When the peripheral driver receives the PM_DEVICE_ACTION_RESUME event, it calls any required initialization code.
Is this approach correct or is a simpler solution I am missing here? Considering a few Thingy:52 peripheral drivers I looked at inside Zephyr, none of them seemed to have any Device Power Management code implemented for handling entering and leaving low power modes.