ESPHome 2025.9.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 {
13namespace esp32_dac {
14
15class ESP32DAC : public output::FloatOutput, public Component {
16 public:
17 void set_pin(InternalGPIOPin *pin) { pin_ = pin; }
18
20 void setup() override;
21 void on_safe_shutdown() override;
22 void dump_config() override;
24 float get_setup_priority() const override { return setup_priority::HARDWARE; }
25
26 protected:
27 void write_state(float state) override;
28
30 dac_oneshot_handle_t dac_handle_;
31};
32
33} // namespace esp32_dac
34} // namespace esphome
35
36#endif // USE_ESP32_VARIANT_ESP32 || USE_ESP32_VARIANT_ESP32S2
void on_safe_shutdown() override
Definition esp32_dac.cpp:27
dac_oneshot_handle_t dac_handle_
Definition esp32_dac.h:30
void set_pin(InternalGPIOPin *pin)
Definition esp32_dac.h:17
InternalGPIOPin * pin_
Definition esp32_dac.h:29
void write_state(float state) override
Definition esp32_dac.cpp:35
void setup() override
Initialize pin.
Definition esp32_dac.cpp:18
void dump_config() override
Definition esp32_dac.cpp:29
float get_setup_priority() const override
HARDWARE setup_priority.
Definition esp32_dac.h:24
Base class for all output components that can output a variable level, like PWM.
bool state
Definition fan.h:0
const float HARDWARE
For components that deal with hardware and are very important like GPIO switch.
Definition component.cpp:49
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7