* Split joystickd into joystickd and joystick_control
* Update process config
* Undeprecate testJoystick
* Static analysis fixes
* Mark as +x
* Update README
* Add testJoystick back to services
* reset if testJoystick not received
* Fix quotes
* Remove self
* Add a send thread instead
* Add joystick_control into process config
* Add main
* Add additional condition
* Fix imports
* Reapply "joystickd is a real process (#33490)"
This reverts commit c8465e3a21.
* catch this
* reset to 0 when unplugged
* catch this too
* pytest capturing breaks stdin (pytest -s) fixes
* true joystickd
* temp params hack, manager clears all on start
* implement main, assume js
* works
* fix enable
* clean up
* like a real controlsd
* clean up
* fix mypy
* clean up
* update refs
* clean up
* Update joystick mode in step
* Stop putting the body in joystick mode by default
* Toggle JoystickDebugMode by default for notCars in process_replay
* Remove subsection about web joystick
* Update param only in non-cars
* Make joystickDebug non-static event, and add it in a loop
* Add comment
old-commit-hash: e62756596b
* Correct default controller mapping.
Current config maps steering to right trigger (ABS_RZ) when using a default xinput controller: https://inputs.readthedocs.io/en/latest/user/hardwaresupport.html
This results in default full left steering angle (1) requiring right trigger to return to centre (0) or right (-1).
It appears the intended mapping for steering is right thumbstick (ABS_RX).
Cancel button is also non-existent on default xinput controller. May be X button (BTN_NORTH) or Right Trigger (ABS_RZ).
Tested on Xbox One Controller via USB Cable, Logitech F710 and GameSir T4 Pro.
* Update joystickd.py
Fixed comment
* gamepad configuration
* gamepad arg
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
old-commit-hash: 1d8fc4d21c
This MR adds basic gamepad support to the joystick web client.
The mappings appear to be consistent between a few controllers I tried, so I think inverting both axes is the optimal mapping.
old-commit-hash: e84d073233
* some common changes
* rename to joystick
* add alert and update controlsd to work with joystick
* update joystickd
* Update Joystick readme
* assume we have inputs
* only send gb or steer when engaged_toggle is true
* Update instructions
* fix --ip
* Easier to understand at a glance
* much better
* -a
* receive events and send msg in same loop
* always import
* Update selfdrive/controls/lib/events.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Update selfdrive/controls/lib/events.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* combine logic and clean up
* use argparse
* outdated, and use normal class
* rm
* bit of a refactor
* refactor part 2 / 3
* much better (3 / 3)
* Simplify
* bump cereal and update readme
* capitalize
* Update tools/joystick/joystickd.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* Update tools/joystick/joystickd.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* make joystick abstraction class clearer
* use interp, clearer without comments
* no need to use apply_deadzone
* more explicit
* define btns and axes once
* split function by use_keyboard again, but simpler
* we can use handle_button as a reset function
* need to flip sign
* remove
* invert axes map for kb, easier to read the button mapping
* apply changes from review
* new lateral log for debug mode
* bump
* add saturated
* static alert
* joystick_mode
* conditionally subscribe
* Update selfdrive/controls/controlsd.py
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* move params instantiation
* Spoof active and enabled
* Only allow car to engage
* no startup alert if joystick
* Update controlsd.py
* Should be orange not enabled, green enabled
* no more button states
* should work
* blue
* submaster conflates, so only send when we have an update
* final change
* remove msg
* clean up a bit
sort of clean up
clean up a bit
remove msg
* this was right
* Apply suggestions from code review
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* lowercase
* suggestions from code review
* forgot laptop
* bump to latest
* fixes
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: vanillagorillaa <31773928+vanillagorillaa@users.noreply.github.com>
old-commit-hash: ae77f693a2