CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
IPowerManager.h
Go to the documentation of this file.
1#pragma once
2
3#include "cdc_core/IService.h"
4#include <cstdint>
5
6namespace cdc::hal {
7
18
22enum class PowerSource : uint8_t {
26};
27
32public:
33 virtual ~IPowerManager() = default;
34
38 virtual uint16_t getBatteryVoltage() const = 0;
39
43 virtual uint8_t getBatteryPercent() const = 0;
44
48 virtual bool isUsbConnected() const = 0;
49
53 virtual PowerSource getPowerSource() const = 0;
54
58 virtual ChargeStatus getChargeStatus() const = 0;
59
63 virtual bool isBatteryLow() const = 0;
64
68 virtual bool isBatteryCritical() const = 0;
69
73 virtual bool isBatteryPresent() const = 0;
74
78 virtual void setChargingEnabled(bool enabled) = 0;
79
83 virtual void enterShipMode() = 0;
84
88 virtual void update() = 0;
89
96 virtual void refresh() = 0;
97};
98
99// Factory function to get power manager instance
101
102} // namespace cdc::hal
virtual void setChargingEnabled(bool enabled)=0
virtual uint16_t getBatteryVoltage() const =0
virtual void enterShipMode()=0
virtual bool isBatteryLow() const =0
virtual void update()=0
virtual void refresh()=0
virtual ~IPowerManager()=default
virtual PowerSource getPowerSource() const =0
virtual bool isBatteryPresent() const =0
virtual ChargeStatus getChargeStatus() const =0
virtual uint8_t getBatteryPercent() const =0
virtual bool isUsbConnected() const =0
virtual bool isBatteryCritical() const =0
#define CHARGE_DONE
Definition host_api.h:122
IPowerManager * getPowerManagerInstance()
Returns the singleton power manager instance.