feat(usb_host): CDC-ACM Host add suspend/resume events #206
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This MR adds Suspend/Resume events for CDC-ACM class driver as a follow-up for the Global/Suspend resume feature in the usb component.
Added a backward compatibility for older IDF releases, where the suspend/resume will not be backported, by:
Related
Testing
Checklist
Before submitting a Pull Request, please ensure the following:
Note
Add suspend/resume event handling to CDC-ACM host with backward-compatible API guards and comprehensive test coverage.
USB_HOST_CLIENT_EVENT_DEV_SUSPENDED/DEV_RESUMED; emitCDC_ACM_HOST_DEVICE_SUSPENDED/CDC_ACM_HOST_DEVICE_RESUMEDto clients.cdc_acm_resume()to re-submitBULK INandINTR INpolls after resume.CDC_HOST_SUSPEND_RESUME_API_SUPPORTED(gated byUSB_HOST_LIB_EVENT_FLAGS_AUTO_SUSPEND).cdc_acm_host_dev_event_twith suspend/resume events; includeusb/usb_host.h.app_queuehelpers (wait_for_app_event,wait_for_no_app_event); refactor to a default device config; host loop reacts toUSB_HOST_LIB_EVENT_FLAGS_AUTO_SUSPEND.CHANGELOG.mdwith "Added global suspend/resume support".Written by Cursor Bugbot for commit 149a481. This will update automatically on new commits. Configure here.