ESPHome 2025.5.0
Loading...
Searching...
No Matches
esp32_dac.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/hal.h"
7
8#ifdef USE_ESP32
9
10#ifdef USE_ESP_IDF
11#include <driver/dac_oneshot.h>
12#endif
13
14namespace esphome {
15namespace esp32_dac {
16
17class ESP32DAC : public output::FloatOutput, public Component {
18 public:
19 void set_pin(InternalGPIOPin *pin) { pin_ = pin; }
20
22 void setup() override;
23 void on_safe_shutdown() override;
24 void dump_config() override;
26 float get_setup_priority() const override { return setup_priority::HARDWARE; }
27
28 protected:
29 void write_state(float state) override;
30
32#ifdef USE_ESP_IDF
33 dac_oneshot_handle_t dac_handle_;
34#endif
35};
36
37} // namespace esp32_dac
38} // namespace esphome
39
40#endif
void on_safe_shutdown() override
Definition esp32_dac.cpp:34
dac_oneshot_handle_t dac_handle_
Definition esp32_dac.h:33
void set_pin(InternalGPIOPin *pin)
Definition esp32_dac.h:19
InternalGPIOPin * pin_
Definition esp32_dac.h:31
void write_state(float state) override
Definition esp32_dac.cpp:46
void setup() override
Initialize pin.
Definition esp32_dac.cpp:22
void dump_config() override
Definition esp32_dac.cpp:40
float get_setup_priority() const override
HARDWARE setup_priority.
Definition esp32_dac.h:26
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:18
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7