walnux/drivers/usbdev
Frank Benkert dcc9b07715 [[This is part 1 or several commits]]
We developed a huge Changeset over a year ago to make USB Composite configuration dynamical and be able to instanciate the CDCACM multiple times inside this device.  We use this feature to switch between one in normal and up to three CDCACMs in maintenance boot.

The control path starts in “boardctl.c” where the configuration for the device is constructed.  There are still a few issues which I’ll ask you to have a look at before this beast can be merged.

1. To be able to construct the data dynamically I have changed some USB-Structs to be packed. Maybe there are additional structs to change (just for completeness – not for current functionality).

2. I’ve added the Macro “COMPILE_TIME_ASSERTION” two times (in usbmsc_desc.c and in cdcacm_desc.c) to stay private. Maybe you’ll find a better place. It’s used to check the size of the structs against the assumptions.

3. I’ve changed the interface for some USB-Functions to receive also the dynamic configuration. Maybe this can be done more elegant.

4. The original NuttX (without the patch) seems to have problems with a Composite device holding a CDCACM and an MSC. The “USB SET CONFIGURATION” request does not to work at all. This makes the test fail under Windows and under Linux. Applying this patch doesn’t change anything – because it only changes the configuration – not the behavior. Maybe you’ll have a look at this problem before applying the patch.
2017-06-01 14:08:22 -06:00
..
cdcacm.c [[This is part 1 or several commits]] 2017-06-01 14:08:22 -06:00
cdcacm.h [[This is part 1 or several commits]] 2017-06-01 14:08:22 -06:00
cdcacm_desc.c [[This is part 1 or several commits]] 2017-06-01 14:08:22 -06:00
composite.c Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
composite.h USB composite: Fix some errors in conditional compilation 2016-03-19 08:08:40 -06:00
composite_desc.c Names of some USB device definitions changed to avoid collisions 2013-09-20 10:00:30 -06:00
Kconfig [[This is part 1 or several commits]] 2017-06-01 14:08:22 -06:00
Make.defs Extend USB trace logic. When we are configured to decode and stringify trace data, de-stringification support is not included for class driver trace output 2013-09-06 17:24:02 -06:00
pl2303.c Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
usbdev_strings.c USBMSC: Fix usbtrace() string. 2016-07-23 20:10:20 -07:00
usbdev_trace.c Remove some last traces of lowvsyslog that were missed; Add a SYSLOG emergency channel for handling assertion output more cleanly 2016-06-20 16:11:50 -06:00
usbdev_trprintf.c Standardize the width of all comment boxes in C files 2015-10-03 07:25:53 -06:00
usbmsc.c USBMSC: Always set LUN readonly flag. 2017-02-08 17:17:19 -08:00
usbmsc.h Fix several defien -> define. Thanks Pierre 2015-05-13 06:33:17 -06:00
usbmsc_desc.c Fix some spacing problems 2015-10-04 15:04:00 -06:00
usbmsc_scsi.c USBMSC: Fix a wrong lun number issue 2017-04-24 09:48:49 +09:00