ESPHome 2026.3.0
Loading...
Searching...
No Matches
cdc_acm.h
Go to the documentation of this file.
1#pragma once
2#if defined(CONFIG_CDC_ACM_DTE_RATE_CALLBACK_SUPPORT)
3
6#include <zephyr/device.h>
7
8namespace esphome::zephyr {
9
10class CdcAcm : public Component {
11 public:
12 CdcAcm();
13 void setup() override;
14 void add_on_rate_callback(std::function<void(const device *, uint32_t)> &&callback) {
15 this->rate_callbacks_.add(std::move(callback));
16 }
17
18 protected:
19 static void cdc_dte_rate_callback_(const device *device, uint32_t rate);
21};
22
23extern CdcAcm *global_cdc_acm; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables)
24
25} // namespace esphome::zephyr
26
27#endif
CallbackManager< void(const device *, uint32_t)> rate_callbacks_
Definition cdc_acm.h:20
void add_on_rate_callback(std::function< void(const device *, uint32_t)> &&callback)
Definition cdc_acm.h:14
void setup() override
Definition cdc_acm.cpp:12
static void cdc_dte_rate_callback_(const device *device, uint32_t rate)
Definition cdc_acm.cpp:22
CdcAcm * global_cdc_acm
Definition cdc_acm.cpp:26
static void uint32_t