Msom Utra low power sleep mode

Hi all! I'm trying to use ULP mode for sleep because i have a MOSFET that needs to remain high (fixing later). I was wondering why when i include ".network(NETWORK_INTERFACE_ALL, SystemSleepNetworkFlag::INACTIVE_STANDBY);" ULP mode stops working. Ive read the docs, is this needed? How do i disable all network comms w/ ULP mode? if im using "graceful" disconnect before sleep config is this enough?

  Particle.disconnect(CloudDisconnectOptions().graceful(true).timeout(5000));
  Particle.process();
  delay(3000);  

   SystemSleepConfiguration config;
    config.mode(SystemSleepMode::ULTRA_LOW_POWER)
    .duration(SLEEP_DURATION_DEFAULT * 1000L)
    .network(NETWORK_INTERFACE_ALL, SystemSleepNetworkFlag::INACTIVE_STANDBY);
    
    System.sleep(config);

Inactive standby mode is not supported on M-SoM, which causes the command to fail.

Network standby for Wi-Fi is not possible on the RTL872x because Wi-Fi is implemented in the MCU, so sleeping the MCU turns off Wi-Fi.

Network standby for cellular is not implemented because it would be a little weird for standby to only work for one interface, especially since it can be switched by automatic connection management. However it also does not work because cellular standby requires wake on USART, which is not supported on RTL872x.

1 Like