mirror of
https://github.com/meshtastic/firmware.git
synced 2026-01-16 06:47:52 +00:00
I thought git would be smart enough to understand all the whitespace changes but even with all the flags I know to make it ignore theses it still blows up if there are identical changes on both sides.
I have a solution but it require creating a new commit at the merge base for each conflicting PR and merging it into develop.
I don't think blowing up all PRs is worth for now, maybe if we can coordinate this for V3 let's say.
This reverts commit 0d11331d18.
44 lines
1018 B
C++
44 lines
1018 B
C++
#pragma once
|
|
#include "configuration.h"
|
|
|
|
#include "meshtastic/powermon.pb.h"
|
|
|
|
#ifndef MESHTASTIC_EXCLUDE_POWERMON
|
|
#define USE_POWERMON // FIXME turn this only for certain builds
|
|
#endif
|
|
|
|
/**
|
|
* The singleton class for monitoring power consumption of device
|
|
* subsystems/modes.
|
|
*
|
|
* For more information see the PowerMon docs.
|
|
*/
|
|
class PowerMon
|
|
{
|
|
uint64_t states = 0UL;
|
|
|
|
friend class PowerStressModule;
|
|
|
|
/**
|
|
* If stress testing we always want all events logged
|
|
*/
|
|
bool force_enabled = false;
|
|
|
|
public:
|
|
PowerMon() {}
|
|
|
|
// Mark entry/exit of a power consuming state
|
|
void setState(_meshtastic_PowerMon_State state, const char *reason = "");
|
|
void clearState(_meshtastic_PowerMon_State state, const char *reason = "");
|
|
|
|
private:
|
|
// Emit the coded log message
|
|
void emitLog(const char *reason);
|
|
|
|
// Use the 'live' config flag to figure out if we should be showing this message
|
|
bool is_power_enabled(uint64_t m);
|
|
};
|
|
|
|
extern PowerMon *powerMon;
|
|
|
|
void powerMonInit(); |