diff --git a/configs/stm3210e-eval/README.txt b/configs/stm3210e-eval/README.txt index 017af14e5b..3f260e9a83 100755 --- a/configs/stm3210e-eval/README.txt +++ b/configs/stm3210e-eval/README.txt @@ -631,6 +631,16 @@ Where is one of the following: -CONFIG_CDCSER=n +CONFIG_CDCSER=y + The example can also be converted to use the alternative + USB serial example at apps/examples/usbterm by changing the + following: + + -CONFIGURED_APPS += examples/usbserial + +CONFIGURED_APPS += examples/usbterm + + In either the original appconfig file (before configuring) + or in the final apps/.config file (after configuring). + usbstorage: ---------- This configuration directory exercises the USB mass storage diff --git a/configs/stm3210e-eval/usbserial/defconfig b/configs/stm3210e-eval/usbserial/defconfig index ec48e44c9f..a23ef58f77 100755 --- a/configs/stm3210e-eval/usbserial/defconfig +++ b/configs/stm3210e-eval/usbserial/defconfig @@ -884,6 +884,34 @@ CONFIG_EXAMPLES_USBSERIAL_TRACETRANSFERS=n CONFIG_EXAMPLES_USBSERIAL_TRACECONTROLLER=n CONFIG_EXAMPLES_USBSERIAL_TRACEINTERRUPTS=n +# +# Settings for examples/usbterm +# +# CONFIG_EXAMPLES_UBSTERM_BUILTIN - Build the usbterm example as an NSH +# built-in command. NOTE: This is not fully functional as of this +# writing.. It should work, but there is no mechanism in place yet +# to exit the USB terminal program and return to NSH. +# CONFIG_EXAMPLES_USBTERM_BUFLEN - The size of the input and output +# buffers used for receiving data. Default 256 bytes. +# +# If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB, or +# CONFIG_USBDEV_TRACE), then the example code will also manage the USB trace +# output. The amount of trace output can be controlled using: +# +# CONFIG_EXAMPLES_USBTERM_TRACEINIT - Show initialization events +# CONFIG_EXAMPLES_USBTERM_TRACECLASS - Show class driver events +# CONFIG_EXAMPLES_USBTERM_TRACETRANSFERS - Show data transfer events +# CONFIG_EXAMPLES_USBTERM_TRACECONTROLLER - Show controller events +# CONFIG_EXAMPLES_USBTERM_TRACEINTERRUPTS - Show interrupt-related events +# +CONFIG_EXAMPLES_UBSTERM_BUILTIN=n +CONFIG_EXAMPLES_USBTERM_BUFLEN=256 +CONFIG_EXAMPLES_USBTERM_TRACEINIT=n +CONFIG_EXAMPLES_USBTERM_TRACECLASS=n +CONFIG_EXAMPLES_USBTERM_TRACETRANSFERS=n +CONFIG_EXAMPLES_USBTERM_TRACECONTROLLER=n +CONFIG_EXAMPLES_USBTERM_TRACEINTERRUPTS=n + # # Stack and heap information # diff --git a/drivers/usbdev/cdc_serial.c b/drivers/usbdev/cdc_serial.c index d5d5739b2c..bab4e39518 100644 --- a/drivers/usbdev/cdc_serial.c +++ b/drivers/usbdev/cdc_serial.c @@ -2170,7 +2170,20 @@ static int usbser_ioctl(FAR struct file *filep,int cmd,unsigned long arg) case CAIOC_NOTIFY: { /* Not yet implemented. I probably won't bother to implement until - * I com up with a usage model that needs it. + * I comr up with a usage model that needs it. + * + * Here is what the needs to be done: + * + * 1. Format and send a request header with: + * + * bmRequestType: + * USB_REQ_DIR_IN|USB_REQ_TYPE_CLASS|USB_REQ_RECIPIENT_INTERFACE + * bRequest: ACM_SERIAL_STATE + * wValue: 0 + * wIndex: 0 + * wLength: Length of data + * + * 2. Followed by the notification data (in a separate packet) */ ret = -ENOSYS;