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

Added 3d Connextion Space Navigator Mouse #16

Open
wants to merge 65 commits into
base: master
Choose a base branch
from
Open

Added 3d Connextion Space Navigator Mouse #16

wants to merge 65 commits into from

Conversation

mjs513
Copy link

@mjs513 mjs513 commented May 16, 2019

No description provided.

KurtE and others added 30 commits January 20, 2018 16:38
WIP - So far i am getting the basic values for 1 XBox 360 controller.  The device should handle up to 4 devices, but so far hard coded to only handle 1...
Decided to have a joystick only test that has 4 joystick objects, to test XBox 360 wireless controller
Changed from claim at device level to interface level.  such that the Microsoft Wireless controller can support multiple joysticks...

Tested with one joystick as I only have 1 (I think)...
I accidentally created a local version of a member variable...
WIP - I captured the USB packet information for the startup of a Bluetooth adapter.  I am now in the process of understanding the data that is being sent back and forth and have the device now partially configured.

Nothing works yet!
Code is still WIP, needs lots of reorg and fix up and lots more to figure out.

But started working toward the Bluetooth HID devices and have the messages going back and forth from my BT dongle to a small BT keyboard.
It is finally showing keys being pressed and the like.

Code needs lots of work.  Like does pairing everytime, need to make that optional.

Also need to figure out where to split off the HID stuff from Root BT stuff.  ...

Plus it mainly prints lots of debug information.
With this update, I can now talk to the keyboard without having to repair each time.

Still WIP
Again still WIP - but now have the Bluetooth object talking through a keyboard object...
Still working on PS4
Hopefully not everything screwed up... :D
Updated wiht my ps4 BT changes
PS4 starting to work, Still some rumble issues.

Also some WIP parts for caching remote name

Some of these changes also came from @mjs513
There are some of the BT dongles that have a device type of 0xff instead of the correct one, so added table of VID:PID to check against, currently only one in list.  If it is this pair the Bluetooth system will claim it.
I put in hopefully the start of Bluetooth Mouse.

However the one mouse I have is not even trying to talk to the dongle, so not have not seen any data to verify that it is correct and to see the actual data returned...
At least with the Tecknet mouse...

There are issues with binding when already trusted... Need to debug, also likewise if it times out and tries to restore the connection, but at least the beginning is getting some values
Was issues not detecting that ISR bind was asked for, also not special casing when we are doing a bind to know which message to send next....
Hopefully did not break other things...

Find that the PS4 requires you to ask to connect versus some/most other devices will do the request...

Also found issue without printing, where adding a delay(1) in a couple of places appears to help when Serial1 printing is not on
Updated Joystick, examples and added sixaxis code
I have some PS3 support working... Hope I did not break PS4.... ;)

Also This assumes that you did a bind of the dongle to PS3 external, no support yet, I did this on RPI3...

Rumble needs work!
mjs513 and others added 26 commits March 7, 2019 09:08
Wip2 bluetooth update for xbox
Trying out using the extended Inquiry data search instead of the real simple one.  This allows us to hopefully get the name of the device as part of this, which now allows the PS4 to know it is a PS4 on the Pair type constructor.

Still WIP to understand XBox one...
BT - Try extended information on bind query
Updated with additonal axis page
…t extended

Looks like some devices when ask for extended inquriy results instead might return results with RSSI... So needed to process those as well
Update  to the Joystick examples
Fixed the order of bytes output when we show a bluetooth address.

Also moved the updated JoystickBT example up one level, such that the new version overwrote the previous version...

Did quick test with PS3...
Turn off the debug support, so if pulled in to Master other users can use it without needing to setup Serial1
Turn off Debug (Serial1 and Bluetooth)
Did some quick edits, to try this out on my T4. beta

Decided maybe needed top header to mention this currently requires SPIN, ILI9341_t3n libraries, Also thought I would mention which pins, which I made different for T3.6 versis T4.

Also removed the ili9341_due_config.h file as nothing in it was used.

And added a message to the screen saying it was waiting for Joystick object.
Thanks mostly to Mike (@mjs513) - a WIP to support some of the digitizer tablets that are not properly supported by Mouse.

Like Wacom Intous...
Add example app showing Mouse, Tablet, Joystick... Data on an ILI9341 display
Added support for the Sony Playstation Move navigation controller,
and maybe it's alternative one...
@KurtE
Copy link
Owner

KurtE commented May 19, 2019

Hi @mjs513 -

The current branch with Bluetooth stuff is the same as your working branch here:
WIP2-Bluetooth

This PR is trying to merge all of this back into Master, with about 60 commits. Hopefully
@PaulStoffregen will pick up the PR: PaulStoffregen#28

I think I extracted your changes to support the SpaceNavigator and did push the changes into my version of WIP2-Bluetooth. You might give it a try to see if I got everything.

Which would finally get all of this back into master branch, where we can all sync back up and start
some more surgery on the bluetooth stuff. Would like to have more control over when we try to do pairing and also support multiple objects connected to Bluetooth at the same time.

@KurtE
Copy link
Owner

KurtE commented Jun 14, 2020

@mjs513 - I am thinking about starting to try playing around with the Bluetooth support again for the USBHost, in particular trying to

a) Remember what the heck we had working or not
b) What parts of it can we can we maybe get integrated back into the master branch.

In particular would like to get the simple multiple devices integrated, like a mouse and keyboard.
But would also like to maybe get two joysticks to work. In particular maybe the Playstation Motion and the Playstation Navigator... Or some such names.

I see I have two outstanding Pull Requests here that are pretty stale (like this one) which I think was an attempt back then to merge our current stuff into the master branch?

OK to kill these now and then maybe create a new one?

Also not sure of best way?

I may try to attempts.
a) Make a new branch based off of master and copy current stuff in...
b) See if: git rebase origin/master will work...

Thoughts?

@mjs513
Copy link
Author

mjs513 commented Jun 14, 2020

@KurtE - been so long since I played with this not sure where we left off. Think the last thing we did was add in the support for Connections Space Navigator Mouse.

See it even has conflicts now. Went over to Paul's repository but did see where we ever issued a PR back to him to update.

Think you approach, to rebaseline might be the best looks like the last PR he pulled in was back in June 2019 where we added in the PS3 Motion and digitizer? "Some Mice, Keyboards, Joysticks (PS3, PS4, PS3 Motion, a digitizer."

@KurtE
Copy link
Owner

KurtE commented Jun 14, 2020 via email

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.

2 participants