Ersa Wearable Platform
Embedded smartwatch firmware and application framework
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
Dvfs Namespace Reference

Classes

class  Scope
 

Enumerations

enum class  Profile : unsigned char { Interactive , Compute }
 

Functions

bool begin ()
 
bool acquire (Profile, const char *)
 
void release (Profile, const char *)
 
void tick ()
 
void reportPowerModes ()
 
bool getPowerModeReport (char *buffer, size_t capacity)
 
bool setTestCpuFrequencyMHz (unsigned mhz)
 
unsigned testCpuFrequencyMHz ()
 

Enumeration Type Documentation

◆ Profile

enum class Dvfs::Profile : unsigned char
strong

Requested temporary CPU/APB guarantee; platform locks map each profile.

Enumerator
Interactive 
Compute 

Function Documentation

◆ acquire()

bool Dvfs::acquire ( Profile  profile,
const char *  reason 
)

Acquire a profile lock and optionally log a diagnostic reason.

◆ begin()

bool Dvfs::begin ( )

Initialize ESP-IDF power-management locks and dynamic frequency scaling.

◆ getPowerModeReport()

bool Dvfs::getPowerModeReport ( char *  buffer,
size_t  capacity 
)

Copy the current power-mode report to a bounded caller-owned buffer.

◆ release()

void Dvfs::release ( Profile  profile,
const char *  reason 
)

Release a previously acquired profile lock.

◆ reportPowerModes()

void Dvfs::reportPowerModes ( )

Emit a one-time report of ESP-IDF PM configuration and lock state.

◆ setTestCpuFrequencyMHz()

bool Dvfs::setTestCpuFrequencyMHz ( unsigned  mhz)

◆ testCpuFrequencyMHz()

unsigned Dvfs::testCpuFrequencyMHz ( )

Return the forced test frequency, or zero when dynamic DVFS is restored.

◆ tick()

void Dvfs::tick ( )

Sample CPU frequency/residency while application work runs.