SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
PmicChannelBase.hpp
Go to the documentation of this file.
1
43#pragma once
44
45#include <stdint.h>
46
62{
63public:
67 enum class Type : uint8_t {
68 DCDC = 0,
69 LDO = 1,
70 };
71
75 struct Info {
76 uint8_t channel;
78 uint16_t minMillivolt;
79 uint16_t maxMillivolt;
80 uint16_t stepMillivolt;
81 const char *name;
82 };
83
87 virtual ~PmicChannelBase() = default;
88
95 virtual bool enable(uint8_t channel, bool enable) = 0;
96
102 virtual bool isEnabled(uint8_t channel) = 0;
103
114 virtual bool setVoltage(uint8_t channel, uint16_t mV) = 0;
115
121 virtual uint16_t getVoltage(uint8_t channel) = 0;
122
127 virtual uint8_t count() const = 0;
128
135 virtual Info getInfo(uint8_t channel) const = 0;
136};
137
PMIC power output channel base interface.
Type
Regulator type classification.
@ LDO
Linear low-dropout regulator.
@ DCDC
Switching buck/boost converter.
virtual bool isEnabled(uint8_t channel)=0
Check whether a power output channel is currently enabled.
virtual ~PmicChannelBase()=default
Virtual destructor.
virtual uint16_t getVoltage(uint8_t channel)=0
Get the current output voltage of a channel.
virtual bool setVoltage(uint8_t channel, uint16_t mV)=0
Set the output voltage of a channel.
virtual uint8_t count() const =0
Get the number of power output channels available on this PMIC.
virtual bool enable(uint8_t channel, bool enable)=0
Enable or disable a power output channel.
virtual Info getInfo(uint8_t channel) const =0
Get static metadata for a specific channel.
Static metadata for a single power output channel.
const char * name
Name (e.g. "DCDC1")
uint16_t stepMillivolt
Voltage adjustment step in mV.
uint16_t maxMillivolt
Maximum output voltage in mV.
uint8_t channel
Channel index (0-based)
uint16_t minMillivolt
Minimum output voltage in mV.
Type type
Regulator type (DCDC/LDO)