LowPower
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
low_power::ArduinoLowPowerCommon Class Referenceabstract

Common API for power saving modes for different processor architectures. More...

#include <LowPowerCommon.h>

Inheritance diagram for low_power::ArduinoLowPowerCommon:
Inheritance graph
[legend]

Public Member Functions

virtual bool sleep (void)=0
 Sets processor into sleep mode.
 
virtual bool setSleepTime (uint32_t time, time_unit_t time_unit_type)=0
 Defines the sleep time.
 
virtual bool addWakeupPin (int pin, pin_change_t change_type)=0
 Defines the wakup pin.
 
virtual bool sleepFor (uint32_t time, time_unit_t time_unit_type)
 sets mc into sleep mode to sleep for indicated millis
 
virtual void setActive (bool flag)
 sets the flag to be active
 
virtual void setActiveTime (uint32_t time, time_unit_t time_unit_type)
 Defiles the active time.
 
virtual bool isActive ()
 Checks if we are active (not sleeping)
 
virtual operator bool ()
 same as isActive()
 
virtual bool setSleepMode (sleep_mode_enum_t mode)
 Defines the sleep mode.
 
virtual void process ()
 Triggers the processing to be active or sleeping based on the set definitions.
 
virtual bool isProcessingOnSleep (sleep_mode_enum_t sleep_mode)=0
 Returns true if processing is possible in the current sleep mode.
 
virtual bool isProcessingOnSleep ()
 Returns true if processing is possible in the current sleep mode.
 
virtual bool isModeSupported (sleep_mode_enum_t sleep_mode)
 Provides information if the indicated mode is supported.
 
virtual void clear ()
 reset the processing
 

Protected Member Functions

uint64_t toUs (uint64_t time, time_unit_t time_unit)
 

Protected Attributes

bool is_active = true
 
uint32_t timeout_end = 0
 
uint32_t timeout_us = 0
 
time_unit_t time_unit = time_unit_t::ms
 
sleep_mode_enum_t sleep_mode = sleep_mode_enum_t::deepSleep
 

Detailed Description

Common API for power saving modes for different processor architectures.

Author
Phil Schatzmann

The documentation for this class was generated from the following file: