Open DoctorU opened 1 year ago
I think I've found my starting point: I'm currently scraping through the 9250.ino file to work out the request/response control commands.
I suspect you need to check out the wiki ;)
The HID interface is purely for the joystick output that EDTracker provides, that represents the 3 axes as joystick inputs. This was a key design decision because we didn't want to force anyone to have to use specific drivers, additional software or protocol... if your game supported joystick "head look", you were sorted. If you wanted TrackIR or Freetrack output, there were already people playing in that space (e.g. Opentrack); let that be their problem, not ours ;) !
So yes, all the calibration stuff is just done down a serial port to the device as per the link above.
Doh! That's exactly what I was recreating! π€£
Although there's interesting differences in code between 6050 and 9x50 ino files.
Also a duplicate command == 'H'
condition clause in the 6050 file π
Oh so there is π ! Well, we've got to slow down those 6050 devices to force people to upgrade somehow π !
Hi @brumster,
I've been thinking about re-writing the GUI in a cross-platform way. Some time ago, I think I suggested decompiling the GUI, but that was beyond my abilities! Instead, I'm proposing a fresh rewrite.
I'm using electronjs and associated libraries, mainly because I have more experience of web and javascript rather than desktop. Once I make some progress, I'll push things into a github repo for your perusal.
I'v started by reading the joystick data (node has off-the-shelf libraries for HID) and displaying these in the GUI - it's fairly functional (i.e., not very pretty) at the moment.
The challenge I'm having is the calibration side of things. I've been glancing over the Android source code to understand how that part of the process works. My question is: could you offer any pointers on how that works? Either anecdotally, or regarding communication protocols? (is it all just over USB? or is there a special serial connection made to push data? ) The EDTracker appears as both a "Pointer" and a "Joystick" to Linux hidapi libraries. I was wondering if the "Pointer" was the writable section?
Also, the HID information maps the device to a standard device - I haven't attempted to connect to this in "write" mode yet.
Lots of thoughts at the moment; and only a little practical progress...