Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-CDC-ACM Support (IDFGH-6350) #8011

Closed
wants to merge 4,142 commits into from

Conversation

moefear85
Copy link

@moefear85 moefear85 commented Dec 5, 2021

I've modified some of the esp-idf & tinyusb files so that menuconfig exposes options to choose more than 1 USB-CDC-ACM channel. Please merge so everybody can benefit. Please see the patch files in the root folder. It only applies to a handful of files, not all of the files listed below. I'm a git noob.

gustavonihei and others added 30 commits November 12, 2021 17:35
This prevents the compiler error for the implicit declaration of
function "esp_rom_printf".

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
substract rtc_iram_seg memory region size from ESP_BOOTLOADER_RESERVE_RTC

Closes WIFI-4115

See merge request espressif/esp-idf!15743
PSRAM: Add ESP32-D0WDR2-V3 support

Closes IDF-4308

See merge request espressif/esp-idf!15875
fixes some sleep related issues

Closes AUD-3278

See merge request espressif/esp-idf!15844
docs:update the link to esp32-s3-wroom-1 datasheet

See merge request espressif/esp-idf!15741
…value for future targets, and remove line breaks inside paragraphs
docs: Update incorrect pins for S3 documentation, set a default value for future targets, and remove line breaks inside paragraphs

Closes DOC-2244 and DOC-2199

See merge request espressif/esp-idf!15899
NimBLE: Modified timer not started / running warning print

See merge request espressif/esp-idf!15177
The file is now more consistent as the macros have been fixed, more comments
have been added and the indentation is now using spaces only.
efuse: Add missing esp_rom_sys.h include file

See merge request espressif/esp-idf!15939
examples: esp_timer: disable secondary console for S3/C3 that can affect test timing

Closes IDFCI-935 and IDFCI-936

See merge request espressif/esp-idf!15934
tools: add json schema for idf_size

Closes IDF-4133

See merge request espressif/esp-idf!15530
clk: fix esp32h2 print wrong CPU frequency

See merge request espressif/esp-idf!15942
When using a Linux system configured with `zh_CN.UTF-8` as `$LANG`,
and running raw cmake command to build the project (rather than using
`idf.py build`), output of objdump will be Chinese
(like `在归档文件 libesp_pm.a 中`), resulting in parsing error
`pyparsing.ParseException: Expected "In archive" (at char 0), (line:1, col:1)`
at entity.py line 129.

This commit forces objdump to use raw locale setting (`C`), to ensure
it always make English output that's able to be parsed.

Closes espressif#7903
…elete it from check_copyright_ignore.txt to complete pipelines without errors
Build & config: Remove leftover files from the unsupported make build system

Closes IDF-4273 and IDF-2827

See merge request espressif/esp-idf!15829
esp_eth_ioctl third argument always acts as untyped pointer to memory now
ldgen: override LC_ALL to C before running objdump

Closes IDFGH-6231

See merge request espressif/esp-idf!15964
esp_eth:  esp_eth_ioctl update

Closes IDF-1240 and IDF-4060

See merge request espressif/esp-idf!15607
fix: re-enabled fatfs r/w test on sdspi
fix: copyright notice
add: pin definitions for esp32c3
fix: Changed fixed spi dma channel to a macro definition
docs: update CN translation for ota.rst and console.rst

See merge request espressif/esp-idf!15634
feat(idf.py): add `idf.py clang-check` and `idf.py clang-html-report`

Closes IDF-1909

See merge request espressif/esp-idf!15848
hfudev and others added 15 commits December 2, 2021 10:55
"-m" can't be specified for multiple times. pytest is using "and", "or",
"not" and parentheses to filter by markers
hal/i2s: remove duplicated code in i2s_hal_rx_set_pdm_mode_default

See merge request espressif/esp-idf!16208
lw-ip: Update LWIP_DHCP_OPTIONS_LEN default value when LWIP_DHCP_DISABLE_VENDOR_CLASS_ID disabled

Closes IDFGH-6064 and IDFGH-6059

See merge request espressif/esp-idf!15623
Component_bt/Fix SPP cannot malloc slot bugs

Closes BCI-300

See merge request espressif/esp-idf!16035
Example: pytest for examples/custom_bootloader

See merge request espressif/esp-idf!16206
docs: update CN translation for fatfs.rst

See merge request espressif/esp-idf!15958
tools: make idf_tools.py download --platform argument optional

Closes IDF-2296

See merge request espressif/esp-idf!14070
ci: preserve artifacts for local test apps

See merge request espressif/esp-idf!15990
CI/MQTT: Add more unit tests with actual broker

See merge request espressif/esp-idf!15408
docs: fix minor typo (Github PR)

Closes IDFGH-6316

See merge request espressif/esp-idf!16233
@CLAassistant
Copy link

CLAassistant commented Dec 5, 2021

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 22 committers have signed the CLA.

✅ hfudev
❌ ydesp
❌ lovyan03
❌ igrr
❌ skywxFang
❌ AndriiFilippov
❌ skyESP
❌ o-marshmallow
❌ dobairoland
❌ suda-morris
❌ mahavirj
❌ tore-espressif
❌ ginkgm
❌ wmy-espressif
❌ daiziyan
❌ david-cermak
❌ 0xjakob
❌ Isl2017
❌ ESP-YJM
❌ moefear85
❌ boblane1
❌ antmak


daiziyan seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@espressif-bot espressif-bot added the Status: Opened Issue is new label Dec 5, 2021
@github-actions github-actions bot changed the title Multi-CDC-ACM Support Multi-CDC-ACM Support (IDFGH-6350) Dec 5, 2021
@Alvin1Zhang
Copy link
Collaborator

Thanks for your contribution.

@tore-espressif
Copy link
Collaborator

Hello @moefear85 ,
Thank you very much in your interest and contribution.

However, we can't accept Pull Requests in form of .patch files; it would have to be a regular git commit. Moreover, there is a lot of commented-out code and other details. Please see our contributing guide.
If you want to finish the PR yourself, could you please also change the target branch from release/v4.3 to master? This PR, as is, would pollute our git history.

We are internally working on expanding the CDC-ACM USB device, so we can provide more examples soon.

@tore-espressif
Copy link
Collaborator

Linking related issue #7020

@espressif-bot espressif-bot added Resolution: Done Issue is done internally Status: Done Issue is done internally and removed Status: Opened Issue is new labels Jan 5, 2022
@tore-espressif
Copy link
Collaborator

tore-espressif commented Jan 6, 2022

Commit 6330d5d is doing something similar but with only 2 channels.

The reason for this limitation is that USB peripheral implementation has only 6 hardware endpoints and one CDC channel needs 3 endpoints. That leaves us with max 2 CDC channels.

dskulina pushed a commit to playable-tech/esp-idf that referenced this pull request Feb 4, 2022
dskulina pushed a commit to playable-tech/esp-idf that referenced this pull request Feb 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet