Skip to content

Commit

Permalink
Add optional config for manufacturer & product names
Browse files Browse the repository at this point in the history
  • Loading branch information
torfbolt committed Jan 10, 2025
1 parent fe444a0 commit f513b77
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 0 deletions.
10 changes: 10 additions & 0 deletions esphome/components/usb_device/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
CONF_USB_DEVICE_ID = "usb_device_id"
CONF_VENDOR_ID = "vendor_id"
CONF_PRODUCT_ID = "product_id"
CONF_MANUFACTURER_NAME = "manufacturer_name"
CONF_PRODUCT_NAME = "product_name"


def _validate_variant(value):
Expand All @@ -37,6 +39,8 @@ def _validate_variant(value):
cv.GenerateID(): cv.declare_id(UsbDevice),
cv.Optional(CONF_VENDOR_ID): cv.hex_uint16_t,
cv.Optional(CONF_PRODUCT_ID): cv.hex_uint16_t,
cv.Optional(CONF_MANUFACTURER_NAME): cv.string,
cv.Optional(CONF_PRODUCT_NAME): cv.string,
}
).extend(cv.polling_component_schema("10s")),
cv.only_with_arduino,
Expand Down Expand Up @@ -74,6 +78,12 @@ async def to_code(config):
if CONF_PRODUCT_ID in config:
cg.add_define("USE_PRODUCT_ID")
cg.add(var.set_product_id(config[CONF_PRODUCT_ID]))
if CONF_MANUFACTURER_NAME in config:
cg.add_define("USE_MANUFACTURER_NAME")
cg.add(var.set_manufacturer_name(config[CONF_MANUFACTURER_NAME]))
if CONF_PRODUCT_NAME in config:
cg.add_define("USE_PRODUCT_NAME")
cg.add(var.set_product_name(config[CONF_PRODUCT_NAME]))

await cg.register_component(var, config)
cg.add_library("adafruit/Adafruit TinyUSB Library", "2.2.4", None)
Expand Down
12 changes: 12 additions & 0 deletions esphome/components/usb_device/usb_device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ void UsbDevice::setup() {
#endif
#ifdef USE_PRODUCT_ID
USB.PID(this->product_id_);
#endif
#ifdef USE_MANUFACTURER_NAME
USB.manufacturerName(this->manufacturer_name_.c_str());
#endif
#ifdef USE_PRODUCT_NAME
USB.productName(this->product_name_.c_str());
#endif
USB.begin();
}
Expand Down Expand Up @@ -49,6 +55,12 @@ void UsbDevice::set_vendor_id(const uint16_t vid) { this->vendor_id_ = vid; }
#ifdef USE_PRODUCT_ID
void UsbDevice::set_product_id(const uint16_t pid) { this->product_id_ = pid; }
#endif
#ifdef USE_MANUFACTURER_NAME
void UsbDevice::set_manufacturer_name(const std::string &manufacturer_name) { this->manufacturer_name_ = manufacturer_name; }
#endif
#ifdef USE_PRODUCT_NAME
void UsbDevice::set_product_name(const std::string &product_name) { this->product_name_ = product_name; }
#endif

#ifdef USE_BINARY_SENSOR
void UsbDevice::set_mounted_binary_sensor(binary_sensor::BinarySensor *sensor) { mounted_ = sensor; };
Expand Down
12 changes: 12 additions & 0 deletions esphome/components/usb_device/usb_device.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ class UsbDevice : public PollingComponent {
#ifdef USE_PRODUCT_ID
void set_product_id(uint16_t product_id);
#endif
#ifdef USE_MANUFACTURER_NAME
void set_manufacturer_name(const std::string &manufacturer_name);
#endif
#ifdef USE_PRODUCT_NAME
void set_product_name(const std::string &product_name);
#endif
#ifdef USE_BINARY_SENSOR
void set_mounted_binary_sensor(binary_sensor::BinarySensor *sensor);
void set_ready_binary_sensor(binary_sensor::BinarySensor *sensor);
Expand All @@ -32,6 +38,12 @@ class UsbDevice : public PollingComponent {
#ifdef USE_PRODUCT_ID
uint16_t product_id_;
#endif
#ifdef USE_MANUFACTURER_NAME
std::string manufacturer_name_;
#endif
#ifdef USE_PRODUCT_NAME
std::string product_name_;
#endif
#ifdef USE_BINARY_SENSOR
binary_sensor::BinarySensor *mounted_;
binary_sensor::BinarySensor *ready_;
Expand Down

0 comments on commit f513b77

Please sign in to comment.