Skip to content

Add optional device hid changes protocol callback and host hid api to…#12

Open
ayedm1 wants to merge 28 commits intomasterfrom
add_set_get_host_hid_api
Open

Add optional device hid changes protocol callback and host hid api to…#12
ayedm1 wants to merge 28 commits intomasterfrom
add_set_get_host_hid_api

Conversation

@ayedm1
Copy link
Owner

@ayedm1 ayedm1 commented Feb 24, 2026

… set/get protocol

This pull request adds host HID API functions to get and set the HID protocol (boot vs report mode) and introduces an optional callback for the device side when the protocol changes.

  • Added new host-side APIs ux_host_class_hid_protocol_set() and ux_host_class_hid_protocol_get() with error checking wrappers.
  • Added device-side optional callback ux_device_class_hid_set_protocol_callback that is invoked when the protocol changes
  • Added comprehensive test to verify the new protocol callback functionality

Sebastian Paarz and others added 16 commits March 11, 2025 23:55
If the queue is empty we need the check here.
Added ports for RXv1/GNU, RXv2/GNU and RXv3/GNU
- Add mass-storage “removable media” support by tracking per-LUN prevent/allow medium removal and loaded/ejected status.
- Introduce an optional per-LUN callback to handle SCSI START STOP UNIT (including load/eject and power-condition fields).
- Extend storage constants (media types, sense keys/codes, power conditions, prevent flags) to support the new behavior and improve readability (explicit hex values).
- Initialize new per-LUN state on activation (default: medium removal allowed, medium loaded) and wire the new callback through storage initialization.
- Includes minor formatting/comment cleanups and version banner updates to 6.4.6.

SCSI Block Commands – 4 (SBC-4)
- Adds _ux_dcd_sim_slave_uninitialize() to free the simulated slave DCD controller instance, clear DCD bindings, and return the DCD to UX_UNUSED (idempotent if already unused).
- Registers the new uninitialize source in CMakeLists.txt.
- Updates simulator headers to export ux_dcd_sim_slave_uninitialize (and ux_hcd_sim_host_uninitialize) and does minor whitespace/style cleanup in the simulator header blocks.
…d_nullptr_check

Added a check for NULL packet before using the pointer
When compiling with UX_ENABLE_DEBUG_LOG the call to
_ux_utility_memory_allocate requires the system mutex.
…eate_mutex_before_memory_allocation

Modified logic to create mutex before calling _ux_utility_memory_allocate
Added uninitialize API to the DCD Simulator Controller Driver
@github-actions
Copy link

github-actions bot commented Feb 24, 2026

Test Results

3 043 tests   3 043 ✔️  33m 56s ⏱️
     17 suites         0 💤
     17 files           0

Results for commit 7f08721.

♻️ This comment has been updated with latest results.

@ayedm1 ayedm1 force-pushed the add_set_get_host_hid_api branch 2 times, most recently from 0f90e31 to b024452 Compare February 24, 2026 22:31
ayedm1 and others added 4 commits February 26, 2026 12:38
…meration

Fixed Linux enumeration for device RNDIS
…d_eject_media

Added START STOP (load/eject) request support to Device MSC
…al_defines

Improved code to leverage the ux internal macros instead of using direct tx struct fields
@ayedm1 ayedm1 force-pushed the add_set_get_host_hid_api branch 2 times, most recently from 6ea0ac4 to ea1f53c Compare March 4, 2026 00:00
@github-actions
Copy link

github-actions bot commented Mar 4, 2026

Code Coverage

Package Line Rate Branch Rate Health
core.src 96% 92%
usbx_device_classes.src 96% 89%
usbx_host_classes.src 96% 92%
Summary 96% (7669 / 7973) 92% (3407 / 3717)

@ayedm1 ayedm1 force-pushed the add_set_get_host_hid_api branch from ea1f53c to 9032773 Compare March 4, 2026 11:53
… set/get protocol

This pull request adds host HID API functions to get and set the HID protocol (boot vs report mode) and introduces an optional callback for the device side when the protocol changes.

- Added new host-side APIs ux_host_class_hid_protocol_set() and ux_host_class_hid_protocol_get() with error checking wrappers.
- Added device-side optional callback ux_device_class_hid_set_protocol_callback that is invoked when the protocol changes
- Added comprehensive test to verify the new protocol callback functionality
@ayedm1 ayedm1 force-pushed the add_set_get_host_hid_api branch from 9032773 to 63a0d44 Compare March 4, 2026 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants