RUI3 (RAK Unified Interface 3) - RAK4631
Powersave

Data Structures

class  lpm
 

Functions

void cpu (int ms_time)
 
bool registerWakeupCallback (POWER_SAVE_HANDLER callback)
 
void lora (int ms_time)
 
void all (int ms_time)
 
void setup (RUI_WAKEUP_TRIGGER_MODE mode, uint32_t pin)
 

Detailed Description

Function Documentation

◆ cpu()

void cpu ( int  ms_time)
Description
Sleep the cpu
Syntax
api.system.sleep.cpu();
Parameters
ms_time(optional)Duration for cpu to sleep. No parameter means sleeping until the next interrupt.
Return values
void
Example
void setup()
{
}

void loop()
{
  api.system.sleep.cpu(1000); 
}

◆ registerWakeupCallback()

bool registerWakeupCallback ( POWER_SAVE_HANDLER  callback)
Description
This API is used to register a wakeup callback function, users can be notified after waking up.
Syntax
api.system.sleep.registerWakeupCallback(POWER_SAVE_HANDLER callback);
Parameters
Thecallback function.
Returns
bool
Return values
TRUEadd callback function success.
FALSEadd callback function fail.
Example
  void WakeupCallback()
  {
      Serial.printf("This is Wakeup Callback\r\n");
  }

  void setup()
  {
      Serial.begin(115200);
      if ( api.system.sleep.registerWakeupCallback(WakeupCallback) == false )
      {
          Serial.println("Create Wakeup Callback failed.");
      }
  }

  void loop()
  {
    api.system.sleep.cpu(1000); 
  }

◆ lora()

void lora ( int  ms_time)
Description
Sleep lora.
Syntax
api.system.sleep.lora();
Parameters
ms_time(optional)Duration for lora to sleep
Return values
void
Example
void setup()
{
}

void loop()
{
  api.system.sleep.lora(1000);
}

◆ all()

void all ( int  ms_time)
Description
Sleep all component.
Syntax
api.system.sleep.all();
Parameters
ms_time(optional)Duration for all component to sleep. No parameter means sleeping until the next interrupt.
Return values
void
Example
void setup()
{
}

void loop()
{
  api.system.sleep.all(1000);
}

◆ setup()

void setup ( RUI_WAKEUP_TRIGGER_MODE  mode,
uint32_t  pin 
)
Description
Setup the sleep function
Syntax
api.system.sleep.setup(mode);
Parameters
modeThis decide to use Rising or Falling trigger mode
pinThis is the pin to be chosen as the wakeup source
Return values
void
Example
void setup()
{
  api.system.sleep.setup(RUI_WAKEUP_FALLING_EDGE);
}

void loop()
{
  api.system.sleep.all(1000);
}