You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -751,7 +751,7 @@ PMIC-controlled cold-boot path; it is not interchangeable with a returning
751
751
| Continue after a timed idle |`delayLowPowerIdle(ms)` or normal low-power `delay(ms)`| Returns to the next statement |
752
752
| Lowest CPU System OFF with retained RAM banks |`delaySystemOff(ms)`| Cold reset; explicitly retained `.noinit` state may survive |
753
753
| System OFF without RAM retention |`delaySystemOffNoRetention(ms)`| Cold reset |
754
-
|Lowest timed LM20A board sleep |`npm1300_enter_timed_hibernate_ms(ms)`| PMIC restores power and the board cold-boots|
754
+
|Timed LM20A cold boot (lowest-current path on VBAT) |`npm1300_enter_timed_hibernate_ms(ms)`| PMIC wake on VBAT or GRTC System OFF wake on USB; both cold-reset|
755
755
756
756
For reproducible measurements, power from VBAT through a PPK2/Joulescope/Otii,
757
757
disconnect USB/VBUS, close serial/debug sessions, keep voltage and temperature
@@ -811,7 +811,7 @@ Examples:
811
811
812
812
-`npm1300_charger_set_current(ma)` sets the battery charge-current target and now also updates the nPM1300 VBUS input-current limiter so the default 100 mA input limit does not throttle higher charge currents.
813
813
-`npm1300_vbus_set_input_current_limit_ma(ma)` and `npm1300_vbus_get_input_current_limit_ma()` expose the VBUS limiter directly. This limit is the allowed USB/VBUS input draw, not the measured battery charge or discharge current.
814
-
-`npm1300_enter_timed_hibernate_ms(ms)` programs the nPM1300 hibernate wake timer and enters PMIC hibernate mode. On XIAO nRF54LM20A this is the lowest-current timed sleep path; wake is a cold boot after the PMIC restores power. The nPM1300 requires VBUS to be absent before Ship/Hibernate entry, so this helper returns `false` while USB/VBUS is present; test it from VBAT/battery power with USB/debug disconnected.
814
+
-`npm1300_enter_timed_hibernate_ms(ms)`provides one timed cold-boot API for either supply path. With VBUS absent it programs the nPM1300 wake timer and enters true PMIC Hibernate, the lowest-current LM20A path. With USB/VBUS present it uses nRF54 GRTC System OFF because the nPM1300 requires VBUS to be disconnected before Hibernate entry. Both paths accept 1 through `NPM1300_HIBERNATE_TIMER_MAX_MS`, normally do not return after successful entry, and restart from `setup()` on wake. Disconnect USB/debug wiring and power from VBAT when measuring the sub-uA PMIC path.
815
815
- Use `File > Examples > Nrf54L15-Clean-Implementation > PMIC > nPM1300_ChargerControl` or `File > Examples > Power > nPM1300_BatteryCurrent` to compare `IBAT` with the configured `VBUS_ILIM`.
Copy file name to clipboardExpand all lines: hardware/nrf54l15clean/nrf54l15clean/libraries/Nrf54L15-Clean-Implementation/examples/PMIC/nPM1300_TimedHibernate/nPM1300_TimedHibernate.ino
+12-9Lines changed: 12 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,18 @@
1
1
/*
2
2
* nPM1300 Timed Hibernate
3
3
*
4
-
* XIAO nRF54LM20A PMIC hibernate example. This programs the nPM1300 wake
5
-
* timer, then asks the PMIC to enter hibernate mode. On a battery/PPK2 supply
6
-
* this is the sub-uA path reported by msfujino's test sketch.
4
+
* XIAO nRF54LM20A timed cold-boot example.
5
+
* - On battery/VBAT, the helper programs the nPM1300 wake timer and enters
6
+
* true PMIC Hibernate.
7
+
* - On USB/VBUS, where the PMIC cannot enter Hibernate, the helper uses the
8
+
* nRF54 GRTC System OFF wake-reset path.
7
9
*
8
10
* Current measurement notes:
9
-
* - Measure from the VBAT/battery pads, not through USB.
10
-
* - USB/VBUS must be disconnected before PMIC Hibernate entry; the helper
11
-
* returns false while VBUS is present.
12
-
* - Wake is a cold boot after the PMIC timer expires.
11
+
* - To measure the lowest-current PMIC path, supply the VBAT/battery pads and
12
+
* disconnect USB/VBUS plus debug wiring.
13
+
* - The USB fallback keeps the board's USB power path active and is not the
14
+
* sub-uA PMIC Hibernate measurement case.
15
+
* - Both successful paths wake by cold boot and restart setup().
13
16
*/
14
17
15
18
#include<Arduino.h>
@@ -36,8 +39,8 @@ void setup() {
36
39
delay(2000);
37
40
38
41
if (!npm1300_enter_timed_hibernate_ms(kHibernateMs)) {
39
-
// PMIC not present or timer setup failed. Blink fast so the failure is
40
-
// visible without requiring Serial while measuring current.
42
+
//Invalid delay, PMIC status read, or timer setup failed. Blink fast so
43
+
//the failure is visible without requiring Serial while measuring current.
0 commit comments