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

feat(hid-rp): Update Gamepad Implementation #173

Merged
merged 4 commits into from
Mar 8, 2024
Merged

Conversation

finger563
Copy link
Contributor

@finger563 finger563 commented Mar 8, 2024

Description

  • Update Gamepad implementation to have cleaner / easier to read report descriptor
  • Update gamepad implementation to remove application collection, so that it can be used alongside other reports
  • Added GamepadLedOutputReport as an example output report for handling Gamepad LEDs
  • Updated hid-rp and hid-service exmaple to use new interfaces and class names for gamepad (input and leds) and to shwo use of combining multiple reports together into an application collection
  • Minor updates to configuration for gamepad input report examples to work on both iOS and Android (ensuring the size of the report matches the expected size from the descriptor - no extra padding bytes at the end)
  • Add includes for battery_system, consumer, generic_device, leds, and physical_input_device so they are more easily accessible to other code
  • Update logging of example to make it clearer what is happening and make it easier to debug / validate.

Motivation and Context

  • Improves quality and accuracy of example gamepad implementations
  • Shows example for output report
  • Shows example for combining input and output reports into an application
  • Improves compatibility across platforms (iOS and Android)

How has this been tested?

  • Building and running the hid-rp example on QtPy ESP32S3
  • Building and running the hid_service example on QtPy ESP32S3 and pairing / connecting it to iOS and Android.

Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):

HID-RP Example:

CleanShot 2024-03-08 at 10 41 32

HID Service Example:

iOS:

hid_service_ios_compressed.mp4

Android:

hid_service_android_compressed.mp4

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update
  • Hardware (schematic, board, system design) change
  • Software change

Checklist:

  • My change requires a change to the documentation.
  • I have added / updated the documentation related to this change via either README or WIKI

Software

  • I have added tests to cover my changes.
  • I have updated the .github/workflows/build.yml file to add my new test to the automated cloud build github action.
  • All new and existing tests passed.
  • My code follows the code style of this project.

* Update Gamepad implementation to have cleaner / easier to read report descriptor
* Update gamepad implementation to remove application collection, so that it can be used alongside other reports
* Added GamepadLedOutputReport as an example output report for handling Gamepad LEDs
* Updated hid-rp and hid-service exmaple to use new interfaces and class names for gamepad (input and leds) and to shwo use of combining multiple reports together into an application collection
* Minor updates to configuration for gamepad input report examples to work on both iOS and Android (ensuring the size of the report matches the expected size from the descriptor - no extra padding bytes at the end)
* Add includes for battery_system, consumer, generic_device, leds, and physical_input_device so they are more easily accessible to other code
* Update logging of example to make it clearer what is happening and make it easier to debug / validate.
@finger563 finger563 self-assigned this Mar 8, 2024
Copy link

github-actions bot commented Mar 8, 2024

✅Static analysis result - no issues found! ✅

@finger563 finger563 merged commit c6cafff into main Mar 8, 2024
21 checks passed
@finger563 finger563 deleted the feature/hid-rp-update branch March 8, 2024 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant