Commit Graph

30 Commits

Author SHA1 Message Date
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
Gregory Nutt
dc3a7e54a9 Cosmetic 2017-05-30 11:36:54 -06:00
Gregory Nutt
0de294a586 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
Gregory Nutt
86bdd0a4c7 Modules: Move last of many C files from sched/module to libc/modlib 2017-01-29 11:54:54 -06:00
Gregory Nutt
35dfe25430 Remove BOARDIOC_CAN_INITIALIZE. CAN initialization is now done in the board initialization logic just like every other device driver. 2016-12-06 08:51:37 -06:00
Gregory Nutt
55dd1c87b3 Remove all references to BOARDIOC_ADCSETUP 2016-12-05 15:31:40 -06:00
Gregory Nutt
b999e63c82 Remove some references to BOARDIOC_PWMTEST and board_pwm_setup(). Still lots more. 2016-12-05 13:54:12 -06:00
Gregory Nutt
86b5f3b9ed boardctl: Add new command to start the NX server as a kernel thread. Also refresh more configurations. 2016-12-01 15:05:57 -06:00
Gregory Nutt
553f6d22fc Boardctl: Add a boardctrl() command to start the NX server. Refresh all NX configurations. 2016-12-01 13:52:13 -06:00
Gregory Nutt
4b3e710af6 Add an argument to board_app_initialize() 2016-05-24 10:51:22 -06:00
Gregory Nutt
512a31527b Extend boardctl() USB device control to include PL2303 serial 2016-03-25 16:01:40 -06:00
Gregory Nutt
55407013ea Fix a few issues related to new USB device boardctl() commands 2016-03-25 14:23:01 -06:00
Gregory Nutt
39326f3b96 Rename all occurrences of composite_archinitialize to board_composite_initialize 2016-03-25 11:16:38 -06:00
Gregory Nutt
a2620361df Add basic definitions for control of USB devices via boardctl() 2016-03-25 10:51:57 -06:00
Gregory Nutt
54ea059beb Add new boardctl() command to set OS symbol table 2015-12-13 08:13:15 -06:00
Gregory Nutt
91a8514774 Add a command to boardctl() to obtain a baord unique ID 2015-11-18 07:31:23 -06:00
Pavel Pisa
b67c0e8df6 boardctl: Last change uses DEBUGASSERT and, hence, requires inclusion of assert.h 2015-08-23 16:46:50 -06:00
Gregory Nutt
17b2f07cdb boardctl: Update for movement of libc/symtab to apps/system 2015-08-23 12:17:10 -06:00
Gregory Nutt
c2d10cf875 boardctl(): Add support for the BOARDIOC_SYMTAB command 2015-08-23 10:25:25 -06:00
Gregory Nutt
f4b35662ec Trivial removal of trailing whitespace 2015-08-18 13:24:24 -06:00
Gregory Nutt
88660657c2 Rename can_devinit() to board_can_initialize(). Hook in to boardctl() with BOARDIOC_CAN_INITIALIZE 2015-08-18 13:21:45 -06:00
Gregory Nutt
70b6085927 Add support for a BOARDIOC_RESET boardctl() command 2015-07-04 10:36:47 -06:00
Gregory Nutt
b3731ca5ca Modify board_power_off() so that is is called only via boardctl() 2015-07-02 17:09:16 -06:00
Gregory Nutt
4b5e1389b1 Missing PWM boardctl logic breaks PWM test. 2015-04-15 21:37:41 -06:00
Gregory Nutt
f339a0652e boardctl(): Typo in ADC logic 2015-04-09 14:22:58 -06:00
Gregory Nutt
bfb182a4b4 Remove executable flag from more .c and .h files 2015-04-09 08:20:57 -06:00
Gregory Nutt
afe76e9b07 Rename up_nxdrvinit() to board_graphics_setup(). Add CONFIG_BOARDCTL_GRAPHICS that will enabled calls to board_graphics_setup() from boardctrl(). In apps/ and NxWidgts/, replace all calls to up_nxdrvinit with calls to boardctl(). 2015-03-31 16:20:21 -06:00
Gregory Nutt
629d7e4ec0 Rename adc_devinit() to board_adc_setup(). Add support to the boardctl() interface so that it can call board_adc_setup() on behalf of an application. Change apps/examples/adc to that is now calls boardctl() instead of adc_devinit() in order to initalize the ADC device. 2015-03-31 15:00:23 -06:00
Gregory Nutt
fdfe38ea0d rch_tcinitialize() and arch_tcunitinitialize() renamed to board_tsc_setup() and board_tsc_teardown(). These are not long called directly by applications but only indirectly throught the crappy boardctl() OS interface. 2015-03-31 13:21:25 -06:00
Gregory Nutt
fdad367566 boardctl(): Add a new non-standard OS interface. This is similar to a driver IOCTL call. But this is an IOCTL call directly on the board logic. This function will eventually replace all of the ad hoc OS interfaces that are current used to perform application specific intialiation and application driver test confifuration. It essentially formalizes and institutionalizes these rogue interface in to at least a single crazy call. 2015-03-31 11:25:52 -06:00