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

Improvements on the joystick pipeline #452

Merged
merged 26 commits into from
Sep 7, 2023

Conversation

rafaellehmkuhl
Copy link
Member

@rafaellehmkuhl rafaellehmkuhl commented Aug 24, 2023

Pull request for tracking the improvements on the joystick that are being worked on right now.

The 3 main goals are:

  • Support mapping any vehicle function to any joystick button
  • Support modifier button on the joystick (shift button + button) Won't be done for now
  • Support both ROV and BOAT control methods transparently (maybe by modifying the ROV firmware and just use the regular/boat way for any vehicle?) Won't be done for now

The extra goal is to improve the current codebase, which has some messy and difficult-to-understand parts.

Fix #263
Fix #455
Fix #457
Fix #454

@rafaellehmkuhl rafaellehmkuhl force-pushed the joystick-works branch 3 times, most recently from 161600b to 6a398a2 Compare August 25, 2023 17:26
@rafaellehmkuhl rafaellehmkuhl force-pushed the joystick-works branch 2 times, most recently from 7437c30 to df1507a Compare September 4, 2023 19:08
This way they are more generic, better considering joystick with not-so-traditional layouts.
Make it more in sync with the name for the axis variable.
…ocol function

Allow two buttons to activate the same function, if the user wants that.
They are used as base interfaces for inheritance.
…hicle

This is definitely not on the correct place as it's ArduPilot specific. It should be moved together with the moving of the ardupilot-parameters related code that is on the main vehicle store, through an abstraction.
… on the vehicle

When the function is not mapped, try to map it.
@rafaellehmkuhl rafaellehmkuhl marked this pull request as ready for review September 5, 2023 14:52
@rafaellehmkuhl rafaellehmkuhl changed the title [WIP] Improvements on the joystick pipeline Improvements on the joystick pipeline Sep 5, 2023
If one of them is undefined, it's not a real protocol input.
Nulled inputs are not undefined (not-defined), but null (defined as null).

Also, `null` is not removed from arrays in JSON parsing, so it will not break local storage, for example.
… availableInputs array

With this, all available inputs are created on the internal library, instead of the view component.
@patrickelectric patrickelectric merged commit 12ac6d8 into bluerobotics:master Sep 7, 2023
@ES-Alexander ES-Alexander added the docs-needed Change needs to be documented label Sep 7, 2023
@rafaellehmkuhl rafaellehmkuhl deleted the joystick-works branch September 18, 2023 21:34
ES-Alexander added a commit to bluerobotics/ardusub-zola that referenced this pull request Dec 13, 2023
ES-Alexander added a commit to bluerobotics/ardusub-zola that referenced this pull request Dec 13, 2023
ES-Alexander added a commit to bluerobotics/ardusub-zola that referenced this pull request Dec 13, 2023
@ES-Alexander ES-Alexander added docs-complete Change documentation has been completed and removed docs-needed Change needs to be documented labels Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs-complete Change documentation has been completed
Projects
None yet
3 participants