fix s3 implementation

This commit is contained in:
Tomasz Duda 2024-10-01 16:25:05 +02:00
parent 46b6ca0f02
commit e2f23fd799
2 changed files with 24 additions and 3 deletions

View file

@ -2,7 +2,12 @@
#include "usb_device.h"
#include "esphome/core/log.h"
#include "USB.h"
// based on defines in HWCDC.cpp
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
#if ARDUINO_USB_MODE
#include "HWCDC.h"
#endif
#endif
extern "C" {
bool configured;
@ -26,20 +31,35 @@ void UsbDevice::update() {
#ifdef USE_BINARY_SENSOR
if (configured_ != nullptr) {
// bool configured = USB;
configured_->publish_state(configured);
configured_->publish_state(get_configured_());
}
#endif
}
void UsbDevice::dump_config() {
// bool configured = USB;
ESP_LOGCONFIG(TAG, "USB device - configured: %s", YESNO(configured));
ESP_LOGCONFIG(TAG, "USB device - configured: %s", YESNO(get_configured_()));
}
#ifdef USE_BINARY_SENSOR
void UsbDevice::set_configured_binary_sensor(binary_sensor::BinarySensor *sensor) { configured_ = sensor; };
#endif
bool UsbDevice::get_configured_() {
// based on defines in HWCDC.cpp
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
#if ARDUINO_USB_MODE
#if ARDUINO_USB_CDC_ON_BOOT//Serial used for USB CDC
return Serial;
#else
return USBSerial;
#endif
#endif
#endif
return false;
}
} // namespace usb_device
} // namespace esphome
#endif

View file

@ -19,6 +19,7 @@ class UsbDevice : public PollingComponent {
#ifdef USE_BINARY_SENSOR
binary_sensor::BinarySensor *configured_;
#endif
bool get_configured_();
};
} // namespace usb_device