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
Added support for more of the simulation devices supported by WPILib. Also fixed issue with resetting the brain of the robot every time a PWM Output Group was created so it's now possible to have more than one output group.
The aim of this PR is to add support for the most important items in the Hardware Messages section of the WPILib Hardware WS API docs. This does not include CAN motor support, which is being handled in #1050. All planned devices are listed in Objectives and are what I deem to be most important and worthwhile right now, but these could be subject to change and the list is open to suggestions.
Note
It's worth noting that controls are managed entirely by the HALSim GUI. The available USB devices are assigned to ports through the GUI, which are then read and fed to the robot code. The robot code sets motor outputs depending on the controller input, and the motor values are what's actually sent to fission.
Objectives
Testing Done
Important
In order for a controller to be appropriately mapped in the Sim GUI, you must enable the checkbox called "Map gamepad" in the Joystick menu. However, this does not appear when running the application on MacOS.
When unchecked, the joystick axes may not be accurate (e.g. the right joystick and L/R trigger axes may be swapped).
JIRA Issue