ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
esp32_dac.h
Go to the documentation of this file.
1#pragma once
2
6#include "esphome/core/hal.h"
7
8#if defined(USE_ESP32_VARIANT_ESP32) || defined(USE_ESP32_VARIANT_ESP32S2)
9
10#include <driver/dac_oneshot.h>
11
12namespace esphome::esp32_dac {
13
14class ESP32DAC : public output::FloatOutput, public Component {
15 public:
16 void set_pin(InternalGPIOPin *pin) { pin_ = pin; }
17
19 void setup() override;
20 void on_safe_shutdown() override;
21 void dump_config() override;
23 float get_setup_priority() const override { return setup_priority::HARDWARE; }
24
25 protected:
26 void write_state(float state) override;
27
29 dac_oneshot_handle_t dac_handle_;
30};
31
32} // namespace esphome::esp32_dac
33
34#endif // USE_ESP32_VARIANT_ESP32 || USE_ESP32_VARIANT_ESP32S2
void on_safe_shutdown() override
Definition esp32_dac.cpp:26
dac_oneshot_handle_t dac_handle_
Definition esp32_dac.h:29
void set_pin(InternalGPIOPin *pin)
Definition esp32_dac.h:16
InternalGPIOPin * pin_
Definition esp32_dac.h:28
void write_state(float state) override
Definition esp32_dac.cpp:34
void setup() override
Initialize pin.
Definition esp32_dac.cpp:17
void dump_config() override
Definition esp32_dac.cpp:28
float get_setup_priority() const override
HARDWARE setup_priority.
Definition esp32_dac.h:23
Base class for all output components that can output a variable level, like PWM.
bool state
Definition fan.h:2
constexpr float HARDWARE
For components that deal with hardware and are very important like GPIO switch.
Definition component.h:41