-
Notifications
You must be signed in to change notification settings - Fork 2.1k
USB Device Stack #3546
Copy link
Copy link
Closed
Labels
Area: driversArea: Device driversArea: Device driversDiscussion: RFCThe issue/PR is used as a discussion starting point about the item of the issue/PRThe issue/PR is used as a discussion starting point about the item of the issue/PRPlatform: ARMPlatform: This PR/issue effects ARM-based platformsPlatform: This PR/issue effects ARM-based platforms
Description
For some time now I have been working on the USB Device Stack for RIOT. Currently I have a functioning device stack with CDC ACM device support (loopback). It is progressing slowly, because I do it only in my free time, but steadily. I plan to open a PR at end of the week.
The stack shall/will be designed to run on built-in USB-Controllers (on ARM SoCs or similar).
Here I would like to put my ideas on the stack to discussion and track the progress.
I see three steps as the main task:
- Implementation of USB Device Stack with CDC-ACM support, thus RIOT can act (inside a USB adapter) as a border router.
- Implementation of USB HCI protocol, thus RIOT can be used inside a USB BLE adapter (if BLE LL is finished).
- Since there is no common interface such as HCl for IEEE802.15.4 devices under Linux, it is close to take it from bluez and/or adapt it to use with Linux IEEE802.15.4 subsystem.
I think if it is so far, RIOT will be a universal OS for IoT. Especially the step two may increase the popularity of RIOT and increases the acceptance of IEEE802.15.4 devices.
The TODO list for the stack:
- USB Device Stack, WIP -> USB device stack #3890
- CDC-ACM support
- CDC-ECM support
- netdev support over bulk endpoints (radio on the SoC can be used by the native port)
- RIOT-OS as Hard-MAC for Linux IEEE802.15.4 subsystem
- Implementation of USB HCI protocol, -> USB BLE HCI protocol #4684
Supported hardware:
- NXP Kinetis SoC (k64f, kw2xd, ...)
- Atmel SAMR21, SAMD21 (WIP)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area: driversArea: Device driversArea: Device driversDiscussion: RFCThe issue/PR is used as a discussion starting point about the item of the issue/PRThe issue/PR is used as a discussion starting point about the item of the issue/PRPlatform: ARMPlatform: This PR/issue effects ARM-based platformsPlatform: This PR/issue effects ARM-based platforms