ESPHome
2026.6.0-dev
Loading...
Searching...
No Matches
esphome
components
esp32_dac
esp32_dac.cpp
Go to the documentation of this file.
1
#include "
esp32_dac.h
"
2
#include "
esphome/core/helpers.h
"
3
#include "
esphome/core/log.h
"
4
5
#if defined(USE_ESP32_VARIANT_ESP32) || defined(USE_ESP32_VARIANT_ESP32S2)
6
7
namespace
esphome::esp32_dac
{
8
9
#ifdef USE_ESP32_VARIANT_ESP32S2
10
static
constexpr
uint8_t DAC0_PIN = 17;
11
#else
12
static
constexpr
uint8_t DAC0_PIN = 25;
13
#endif
14
15
static
const
char
*
const
TAG =
"esp32_dac"
;
16
17
void
ESP32DAC::setup
() {
18
this->
pin_
->
setup
();
19
this->
turn_off
();
20
21
const
dac_channel_t channel = this->
pin_
->
get_pin
() == DAC0_PIN ? DAC_CHAN_0 : DAC_CHAN_1;
22
const
dac_oneshot_config_t oneshot_cfg{channel};
23
dac_oneshot_new_channel(&oneshot_cfg, &this->
dac_handle_
);
24
}
25
26
void
ESP32DAC::on_safe_shutdown
() { dac_oneshot_del_channel(this->
dac_handle_
); }
27
28
void
ESP32DAC::dump_config
() {
29
ESP_LOGCONFIG(TAG,
"ESP32 DAC:"
);
30
LOG_PIN(
" Pin: "
, this->
pin_
);
31
LOG_FLOAT_OUTPUT(
this
);
32
}
33
34
void
ESP32DAC::write_state
(
float
state
) {
35
if
(this->
pin_
->
is_inverted
())
36
state = 1.0f -
state
;
37
38
state
=
state
* 255;
39
40
dac_oneshot_output_voltage(this->
dac_handle_
, state);
41
}
42
43
}
// namespace esphome::esp32_dac
44
45
#endif
// USE_ESP32_VARIANT_ESP32 || USE_ESP32_VARIANT_ESP32S2
esphome::GPIOPin::setup
virtual void setup()=0
esphome::InternalGPIOPin::get_pin
virtual uint8_t get_pin() const =0
esphome::InternalGPIOPin::is_inverted
virtual bool is_inverted() const =0
esphome::esp32_dac::ESP32DAC::on_safe_shutdown
void on_safe_shutdown() override
Definition
esp32_dac.cpp:26
esphome::esp32_dac::ESP32DAC::dac_handle_
dac_oneshot_handle_t dac_handle_
Definition
esp32_dac.h:29
esphome::esp32_dac::ESP32DAC::pin_
InternalGPIOPin * pin_
Definition
esp32_dac.h:28
esphome::esp32_dac::ESP32DAC::write_state
void write_state(float state) override
Definition
esp32_dac.cpp:34
esphome::esp32_dac::ESP32DAC::setup
void setup() override
Initialize pin.
Definition
esp32_dac.cpp:17
esphome::esp32_dac::ESP32DAC::dump_config
void dump_config() override
Definition
esp32_dac.cpp:28
esphome::output::BinaryOutput::turn_off
virtual void turn_off()
Disable this binary output.
Definition
binary_output.h:50
esp32_dac.h
state
bool state
Definition
fan.h:2
helpers.h
log.h
esphome::esp32_dac
Definition
esp32_dac.cpp:7
Generated by
1.12.0