ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esp_ldo.h
Go to the documentation of this file.
1#pragma once
2#ifdef USE_ESP32_VARIANT_ESP32P4
4#include "esp_ldo_regulator.h"
5
6namespace esphome::esp_ldo {
7
8class EspLdo final : public Component {
9 public:
10 EspLdo(int channel) : channel_(channel) {}
11
12 void setup() override;
13 void dump_config() override;
14
15 void set_adjustable(bool adjustable) { this->adjustable_ = adjustable; }
16 void set_voltage(int voltage_mv) { this->voltage_mv_ = voltage_mv; }
17 void adjust_voltage(float voltage);
18 float get_setup_priority() const override {
19 return setup_priority::BUS; // LDO setup should be done early
20 }
21
22 protected:
24 int voltage_mv_{2700};
25 bool adjustable_{false};
26 esp_ldo_channel_handle_t handle_{};
27};
28
29} // namespace esphome::esp_ldo
30
31#endif // USE_ESP32_VARIANT_ESP32P4
float get_setup_priority() const override
Definition esp_ldo.h:18
void adjust_voltage(float voltage)
Definition esp_ldo.cpp:30
void setup() override
Definition esp_ldo.cpp:9
void dump_config() override
Definition esp_ldo.cpp:22
void set_adjustable(bool adjustable)
Definition esp_ldo.h:15
EspLdo(int channel)
Definition esp_ldo.h:10
void set_voltage(int voltage_mv)
Definition esp_ldo.h:16
esp_ldo_channel_handle_t handle_
Definition esp_ldo.h:26
constexpr float BUS
For communication buses like i2c/spi.
Definition component.h:39