ESPHome 2026.4.0-dev
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 template<typename F> void add_on_rate_callback(F &&callback) { this->rate_callbacks_.add(std::forward<F>(callback)); }
15
16 protected:
17 static void cdc_dte_rate_callback_(const device *device, uint32_t rate);
19};
20
21extern CdcAcm *global_cdc_acm; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables)
22
23} // namespace esphome::zephyr
24
25#endif
CallbackManager< void(const device *, uint32_t)> rate_callbacks_
Definition cdc_acm.h:18
void add_on_rate_callback(F &&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