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