Boron 1.4.2 battery charging issue

posted in the wrong thread, reposting here… but TL;DR gotta re-enable buck if you disconnect from VIN while EN is low/device is off because of EN pin.

  1. as far as I can tell, if you remove power from the boron (when it’s powered via VIN) while EN is pulled low (device “off”) and then plug it back in, it won’t resume charging while EN is still low. .
  2. this behavior seems intermittently different if you use the actual usb port, though I’m not sure if it’s a voltage thing or what yet, haven’t gotten out the multi-meter yet.
  3. I went one by one through the lines of code, and to get VIN power to recover it seems like all you need is pmic.enableBuck();:
void setup() {
  //detachInterrupt(LOW_BAT_UC); //(2) / doesn't matter, don't seem to need.
  // Delay for up to two system power manager loop invocations
  //delay(2000);
  // Change PMIC settings
  PMIC pmic; // yes need
  //pmic.begin(); //don't need...
  //pmic.setInputVoltageLimit(4360);  //  for 5V vin... also doesn't seem to matter? though the charge soure/status seemed weird...
  //pmic.setChargeVoltage(3850);      //  Set Li-Po charge termination voltage to 3.85V also doesn't seem to matter...
  //pmic.enableDPDM();  //doesn't seem to matter?
  pmic.enableBuck();                //  enableBuck required when using EN Pin Shutdown -> need this line!
  //pmic.enableCharging(); //not this setting alone, but not sure if I'm charging the battery, but at least VIN recovers
}

So seems like the buck gets disabled if EN pin is pulled down / device is off, so then it’s on Lipo only until you re-enable the buck? I’m guessing tho since the docs don’t speak to this. Looks like I’m gonna have to dig into the .cpp files but it’s late so that will have to wait.