diff options
Diffstat (limited to 'components/drivers/usb/usbdevice/class/cdc_vcom.c')
| -rw-r--r-- | components/drivers/usb/usbdevice/class/cdc_vcom.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/components/drivers/usb/usbdevice/class/cdc_vcom.c b/components/drivers/usb/usbdevice/class/cdc_vcom.c index 125fb7a200..df5e03f54c 100644 --- a/components/drivers/usb/usbdevice/class/cdc_vcom.c +++ b/components/drivers/usb/usbdevice/class/cdc_vcom.c @@ -670,6 +670,12 @@ static rt_err_t _vcom_configure(struct rt_serial_device *serial, static rt_err_t _vcom_control(struct rt_serial_device *serial, int cmd, void *arg) { + struct ufunction *func; + struct vcom *data; + + func = (struct ufunction*)serial->parent.user_data; + data = (struct vcom*)func->user_data; + switch (cmd) { case RT_DEVICE_CTRL_CLR_INT: @@ -678,6 +684,9 @@ static rt_err_t _vcom_control(struct rt_serial_device *serial, case RT_DEVICE_CTRL_SET_INT: /* enable rx irq */ break; + case RT_USBD_CLASS_CTRL_CONNECTED: + (*(rt_bool_t*)arg) = data->connected; + break; } return RT_EOK; |
