Hardware testing with Orbotron 9000

SpaceOrb motion sensor technology is the name of the game...
Post Reply
Tehrasha
Posts: 26
Joined: May 19 2013, 19:37 PM
Location: Midwest, USA
Contact:

Hardware testing with Orbotron 9000

Post by Tehrasha » June 23 2013, 21:11 PM

Initial quick and dirty testing with the Orbotron 9000 with various types of serial spacemice.

Using the BasicJoystick script... w/SpaceOrb360
SpaceOrb360 -- Works perfectly
SpaceController -- Does not initiallize properly.


Using the BasicJoystick script... w/SpaceBall4000 (Spaceball Hardware)
Spaceball 2003c -- Joystick functions all work, but none of the buttons map.
Spaceball 3003c -- Same as 2003c.
Spaceball 4000 -- Works perfectly, all joystick and button functions.


Using the BasicJoystick script... w/SpaceBall5000 (Magellan Hardware)
Spaceball 5000 -- Everything works, though buttons A,B,C map the same as 1,2,3
Spacemouse Classic -- Buttons work, but no joystick data. (tried 3 diff mice)
CyberPuck -- Nothing works, but not surprising as it is essentially a Classic without buttons.
Spacemouse Plus -- Everything works, though side buttons A,B map the same as buttons 6,7.
Spacemouse PlusXT -- Same as above, lighted buttons do not illuminate.

How hard would it be to script something that will initialize the mouse, then dump all the raw serial data to the SerialMonitor?
Should not be that difficult to get all the button mappings fixed, plus see whats going on with the other devices.
Spacemice -- Input Devices for a 3D World

vputz
Posts: 339
Joined: March 25 2006, 20:21 PM
Contact:

Re: Hardware testing with Orbotron 9000

Post by vputz » June 27 2013, 5:49 AM

So easy it's already done ;). Check the "orbserial" sketch in the examples... Serial goes to the computer, serial1 goes to the orb. That would get you started... More later but on the road in airport!

Nice work, though, and thanks!

Tehrasha
Posts: 26
Joined: May 19 2013, 19:37 PM
Location: Midwest, USA
Contact:

Re: Hardware testing with Orbotron 9000

Post by Tehrasha » July 03 2013, 5:13 AM

Awesome! Used the orbserial sketch and found... strange results.

When I tested my Spaceball 5000 using the basicJoystick, I saw issues with with buttons A,B,C mapping the same as Buttons 1,2,3
Even though the serial data has a completely different byte of the button packet changing...
(sorry, converted the values to HEX so my brain wouldnt explode trying to figure out which bits were changing. :) )

Button 1 -- 6b 41 30 30 0d
Button A -- 6b 30 30 42 0d

Button 2 -- 6b 42 30 30 0d
Button B -- 6b 30 30 44 0d

Button 3 -- 6b 44 30 30 0d
Button C -- 6b 30 30 48 0d


Even stranger, were the results from my Spacemouse Plus where the buttons A,B (left and right) were mapping the same as button 6,7.
According to the Orbotron, they actually do! But the proprietary xDriver from 3dConnexion in debug mode says otherwise....

Button 6 -- 6b 30 42 30 0d
Button A -- 6b 30 42 30 0d
xDriver A -- 6b 30 30 42 0d

Button 7 -- 6b 30 44 30 0d
Button B -- 6b 30 44 30 0d
xDriver B -- 6b 30 30 44 0d

I suspect that both issues are related, but I dont know enough about sketch language to dissect it.
(though I suspect its in the orbotron_buffer.h)

Working on the Spaceball 2003/3003 buttons now.

(odd side note:: the 'Leftie switch' on the 5000 generates a key-press packet, but no value change.)
Last edited by Tehrasha on July 03 2013, 6:11 AM, edited 1 time in total.
Spacemice -- Input Devices for a 3D World

Tehrasha
Posts: 26
Joined: May 19 2013, 19:37 PM
Location: Midwest, USA
Contact:

Re: Hardware testing with Orbotron 9000

Post by Tehrasha » July 03 2013, 6:00 AM

Comparing the Spaceball 4000 output to the 2003/3003 output using the orbserial sketch.
Looks like the 4000 uses an 8-byte packet for buttons, while the older mice use only a 4-byte packet.

Code: Select all

                     4000                      2003            3003
Button 1 -- 4B 40 41 0D 2E 40 41 0D        4B 40 41 0D      4B 40 60 0D
Button 2 -- 4B 40 42 0D 2E 40 42 0D        4B 40 42 0D      4B 50 50 0D 
Button 3 -- 4B 40 44 0D 2E 40 44 0D        4B 40 44 0D
Button 4 -- 4B 40 48 0D 2E 40 48 0D        4B 40 48 0D
Button 5 -- 4B 41 40 0D 2E 40 50 0D        4B 41 40 0D
Button 6 -- 4B 42 40 0D 2E 40 60 0D        4B 42 40 0D
Button 7 -- 4B 44 40 0D 2E 40 C0 0D        4B 44 40 0D
Button 8 -- 4B 50 40 0D 2E 41 40 0D        4B 50 40 0D
Button 9 -- 4B 40 40 0D 2E 42 40 0D
Button A -- 4B 40 40 0D 2E 44 40 0D
Button B -- 4B 40 40 0D 2E 48 40 0D
Button C -- 4B 40 40 0D 2E 50 40 0D
Leftie   -- 4B 40 40 0D 2E 60 40 0D
Zeroize  --                                4B 60 40 0D      4B 60 40 0D
Release  -- 4B 40 40 0D 2E 40 40 0D        4B 40 40 0D      4B 40 40 0D
I only included the leftie switch and zeroize buttons for thoroughness.
I cant think of any reason they would be needed external to the device itself.

Thats all I can think to include for now... after 6:am... time for bed. :)
Spacemice -- Input Devices for a 3D World

vputz
Posts: 339
Joined: March 25 2006, 20:21 PM
Contact:

Re: Hardware testing with Orbotron 9000

Post by vputz » July 09 2013, 14:40 PM

You're the king, Teh! Not sure what I can do with that yet but I'll have a think when I get some more free time. AWESOME work!

Tehrasha
Posts: 26
Joined: May 19 2013, 19:37 PM
Location: Midwest, USA
Contact:

Re: Hardware testing with Orbotron 9000

Post by Tehrasha » October 02 2013, 4:19 AM

Finally got my hands on a Spaceball 1003!

Will have to build a custom cable to test it out though. It will also need an external power supply (wall wart).
It's serial port is the wrong gender compared to all other serial spacemice and IIRC it uses a non-standard pinout, so a simple gender swapper will not work.
Spacemice -- Input Devices for a 3D World

Post Reply