Entering shipping mode

Hi, looking at the tracker code tracker_shipping.cpp, function TrackerShipping::shutdown() , I see:

  1. the code disabled BATFET

pmic.disableBATFET();

  1. then proceeds to hibernate:

SystemSleepConfiguration config;
config.mode(SystemSleepMode::HIBERNATE)
.gpio(PMIC_INT, FALLING);
hal_sleep_enter(config.halConfig(), nullptr, nullptr);

I wonder the following:
If the tracker at the moment is powered only on battery, woudn't disabling the BATFET cut all power to the MCU since BATFET cuts power to the battery?
How is the MCU being powered from BATFET disabled until entering hibernate sleep?

Thanks!

If powered only by battery, disabling the BATFET will immediately depower the device and it will no longer be running to execute the next line of code.

If the device does have external power, disabling the BATFET does not depower the device. However, once you unplug the power it will immediately turn off. The hibernate sleep is just so the device looks like its powered down until it's unplugged.

got it, thanks!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.